Module: xenomai-forge Branch: next Commit: d928926f5c505d012b7b8f7895896194a50a002d URL: http://git.xenomai.org/?p=xenomai-forge.git;a=commit;h=d928926f5c505d012b7b8f7895896194a50a002d
Author: Philippe Gerum <r...@xenomai.org> Date: Tue Jun 25 17:13:52 2013 +0200 cobalt: introduce uapi headers Following the uapi introduction in recent kernels, this jumbo patch splits the former Xenomai POSIX headers into kernel and userland counterparts, privatizing the former into the kernel section when applicable. This change is aimed at centralizing the shared API types and definitions used in system calls, making it easier to track changes to the APIs that the kernel presents to user space, and solving inclusion dependency issues the right way. Headers defining the API bits shared between the Cobalt kernel and the support libraries in userland are available from include/cobalt/uapi, organized as follows: - uapi/*.h => Cobalt/POSIX interface bits - uapi/rtdm => RTDM bits - uapi/sys/*.h => Low-level Cobalt kernel bits As a consequence of this split, files below include/cobalt/kernel become kernel-only headers, and POSIX headers in include/cobalt are exclusively reserved for inclusion in user-space builds. As an added benefit, this change significantly reduces the number of headers to be installed for building Xenomai applications. --- configure | 5 +- configure.in | 3 + include/cobalt/Makefile.am | 31 +- include/cobalt/Makefile.in | 29 +- include/cobalt/asm-generic/Makefile.am | 3 +- include/cobalt/asm-generic/Makefile.in | 9 +- include/cobalt/asm-generic/sem_heap.h | 10 - include/cobalt/asm-generic/seqlock.h | 75 +++ include/cobalt/core.h | 4 +- include/cobalt/fcntl.h | 33 +- include/cobalt/kernel/Makefile.am | 67 +- include/cobalt/kernel/Makefile.in | 141 ++--- include/cobalt/kernel/assert.h | 3 +- include/cobalt/kernel/bufd.h | 2 +- include/cobalt/kernel/clock.h | 4 - include/cobalt/kernel/heap.h | 27 +- include/cobalt/kernel/hostrt.h | 44 -- include/cobalt/kernel/intr.h | 13 +- include/cobalt/kernel/map.h | 2 +- include/cobalt/kernel/pipe.h | 14 +- include/cobalt/kernel/pod.h | 128 ++-- include/cobalt/kernel/registry.h | 22 +- include/cobalt/kernel/sched-idle.h | 4 - include/cobalt/kernel/sched-rt.h | 4 - include/cobalt/kernel/sched.h | 15 +- include/cobalt/kernel/seqlock.h | 57 -- include/cobalt/kernel/stat.h | 1 - include/cobalt/kernel/synch.h | 52 +-- include/cobalt/kernel/thread.h | 133 +---- include/cobalt/kernel/timer.h | 14 +- include/cobalt/kernel/trace.h | 73 +-- include/cobalt/kernel/types.h | 97 +--- include/cobalt/kernel/vdso.h | 46 +- include/cobalt/kernel/vfile.h | 1 - include/cobalt/mqueue.h | 56 +-- include/cobalt/pthread.h | 235 +------ include/cobalt/sched.h | 96 +--- include/cobalt/semaphore.h | 68 +-- include/cobalt/signal.h | 119 +--- include/cobalt/stdio.h | 29 +- include/cobalt/stdlib.h | 33 +- include/cobalt/sys/Makefile.am | 8 +- include/cobalt/sys/Makefile.in | 6 +- include/cobalt/sys/ioctl.h | 26 +- include/cobalt/sys/select.h | 32 +- include/cobalt/sys/socket.h | 32 +- include/cobalt/sys/time.h | 25 +- include/cobalt/syslog.h | 24 +- include/cobalt/time.h | 63 +-- include/cobalt/trace.h | 45 ++ include/cobalt/uapi/Makefile.am | 15 + include/cobalt/uapi/Makefile.in | 695 ++++++++++++++++++++ include/cobalt/uapi/cond.h | 42 ++ include/cobalt/uapi/event.h | 50 ++ include/cobalt/uapi/monitor.h | 49 ++ include/cobalt/uapi/mutex.h | 46 ++ include/cobalt/uapi/rtdm/Makefile.am | 2 + include/cobalt/uapi/rtdm/Makefile.in | 502 ++++++++++++++ include/{ => cobalt/uapi}/rtdm/syscall.h | 24 +- include/cobalt/uapi/sched.h | 78 +++ include/cobalt/uapi/sem.h | 42 ++ include/cobalt/uapi/signal.h | 38 ++ include/cobalt/uapi/sys/Makefile.am | 9 + include/cobalt/uapi/sys/Makefile.in | 563 ++++++++++++++++ include/cobalt/uapi/sys/heap.h | 36 + include/cobalt/uapi/sys/synch.h | 73 ++ include/cobalt/uapi/sys/thread.h | 131 ++++ include/cobalt/uapi/sys/trace.h | 30 + include/cobalt/uapi/sys/types.h | 41 ++ include/cobalt/uapi/sys/vdso.h | 58 ++ include/cobalt/{ => uapi}/syscall.h | 37 +- include/cobalt/uapi/thread.h | 51 ++ include/cobalt/uapi/time.h | 32 + include/cobalt/unistd.h | 30 +- include/cobalt/wrappers.h | 5 +- include/copperplate/eventobj.h | 2 +- include/copperplate/syncobj.h | 2 + include/copperplate/threadobj.h | 2 + include/rtdm/Makefile.am | 3 - include/rtdm/Makefile.in | 9 +- include/rtdm/rtdm_driver.h | 4 +- include/rtdm/rtipc.h | 2 +- kernel/cobalt/Makefile | 2 +- kernel/cobalt/bufd.c | 4 +- kernel/cobalt/lock.c | 1 + kernel/cobalt/pipe.c | 2 +- kernel/cobalt/pod.c | 41 +- kernel/cobalt/posix/Makefile | 4 +- kernel/cobalt/posix/clock.c | 3 +- kernel/cobalt/posix/clock.h | 28 +- kernel/cobalt/posix/cond.c | 28 + kernel/cobalt/posix/cond.h | 66 +-- kernel/cobalt/posix/cond_attr.c | 1 + kernel/cobalt/posix/event.h | 19 +- kernel/cobalt/posix/init.c | 2 +- kernel/cobalt/posix/internal.h | 27 +- kernel/cobalt/posix/monitor.h | 24 +- kernel/cobalt/posix/{mq.c => mqueue.c} | 14 +- kernel/cobalt/posix/{mq.h => mqueue.h} | 14 +- kernel/cobalt/posix/mutex.c | 59 ++- kernel/cobalt/posix/mutex.h | 127 +---- kernel/cobalt/posix/mutex_attr.c | 1 + kernel/cobalt/posix/registry.h | 23 +- kernel/cobalt/posix/sem.c | 2 +- kernel/cobalt/posix/sem.h | 31 +- kernel/cobalt/posix/syscall.c | 7 +- kernel/cobalt/posix/thread.c | 21 +- kernel/cobalt/posix/thread.h | 79 ++- kernel/cobalt/posix/timer.c | 2 - kernel/cobalt/posix/timer.h | 9 +- kernel/cobalt/rtdm/core.c | 3 +- kernel/cobalt/rtdm/init.c | 2 +- kernel/cobalt/rtdm/syscall.c | 3 +- {include => kernel/cobalt}/rtdm/syscall.h | 18 +- kernel/cobalt/sched.c | 2 +- kernel/cobalt/shadow.c | 8 +- kernel/cobalt/thread.c | 2 +- kernel/cobalt/timer.c | 1 + lib/cobalt/Makefile.am | 2 + lib/cobalt/Makefile.in | 12 +- lib/cobalt/assert_context.c | 6 +- lib/cobalt/attr.c | 2 + lib/cobalt/clock.c | 11 +- lib/cobalt/cond.c | 15 +- lib/cobalt/current.c | 10 +- .../cobalt/asm-generic => lib/cobalt}/current.h | 8 +- lib/cobalt/init.c | 14 +- lib/cobalt/internal.c | 15 +- lib/cobalt/internal.h | 31 +- lib/cobalt/mq.c | 3 +- lib/cobalt/mutex.c | 10 +- lib/cobalt/printf.c | 20 +- lib/cobalt/rtdm.c | 3 +- lib/cobalt/select.c | 3 +- lib/cobalt/sem_heap.c | 25 +- lib/cobalt/sem_heap.h | 14 +- lib/cobalt/semaphore.c | 5 +- lib/cobalt/sigshadow.c | 18 + lib/cobalt/sysdeps/arm/features.c | 1 + lib/cobalt/thread.c | 5 +- lib/cobalt/timer.c | 4 +- lib/cobalt/trace.c | 62 ++ lib/copperplate/internal.c | 1 + lib/copperplate/regd/fs-cobalt.c | 5 +- lib/copperplate/registry.c | 3 +- scripts/prepare-kernel.sh | 18 +- testsuite/clocktest/clocktest.c | 25 +- testsuite/cyclic/cyclictest.c | 2 +- testsuite/latency/latency.c | 2 + testsuite/regression/posix/leaks.c | 4 +- testsuite/switchtest/switchtest.c | 2 +- testsuite/unit/Makefile.am | 1 + testsuite/unit/Makefile.in | 1 + testsuite/unit/check-vdso.c | 14 +- testsuite/unit/cond-torture.c | 16 +- testsuite/unit/mutex-torture.c | 4 +- 156 files changed, 3838 insertions(+), 2005 deletions(-) Diff: http://git.xenomai.org/?p=xenomai-forge.git;a=commitdiff;h=d928926f5c505d012b7b8f7895896194a50a002d _______________________________________________ Xenomai-git mailing list Xenomai-git@xenomai.org http://www.xenomai.org/mailman/listinfo/xenomai-git