zephyr/scripts
Andrew Boie bca15da650 userspace: treat thread stacks as kernel objects
We need to track permission on stack memory regions like we do
with other kernel objects. We want stacks to live in a memory
area that is outside the scope of memory domain permission
management. We need to be able track what stacks are in use,
and what stacks may be used by user threads trying to call
k_thread_create().

Some special handling is needed because thread stacks appear as
variously-sized arrays of struct _k_thread_stack_element which is
just a char. We need the entire array to be considered an object,
but also properly handle arrays of stacks.

Validation of stacks also requires that the bounds of the stack
are not exceeded. Various approaches were considered. Storing
the size in some header region of the stack itself would not allow
the stack to live in 'noinit'. Having a stack object be a data
structure that points to the stack buffer would confound our
current APIs for declaring stacks as arrays or struct members.
In the end, the struct _k_object was extended to store this size.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2017-10-16 19:02:00 -07:00
..
basic
checkpatch checkpatch: define typedefsfile to deal with a few false positives 2017-10-09 10:43:05 -04:00
ci ci: compliance: decode output to utf8 2017-10-12 08:47:14 -04:00
cross_compiler toolchains: fix xtools configurations 2017-10-12 16:27:12 -05:00
dts scripts/dts/extract_dts_includes.py: allow multiple fixup files 2017-09-17 17:34:38 -04:00
footprint scripts: move footprint scripts to footprint/ 2017-09-11 08:53:56 -07:00
gitlint gitlint: ignore titles prefixed with Revert 2017-08-08 09:04:25 -04:00
kconfig scrips/merge_config.sh: fix corner case \n-less last line 2017-09-30 22:42:08 -04:00
sanity_chk sanitycheck: add last_sanity.xml to gitignore 2017-10-14 19:22:55 -04:00
support fix "scripts: zephyr_flash_debug: flash like dfuutil.sh" 2017-10-13 12:50:40 -04:00
.gitignore
check_link_map.py check_link_map: fix check for app memory 2017-06-29 07:46:58 -04:00
checkpatch.pl scripts: Update checkpatch to latest from the linux kernel 2017-10-02 18:48:56 -04:00
checkstack.pl
file2hex.py build: Add rules in Makefile.gen to generate a hex file 2017-09-18 14:56:16 -04:00
filter-known-issues.py doc: filter-known-issues.py and empty files 2017-09-21 16:58:17 -04:00
gcc-version.sh
gen_gdt.py x86: implement userspace APIs 2017-09-12 12:46:36 -07:00
gen_idt.py scripts: add version check for pyelftools 2017-07-25 13:41:16 -04:00
gen_kobject_list.py userspace: treat thread stacks as kernel objects 2017-10-16 19:02:00 -07:00
gen_mmu.py gen_mmu.py: load directly 2017-09-21 13:27:25 -04:00
gen_offset_header.py scripts: fix offset.h header guard 2017-08-01 15:05:13 -04:00
gen_syscall_header.py gen_syscall_header: use compiler barrier 2017-10-16 16:16:56 -07:00
gen_syscalls.py kernel: allow system call with 64-bit return val 2017-10-12 16:25:00 -07:00
headerdep.pl
Kbuild.include Kbuild.include: add function for unquoting strings 2017-05-18 07:18:36 -04:00
make-ll
Makefile build: Fix distclean for gen_idt 2017-08-01 22:10:22 -04:00
Makefile.build
Makefile.clean
Makefile.extrawarn
Makefile.gen build: Makefile.gen: reorder make rules to deal with greedy rule match 2017-09-28 09:29:34 -07:00
Makefile.headersinst
Makefile.help
Makefile.host
Makefile.lib build: allow user to specify DTC_OVERLAY_FILE directly 2017-07-31 09:21:46 -05:00
Makefile.modbuiltin
Makefile.qemu qemu: cleanup qemu configurations 2017-09-23 16:51:20 -07:00
Makefile.toolchain.espressif Support for Espressif SDK (ESP32, etc) 2017-06-21 12:35:49 -04:00
Makefile.toolchain.gccarmemb toolchain.gccarmemb: Fix support for where to find newlib 2017-06-08 14:52:49 -04:00
Makefile.toolchain.issm toolchains: add DTC to environment 2017-06-23 13:10:52 -05:00
Makefile.toolchain.riscv32
Makefile.toolchain.xcc xtensa: fix 'make debug' for xt-sim targets 2017-06-12 18:01:13 -04:00
Makefile.toolchain.xtools xtools: fix some build issues 2017-10-09 09:10:39 -04:00
Makefile.toolchain.zephyr Makefile.toolchain.zephyr: fix C++ on Xtensa 2017-06-06 20:37:11 -04:00
Makefile.xt-run emulation: fix path of ELF binary when running with xt-sim 2017-05-11 16:51:56 -04:00
Makefile.xtsc-run
mkmakefile
mksysmap
process_gperf.py kernel: introduce object validation mechanism 2017-09-07 16:33:33 -07:00
qemu-machine-hack.py build: make sure we are calling python3 in all scripts 2017-04-13 20:22:54 +00:00
requirements.txt doc: add python pip requirements.txt 2017-07-22 14:04:20 -04:00
sanitycheck sanitycheck: fix support for unit tests 2017-10-11 09:21:05 -05:00
spelling.txt scripts: updated spelling.txt file 2017-07-14 12:57:40 +03:00
tags.sh
timestamp
uncrustify.cfg
vercomp
waitpid