zephyr/include
Wayne Ren bb50a88045 arch: arc: apply the new thread stack layout
The new thread stack layout is as follow:

|---------------------|
|  user stack         |
|---------------------|
| stack guard (opt.)  |
|---------------------|
|  privilege stack    |
-----------------------

For MPUv2
  * user stack is aligned to the power of 2 of user stack size
  * the stack guard is 2048 bytes
  * the default size of privileg stack is 256 bytes.
  For user thread, the following MPU regions are needded
    * one region for user stack, no need of stack guard for user stack
    * one region for stack guard when stack guard is enbaled
    * regions for memory domain.
  For kernel thread, the stack guard region will be at the top, adn
  The user stack and privilege stack will be merged.

MPUv3 is the same as V2's layout, except no need of power of 2
alignment.

* reimplement the user mode enter function. Now it's possible for
kernel thread to drop privileg to user thread.

* add a separate entry for user thread

* bug fixes in the cleanup of regs when go to user mode

Signed-off-by: Wayne Ren <wei.ren@synopsys.com>
2018-02-16 12:20:16 +01:00
..
arch arch: arc: apply the new thread stack layout 2018-02-16 12:20:16 +01:00
bluetooth Bluetooth: Mesh: Convert to new net_buf_simple APIs 2018-02-13 14:00:08 +02:00
crypto
debug debug: remove DEBUG_INFO option 2018-02-12 13:58:28 -08:00
dfu dfu: mcuboot: add boot_read_bank_header() 2018-02-05 06:42:15 -08:00
display doc: APIs: group display drivers 2017-11-17 17:14:18 -05:00
drivers native: added stdin handling for shell 2018-02-02 07:48:46 -08:00
dt-bindings drivers: spi_ll_stm32: Enable SPI driver for F1 family 2018-02-01 08:19:49 -06:00
fs
linker linker: arm: add stm32 ccm sections 2018-02-13 12:36:22 -06:00
logging include: logging: clean up of sys_log.h 2018-02-09 10:11:52 -05:00
misc native: __ASSERT() to immediately terminate 2018-02-14 22:23:52 -05:00
net net: buf: Use __noinit where possible 2018-02-14 15:44:04 +02:00
posix kernel: move posix header to posix/ 2017-12-27 14:16:08 -05:00
random subsys: Add random subsystem 2017-11-01 08:26:29 -04:00
shell doc: fix misspellings in doxygen API comments 2018-01-30 20:04:21 -05:00
toolchain toolchain: gcc/common: add header guard 2018-02-10 11:14:32 -05:00
usb usb: hid: Remove duplicated definitions 2018-02-05 06:39:50 -08:00
zephyr
adc.h
aio_comparator.h
atomic.h
cache.h
clock_control.h
console.h
counter.h doc: add missing API content 2017-12-01 08:58:56 -05:00
crc8.h lib: crc: Add crc8-ccitt implementation 2018-01-15 15:46:37 -05:00
crc16.h crc: add crc16_itu_t which is used in the MMC protocol. 2018-02-07 16:49:52 -05:00
device.h device: cleanup header layout 2018-02-07 13:07:46 -05:00
disk_access.h disk: delete the GET_DISK_SIZE IOCTL. 2018-01-31 09:14:40 -05:00
dma.h dma: Fix building when system calls are disabled 2018-02-13 10:32:41 -05:00
entropy.h drivers: Rename random to entropy 2017-11-01 08:26:29 -04:00
eth.h
fcb.h subsys: fs: fcb: remove f_area_id from fcb structure 2018-02-07 09:51:26 -05:00
flash_map.h subsys: storage: flash_map: Fix warning 2018-02-14 14:36:52 -05:00
flash.h flash: minor documentation improvements. 2017-11-28 12:25:19 -05:00
fs.h doc: add missing API content 2017-12-01 08:58:56 -05:00
gpio.h drivers: gpio: deprecate GPIO_PIN_ENABLE, GPIO_PIN_DISABLE 2017-11-02 18:46:30 -04:00
i2c.h
i2s.h
init.h
ipm.h
irq_offload.h
irq.h
json.h doc: json: add to doxygen group 2017-11-22 13:27:01 -05:00
kernel_version.h kernel: version: parenthesize macro value 2018-01-04 13:29:03 -05:00
kernel.h work_q: Correctly clear pending flag in delayed work queue, update docs 2018-02-13 18:08:57 -05:00
led_strip.h
pinmux.h pinmux: add two more entries to the function enum. 2018-02-05 06:31:35 -08:00
power.h
pwm.h
ring_buffer.h ring_buffer: remove broken object_tracing support 2018-01-18 17:44:38 -05:00
rtc.h drivers: rtc: add system calls 2017-10-30 13:20:19 -07:00
sensor.h sensors: sensor_value: Elaborate docs 2018-02-15 12:55:50 -05:00
shared_irq.h
spi_legacy.h
spi.h drivers: spi: add system call handlers 2017-10-30 13:20:19 -07:00
sw_isr_table.h
sys_clock.h
sys_io.h sys_io.h: don't pull in kernel.h 2017-11-02 13:25:01 -07:00
syscall.h
toolchain.h
uart.h drivers: uart: add system call handlers 2017-10-30 13:20:19 -07:00
watchdog.h
zephyr.h