zephyr/include
Andrew Boie 13ca6fe284 syscalls: reorganize headers
- syscall.h now contains those APIs needed to support invoking calls
  from user code. Some stuff moved out of main kernel.h.
- syscall_handler.h now contains directives useful for implementing
  system call handler functions. This header is not pulled in by
  kernel.h and is intended to be used by C files implementing kernel
  system calls and driver subsystem APIs.
- syscall_list.h now contains the #defines for system call IDs. This
  list is expected to grow quite large so it is put in its own header.
  This is now an enumerated type instead of defines to make things
  easier as we introduce system calls over the new few months. In the
  fullness of time when we desire to have a fixed userspace/kernel ABI,
  this can always be converted to defines.

Some new code added:

- _SYSCALL_MEMORY() macro added to check memory regions passed up from
  userspace in handler functions
- _syscall_invoke{7...10}() inline functions declare for invoking system
  calls with more than 6 arguments. 10 was chosen as the limit as that
  corresponds to the largest arg list we currently have
  which is for k_thread_create()

Other changes

- auto-generated K_SYSCALL_DECLARE* macros documented
- _k_syscall_table in userspace.c is not a placeholder. There's no
  strong need to generate it and doing so would require the introduction
  of a third build phase.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-09-28 08:56:20 -07:00
..
arch arch: arm: add initial support for CONFIG_USERSPACE 2017-09-26 10:00:53 -07:00
bluetooth Bluetooth: controller: Issue Data Buffer Overflow event 2017-09-13 14:17:32 +02:00
crypto
debug object_tracing: fix definition 2017-08-16 10:59:10 -07:00
dfu DFU: add module for store the image 2017-09-11 11:37:43 -04:00
display
drivers usb: Allow to select configuration for composite devices 2017-09-21 09:00:23 -04:00
dt-bindings i2c: Cleanup dts clock-frequency property usage 2017-08-16 10:03:34 -05:00
fs fs: nffs: Add NFFS filesystem support 2017-09-22 06:54:48 -04:00
linker kernel: introduce object validation mechanism 2017-09-07 16:33:33 -07:00
logging
misc cleanup: remove obsolete nano_work.h 2017-09-11 19:24:12 -04:00
net net: pkt: Allow inserting NULL data 2017-09-28 12:42:25 +03:00
shell
toolchain xcc: fix __in_section_unique() and __COUNTER__ 2017-08-16 10:59:10 -07:00
usb usb: webusb: Move USB version definition to right place 2017-09-21 13:10:04 -04:00
zephyr
adc.h
aio_comparator.h
atomic.h
cache.h
clock_control.h
console.h doc: fix misspellings in include (API docs) 2017-08-10 12:22:19 -04:00
counter.h api: counter: Improve documentation of counter_set_alarm(). 2017-09-15 14:29:15 -04:00
crc16.h drivers: crc: Add 'pad' parameter to crc16() 2017-08-17 22:19:19 -04:00
device.h
disk_access.h
dma.h drivers: dma: remove deprecated API functions 2017-09-22 07:50:20 -04:00
eth.h
flash.h Drivers: flash: New API to obtain the flash layout 2017-09-11 11:41:57 -04:00
fs.h
gpio.h
i2c.h drivers: i2c: remove usage of bitfield access for cfg 2017-09-20 10:16:14 -05:00
i2s.h drivers: Add I2S (Inter-IC Sound) driver API 2017-08-14 11:14:34 -04:00
init.h
ipm.h
irq_offload.h
irq.h irq.h: include generic toolchain header 2017-08-16 10:59:10 -07:00
kernel_version.h
kernel.h syscalls: reorganize headers 2017-09-28 08:56:20 -07:00
pinmux.h pinmux: Allow up to 6 functions 2017-08-09 12:26:14 -07:00
power.h
pthread.h kernel: POSIX thread IPC support 2017-08-15 19:42:07 -04:00
pwm.h drivers: pwm: Remove all deprecated APIs. 2017-08-09 12:31:03 -07:00
random.h
rtc.h
sensor.h
shared_irq.h
spi_legacy.h
spi.h doc: improve spi.h doxygen comments layout 2017-09-11 19:37:51 -04:00
sw_isr_table.h
sys_clock.h
sys_io.h
syscall_list.h syscalls: reorganize headers 2017-09-28 08:56:20 -07:00
syscall.h syscalls: reorganize headers 2017-09-28 08:56:20 -07:00
toolchain.h
uart.h
watchdog.h
zephyr.h