zephyr/include
Andrew Boie 3d80208025 x86: implement user mode on 64-bit
- In early boot, enable the syscall instruction and set up
  necessary MSRs
- Add a hook to update page tables on context switch
- Properly initialize thread based on whether it will
  start in user or supervisor mode
- Add landing function for system calls to execute the
  desired handler
- Implement arch_user_string_nlen()
- Implement logic for dropping a thread down to user mode
- Reserve per-CPU storage space for user and privilege
  elevation stack pointers, necessary for handling syscalls
  when no free registers are available
- Proper handling of gs register considerations when
  transitioning privilege levels

Kernel page table isolation (KPTI) is not yet implemented.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-01-13 16:35:10 -05:00
..
app_memory kernel: fix k_mem_partition data types 2019-12-12 14:48:42 -08:00
arch x86: implement user mode on 64-bit 2020-01-13 16:35:10 -05:00
audio include: respect line limit in api pointer initialization 2019-12-16 21:14:08 -05:00
bluetooth Bluetooth: host: Add BT_BUF_SIZE to include HCI reserve for buf size 2020-01-13 17:59:00 +01:00
cmsis_rtos_v1
cmsis_rtos_v2 global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
console
crypto include: crypto: Cleanup docstrings 2020-01-13 08:33:21 -06:00
data treewide: avoid address-of-compound-literal idiom in headers 2019-12-18 21:53:17 +01:00
debug object tracing: Fix the issue that objects lost from trace list 2019-11-14 09:13:56 -05:00
dfu
disk
display
drivers drivers: adc: add LMP90xxx ADC driver with GPIO 2020-01-09 17:27:52 +01:00
dt-bindings drivers: pwm: add support for inverted PWM signals 2020-01-07 18:13:18 +01:00
fs
linker
logging logging: Fix false strdup buffer freeing 2019-12-20 08:49:01 -05:00
mgmt
net net: core: Drop NET_ASSERT_INFO() macro 2020-01-08 14:10:21 +02:00
posix
power
random
settings
shell shell: Remove deprecated macros 2020-01-09 14:38:49 -05:00
stats
storage
sys assert: Completely remove file info and condition expression 2020-01-13 13:59:55 +01:00
toolchain toolchain: xcc: use Clang if exists 2020-01-07 17:09:38 +01:00
usb usb: make usb descriptor power options configurable 2019-12-20 19:46:16 -05:00
zephyr include: Remove compat include headers 2019-12-10 08:39:37 -05:00
cache.h
device.h global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
exc_handle.h kernel: rename z_arch_ to arch_ 2019-11-07 15:21:46 -08:00
fatal.h
generated_dts_board.h scripts: dts: Remove deprecated extract_dts_includes.py script 2019-12-09 16:31:42 -05:00
init.h kernel: move test of kernel startup state to more visible location 2020-01-06 13:55:31 -05:00
irq_nextlevel.h include: respect line limit in api pointer initialization 2019-12-16 21:14:08 -05:00
irq_offload.h kernel: sychronize irq_offload() access 2019-11-08 15:16:43 -08:00
irq.h irq: add note about irq_lock/unlock access 2020-01-08 08:20:48 -05:00
kernel_includes.h headers: Refactor kernel and arch headers. 2019-11-06 16:07:32 -08:00
kernel_structs.h kernel/sched: Fix edge case in MetaIRQ preemption of cooperative threads 2019-11-15 13:09:02 +01:00
kernel_version.h
kernel.h kernel: panic: Option ASSERT_NO_FILE_INFO controls panic or oops print 2020-01-13 13:59:55 +01:00
ptp_clock.h include: respect line limit in api pointer initialization 2019-12-16 21:14:08 -05:00
sched_priq.h
shared_irq.h include: respect line limit in api pointer initialization 2019-12-16 21:14:08 -05:00
spinlock.h kernel: show what spinlock was used incorrectly 2020-01-13 10:17:16 -05:00
sw_isr_table.h
sys_clock.h sys_clock: Fix typo in SYS_CLOCK_HW_CYCLES_TO_NS64() macro 2019-12-17 13:06:55 -05:00
syscall_handler.h kernel: fix 64-bit issues in syscall_handler.h 2019-12-12 14:48:42 -08:00
syscall.h global: Remove leading/trailing blank lines in files 2019-12-11 19:17:27 +01:00
timeout_q.h kernel: include: Fix warning when !CONFIG_SYS_CLOCK_EXISTS 2019-11-07 08:22:59 -05:00
toolchain.h
wait_q.h headers: Refactor kernel and arch headers. 2019-11-06 16:07:32 -08:00
zephyr.h