zephyr/subsys
Dominik Kilian 28df44946f ipc: add dynamically allocated buffers to icmsg
The icmsg and icmsg_me backends has limitations in context of
concurrent access to single instance. Some limitations are:
* sending by more thread at the same time may cause -EBUSY
* allocating TX buffer will cause errors in other threads that want
  to allocate before first thread sent the message,
* during no-copy receive, when RX buffer is on hold receiving is
  totally blocked.
This backend resolves those limitations by adding dynamically allocated
buffers on shared memory next to ICmsg circular buffer. The data is
passed using those buffers, so concurrency is not a problem. The ICmsg
is used only to pass short 2-byte messages containing references to
those buffers. The backend also supports multiple endpoint.
The ipc/icmsg_me sample was modified to support this backend.

Signed-off-by: Dominik Kilian <Dominik.Kilian@nordicsemi.no>
2023-11-13 11:11:43 +01:00
..
bindesc bindesc: Use UTC time by default and comply with ISO-8601 2023-10-06 13:37:02 +03:00
bluetooth bluetooth: mesh: Don't write to const value 2023-11-13 09:51:25 +01:00
canbus drivers: can: unify spelling of CAN Flexible Data-rate abbreviation 2023-11-01 11:17:17 +00:00
console
debug debug: coredump: guard selection of ADSP memory window backend 2023-10-27 10:53:32 +02:00
demand_paging
dfu mgmt/MCUmgr/grp/img: Add support for three image configuration 2023-09-22 15:13:31 +02:00
disk
dsp
emul
fb
fs fs: fix missing semicolon in fuse_fs_access.c 2023-10-18 15:50:50 +03:00
input input: longpress: use POST_KERNEL level 2023-09-15 16:04:19 +02:00
ipc ipc: add dynamically allocated buffers to icmsg 2023-11-13 11:11:43 +01:00
jwt random: Rename random header 2023-10-10 14:23:50 +03:00
llext llext: use llext_peek() for section pointers 2023-11-10 10:40:26 +01:00
logging logging: uart: support multiple instances 2023-11-13 09:47:06 +01:00
lorawan lorawan: use callback function signature typedefs 2023-11-13 09:53:32 +01:00
mem_mgmt dt: Make zephyr,memory-attr a capabilities bitmask 2023-09-15 12:46:54 +02:00
mgmt mgmt: mcumgr: grp: os_mgmt: Add datetime get/set functions 2023-11-13 09:48:13 +01:00
modbus modbus: add support for defining custom functions 2023-09-29 13:05:42 +02:00
modem modem: Add experimental tag 2023-11-03 09:56:30 +01:00
net net: lib: coap: coap_server: Allow clients to refresh observe requests 2023-11-13 09:50:19 +01:00
pm pm: policy: add check for device busy in policy 2023-09-15 14:51:50 -04:00
portability portability: fix thread function signatures 2023-10-30 12:24:34 +01:00
random syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
retention retention: blinfo: Fix issue with crash writing to keys 2023-10-12 11:53:21 +01:00
rtio syscall: rename Z_OOPS -> K_OOPS 2023-11-03 11:46:52 +01:00
sd sd: add SDIO subsystem 2023-11-06 19:01:08 -05:00
sensing
settings settings: shell: Add value type and allow for strings to be used 2023-09-22 14:02:02 +02:00
shell subsys/shell/backends: Fix shell_telnet.c build with clang 2023-11-03 20:04:08 -04:00
sip_svc subsystem: sip_svc: Reduce the max timeout to 1 second. 2023-09-15 09:26:49 +02:00
stats
storage
task_wdt task_wdt: fix race condition for task_wdt_add function 2023-10-09 16:10:00 +03:00
testsuite ztest: Add comfort functions for non-zero return codes 2023-11-04 07:39:46 -04:00
timing
tracing kernel: rename z_current_get() to k_sched_current_thread_query() 2023-09-28 16:15:46 +02:00
usb usb: device: cdc_acm: Always buffer poll out data if possible 2023-11-13 09:43:46 +01:00
zbus zbus: Fix parameter order of net buf pool fixed define 2023-11-13 09:49:49 +01:00
CMakeLists.txt drivers, subsys: sort the lists again, mark the blocks for checking 2023-11-13 09:41:05 +01:00
Kconfig drivers, subsys: sort the lists again, mark the blocks for checking 2023-11-13 09:41:05 +01:00