zephyr/scripts/build
Tom Burdick e3d877f811 rtio: Userspace support
Add support for userspace with RTIO by making rtio and rtio_iodev
k_objects. As well as adding three syscalls for copying in submissions,
copying out completions, and starting tasks with submit.

For the small devices Zephyr typically runs on one of the most important
attributes tends to be low memory usage. To maintain the low footprint of
RTIO and its current executor implementations the rings are not shared with
userspace. Sharing the rings it turns out would require copying submissions
before working with them to avoid TOCTOU issues.

The API could still support shared rings in the future so that a
kernel thread could directly poll, copy, verify, and start the submitted
work. This would require a third executor implementation that maintains its
own copy of submissions similiar to how io_uring in Linux works.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2022-11-08 10:44:03 +01:00
..
dir_is_writeable.py scripts: move dir_is_writeable.py to scripts/build 2022-07-12 10:03:45 +02:00
elf_parser.py scripts: build: elf_parser: use node name for Graphviz diagrams 2022-08-04 18:36:35 +02:00
file2hex.py scripts: move file2hex.py to scripts/build/file2hex.py 2022-07-12 10:03:45 +02:00
gen_app_partitions.py
gen_cfb_font_header.py includes: prefer <zephyr/kernel.h> over <zephyr/zephyr.h> 2022-09-05 16:31:47 +02:00
gen_handles.py scripts: build: gen_handles: use Z_DECL_ALIGN 2022-10-11 18:11:47 +02:00
gen_image_info.py scripts: move gen_image_info.py to scripts/build 2022-07-12 10:03:45 +02:00
gen_isr_tables.py scripts: move gen_isr_tables.py to scripts/build/gen_isr_tables.py 2022-07-12 10:03:45 +02:00
gen_kobject_list.py rtio: Userspace support 2022-11-08 10:44:03 +01:00
gen_kobject_placeholders.py scripts: move gen_kobject_placeholders.py to scripts/build/ 2022-07-12 10:03:45 +02:00
gen_offset_header.py scripts: move gen_offset_header.py to scripts/build/ 2022-07-12 10:03:45 +02:00
gen_relocate_app.py scripts/build: Add program header support for gen_relocate_app.py 2022-11-03 10:25:07 +01:00
gen_strerror_table.py scripts: move gen_strerror_table.py to scripts/build 2022-07-12 10:03:45 +02:00
gen_syscalls.py kernel: Prevent Wundef 2022-08-15 14:36:47 +02:00
mergehex.py scripts: move mergehex.py to scripts/build 2022-07-12 10:03:45 +02:00
parse_syscalls.py scripts: move parse_syscalls.py to scripts/build/ 2022-07-12 10:03:45 +02:00
process_gperf.py scripts: move process_gperf.py to scripts/build 2022-07-12 10:03:45 +02:00
subfolder_list.py scripts: move subfolder_list.py to scripts/build/subfolder_list.py 2022-07-12 10:03:45 +02:00
uf2conv.py scripts: move uf2conv.py to scripts/build/uf2conv.py 2022-07-12 10:03:45 +02:00
user_wordsize.py scripts: move user_wordsize.py to scripts/build/user_wordsize.py 2022-07-12 10:03:45 +02:00