zephyr/arch/x86/core
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
..
debug license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
offsets kernel: x86: MMU: Macros & Linker scripts for Boot time table creation 2017-06-13 11:36:54 -04:00
cache_s.S build: add _ASMLANGUAGE to all asm files 2017-01-24 13:34:51 +00:00
cache.c license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
cpuhalt.c tests: benchmark: boot_time: Reading time stamps made arch agnostic 2017-06-16 07:37:37 -05:00
crt0.S x86: implement userspace APIs 2017-09-12 12:46:36 -07:00
excstub.S x86: exception-assisted panic/oops support 2017-04-22 10:31:49 -04:00
fatal.c userspace: flesh out internal syscall interface 2017-09-15 13:44:45 -07:00
float.c arch: convert to using newly introduced integer sized types 2017-04-21 12:08:12 +00:00
intstub.S tests: benchmark: timing_info: Change API/variable Name. 2017-08-31 14:25:31 -04:00
irq_manage.c x86: remove hacks to include functions 2017-05-13 14:07:09 -04:00
irq_offload.c license: Replace Apache boilerplate with SPDX tag 2017-01-19 03:50:58 +00:00
Kconfig kconfig: remove unused config DEBUG_IRQS 2017-09-11 09:42:35 -07:00
Makefile x86: implement userspace APIs 2017-09-12 12:46:36 -07:00
msr.c arch: convert to using newly introduced integer sized types 2017-04-21 12:08:12 +00:00
reboot_rst_cnt.c arch: convert to using newly introduced integer sized types 2017-04-21 12:08:12 +00:00
swap.S x86: implement userspace APIs 2017-09-12 12:46:36 -07:00
sys_fatal_error_handler.c qemu_x86: terminate emulator on fatal system error 2017-07-22 09:46:26 -04:00
thread.c x86: implement userspace APIs 2017-09-12 12:46:36 -07:00
userspace.S syscalls: reorganize headers 2017-09-28 08:56:20 -07:00
x86_mmu.c x86: revise _x86_mmu_buffer_validate 2017-09-12 08:40:41 -07:00