zephyr/include/sys
Andrew Boie 941322c49e userspace: document multiple mem domain init calls
k_mem_domain objects should not be initialized multiple times,
there's no support for memory domain life-cycles or freeing
memory that an arch_mem_domain_init() may have allocated.
Clearly document this.

The init function has to assume the provided domain is un-
initialized memory so it's not possible to robustly check
for this; a note is left in the arch_ definition to add an
assertion if feasible.

It's really unsafe to call an init function on any kernel
object more than once, but in this particular case if the
memory domain initialization resulted in the creation of
page tables or linked data structures really bad things can
happen. Currently no arch implements arch_mem_domain_init()
yet, but this is changing soon for x86.

One test case currently does this, it will be fixed in
a forthcoming patch.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
2020-10-22 15:35:25 -04:00
..
__assert.h
arch_interface.h userspace: document multiple mem domain init calls 2020-10-22 15:35:25 -04:00
atomic.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
base64.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
byteorder.h sys: byteorder: Fix incorrect shift in sys_get_be48/le48 2020-09-21 11:17:59 +02:00
check.h
crc.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
device_mmio.h kernel: demote k_mem_map to z_mem_map 2020-09-03 14:24:38 -04:00
dlist.h
errno_private.h
fdtable.h net: getsockname: Call via vtable instead of ioctl 2020-08-14 09:47:51 -07:00
kobject.h kernel: move kernel object APIs to own header 2020-10-12 12:21:46 -04:00
libc-hooks.h include: libc-hooks: add comments 2020-07-23 11:01:42 +02:00
list_gen.h
math_extras_impl.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
math_extras.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
mem_manage.h kernel: demote k_mem_map to z_mem_map 2020-09-03 14:24:38 -04:00
mempool_base.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
mempool.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
mutex.h include: sys: use C linkage 2020-10-22 07:49:07 -05:00
notify.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
onoff.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
printk.h
rb.h
ring_buffer.h sys: ring_buffer: remove deprecated macros 2020-10-06 14:58:42 -04:00
sem.h linker: add iterable section macros 2020-06-24 17:09:22 -04:00
sflist.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
slist.h
speculation.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
sys_heap.h lib/os/heap: debugging facility to dump the heap structure to the cconsole 2020-06-26 11:41:43 -07:00
sys_io.h sys/sys_io.h: Memory mapped I/O APIs must be pointer-sized, not 32 bit! 2020-07-08 12:34:09 +02:00
thread_stack.h kernel: Add cache coherence management framework 2020-10-21 06:38:53 -04:00
time_units.h code-guideline: Fixing code violation 10.4 Rule 2020-10-01 17:13:29 -04:00
timeutil.h zephyr: replace zephyr integer types with C99 types 2020-06-08 08:23:57 -05:00
util_internal.h sys/util: fix macro support when building with C++ 2020-08-12 16:39:37 -05:00
util.h sys: util: add identity macro 2020-10-19 18:14:11 +02:00