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
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
Kbuild.include
Makefile
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
Makefile.modbuiltin
Makefile.qemu qemu: cleanup qemu configurations 2017-09-23 16:51:20 -07:00
Makefile.toolchain.espressif
Makefile.toolchain.gccarmemb
Makefile.toolchain.issm
Makefile.toolchain.riscv32
Makefile.toolchain.xcc
Makefile.toolchain.xtools xtools: fix some build issues 2017-10-09 09:10:39 -04:00
Makefile.toolchain.zephyr
Makefile.xt-run
Makefile.xtsc-run
check_link_map.py
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
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
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
make-ll
mkmakefile
mksysmap
process_gperf.py
qemu-machine-hack.py
requirements.txt
sanitycheck sanitycheck: fix support for unit tests 2017-10-11 09:21:05 -05:00
spelling.txt
tags.sh
timestamp
uncrustify.cfg
vercomp
waitpid