From owner-svn-src-head@freebsd.org Wed Aug 5 13:09:48 2015 Return-Path: Delivered-To: svn-src-head@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 8A3349B44B7; Wed, 5 Aug 2015 13:09:48 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 6DBC5F4B; Wed, 5 Aug 2015 13:09:48 +0000 (UTC) (envelope-from ed@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.70]) by repo.freebsd.org (8.14.9/8.14.9) with ESMTP id t75D9mZ6025555; Wed, 5 Aug 2015 13:09:48 GMT (envelope-from ed@FreeBSD.org) Received: (from ed@localhost) by repo.freebsd.org (8.14.9/8.14.9/Submit) id t75D9lhi025549; Wed, 5 Aug 2015 13:09:47 GMT (envelope-from ed@FreeBSD.org) Message-Id: <201508051309.t75D9lhi025549@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: ed set sender to ed@FreeBSD.org using -f From: Ed Schouten Date: Wed, 5 Aug 2015 13:09:47 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r286318 - in head/sys: compat/cloudabi64 contrib/cloudabi X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 05 Aug 2015 13:09:48 -0000 Author: ed Date: Wed Aug 5 13:09:46 2015 New Revision: 286318 URL: https://svnweb.freebsd.org/changeset/base/286318 Log: Import the latest CloudABI system call definitions and table. We're going to need these for next code I'm going to send out for review: support for poll() and kqueue() on CloudABI. Modified: head/sys/compat/cloudabi64/cloudabi64_poll.c head/sys/compat/cloudabi64/syscalls.master head/sys/contrib/cloudabi/syscalldefs_md.h head/sys/contrib/cloudabi/syscalldefs_mi.h Modified: head/sys/compat/cloudabi64/cloudabi64_poll.c ============================================================================== --- head/sys/compat/cloudabi64/cloudabi64_poll.c Wed Aug 5 12:53:55 2015 (r286317) +++ head/sys/compat/cloudabi64/cloudabi64_poll.c Wed Aug 5 13:09:46 2015 (r286318) @@ -36,3 +36,12 @@ cloudabi64_sys_poll(struct thread *td, s /* Not implemented. */ return (ENOSYS); } + +int +cloudabi64_sys_poll_fd(struct thread *td, + struct cloudabi64_sys_poll_fd_args *uap) +{ + + /* Not implemented. */ + return (ENOSYS); +} Modified: head/sys/compat/cloudabi64/syscalls.master ============================================================================== --- head/sys/compat/cloudabi64/syscalls.master Wed Aug 5 12:53:55 2015 (r286317) +++ head/sys/compat/cloudabi64/syscalls.master Wed Aug 5 13:09:46 2015 (r286318) @@ -157,11 +157,9 @@ void * addr, size_t len); } 39 AUE_NULL STD { cloudabi64_size_t cloudabi64_sys_poll( \ - cloudabi_fd_t fd, \ const cloudabi64_subscription_t *in, \ - cloudabi64_size_t nin, \ cloudabi64_event_t *out, \ - cloudabi64_size_t nout); } + cloudabi64_size_t nevents); } 40 AUE_NULL STD { void cloudabi_sys_proc_exec( \ cloudabi_fd_t fd, const void *data, \ @@ -212,3 +210,11 @@ cloudabi_mflags_t scope); } 55 AUE_NULL STD { void cloudabi_sys_thread_tcb_set(void *tcb); } 56 AUE_NULL STD { void cloudabi_sys_thread_yield(); } + +57 AUE_NULL STD { cloudabi64_size_t cloudabi64_sys_poll_fd( \ + cloudabi_fd_t fd, \ + const cloudabi64_subscription_t *in, \ + cloudabi64_size_t nin, \ + cloudabi64_event_t *out, \ + cloudabi64_size_t nout, \ + const cloudabi64_subscription_t *timeout); } Modified: head/sys/contrib/cloudabi/syscalldefs_md.h ============================================================================== --- head/sys/contrib/cloudabi/syscalldefs_md.h Wed Aug 5 12:53:55 2015 (r286317) +++ head/sys/contrib/cloudabi/syscalldefs_md.h Wed Aug 5 13:09:46 2015 (r286318) @@ -186,6 +186,7 @@ typedef struct { MEMBER(cloudabi_clockid_t) clock_id; MEMBER(cloudabi_timestamp_t) timeout; MEMBER(cloudabi_timestamp_t) precision; + MEMBER(uint16_t) flags; } clock; // CLOUDABI_EVENTTYPE_CONDVAR: Release a lock and wait on a @@ -202,6 +203,7 @@ typedef struct { // called without blocking. struct { MEMBER(cloudabi_fd_t) fd; + MEMBER(uint16_t) flags; } fd_readwrite; // CLOUDABI_EVENT_LOCK_RDLOCK and CLOUDABI_EVENT_LOCK_WRLOCK: Wait @@ -224,15 +226,17 @@ ASSERT_OFFSET(subscription_t, clock.iden ASSERT_OFFSET(subscription_t, clock.clock_id, 24, 24); ASSERT_OFFSET(subscription_t, clock.timeout, 32, 32); ASSERT_OFFSET(subscription_t, clock.precision, 40, 40); +ASSERT_OFFSET(subscription_t, clock.flags, 48, 48); ASSERT_OFFSET(subscription_t, condvar.condvar, 16, 16); ASSERT_OFFSET(subscription_t, condvar.lock, 20, 24); ASSERT_OFFSET(subscription_t, condvar.condvar_scope, 24, 32); ASSERT_OFFSET(subscription_t, condvar.lock_scope, 25, 33); ASSERT_OFFSET(subscription_t, fd_readwrite.fd, 16, 16); +ASSERT_OFFSET(subscription_t, fd_readwrite.flags, 20, 20); ASSERT_OFFSET(subscription_t, lock.lock, 16, 16); ASSERT_OFFSET(subscription_t, lock.lock_scope, 20, 24); ASSERT_OFFSET(subscription_t, proc_terminate.fd, 16, 16); -ASSERT_SIZE(subscription_t, 48, 48); +ASSERT_SIZE(subscription_t, 56, 56); typedef struct { MEMBER(PTR(IDENT(threadentry_t))) entry_point; // Entry point. Modified: head/sys/contrib/cloudabi/syscalldefs_mi.h ============================================================================== --- head/sys/contrib/cloudabi/syscalldefs_mi.h Wed Aug 5 12:53:55 2015 (r286317) +++ head/sys/contrib/cloudabi/syscalldefs_mi.h Wed Aug 5 13:09:46 2015 (r286318) @@ -204,9 +204,6 @@ #define CLOUDABI_O_EXCL 0x4 #define CLOUDABI_O_TRUNC 0x8 -// File descriptor passed to poll() to poll just once. -#define CLOUDABI_POLL_ONCE 0xffffffff - // File descriptor returned to pdfork()'s child process. #define CLOUDABI_PROCESS_CHILD 0xffffffff @@ -326,6 +323,12 @@ #define CLOUDABI_SUBSCRIPTION_ENABLE 0x10 #define CLOUDABI_SUBSCRIPTION_ONESHOT 0x20 +// cloudabi_subscription_t::clock.flags. +#define CLOUDABI_SUBSCRIPTION_CLOCK_ABSTIME 0x1 + +// cloudabi_subscription_t::fd_readwrite.flags. +#define CLOUDABI_SUBSCRIPTION_FD_READWRITE_POLL 0x1 + // unlinkat(). #define CLOUDABI_UNLINK_REMOVEDIR 0x1