zephyr/cmake
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
..
app
bintools cmake: lookup strip tool and set CMAKE_STRIP for host-gnu target 2022-11-01 11:59:19 +01:00
compiler cmake: Allow selection of libc API overflow detection mode 2022-10-31 23:23:27 +09:00
emu cmake: emu: qemu: do not enable CAN bus on NIOS2 and LEON3 2022-11-02 22:10:05 +09:00
flash cmake: update common Zephyr build settings to use `zephyr_get()` 2022-09-02 15:16:50 +02:00
ide
linker arm: rename default RAM region from 'SRAM' to 'RAM' 2022-10-03 10:09:53 +02:00
linker_script rtio: Userspace support 2022-11-08 10:44:03 +01:00
makefile_exports
modules cmake: sysbuild: import image kconfig settings to image target 2022-11-02 15:42:23 +09:00
reports
toolchain cmake: detect sysroot for cross-compile toolchains 2022-09-23 16:37:44 +02:00
usage
util
cfb.cmake scripts: move gen_cfb_font_header.py to scripts/build 2022-07-12 10:03:45 +02:00
extra_flags.cmake cmake: fix improper use of separate_arguments 2022-09-05 10:22:05 +02:00
gcc-m-cpu.cmake arch: arm64: define A55 core 2022-06-29 10:27:19 +02:00
gcc-m-fpu.cmake cmake: gcc: Fix Cortex-R52 FPU type 2022-10-19 00:28:33 +09:00
gen_version_h.cmake
hex.cmake
kobj.cmake scripts: move gen_kobject_list.py to scripts/build/gen_kobject_list.py 2022-07-12 10:03:45 +02:00
mcuboot.cmake
package_helper.cmake cmake: Update cmake_minimum_required to 3.20.0 2022-07-04 10:18:45 +02:00
pristine.cmake
target_toolchain_flags.cmake
verify-toolchain.cmake cmake: rework of host tools and generic toolchain handling 2022-09-01 15:59:43 +02:00