Home
last modified time | relevance | path

Searched +full:shared +full:- +full:memory +full:- +full:size (Results 1 – 25 of 207) sorted by relevance

123456789

/Zephyr-latest/samples/drivers/virtualization/ivshmem/doorbell/
DREADME.rst1 .. zephyr:code-sample:: ivshmem-doorbell
3 :relevant-api: ivshmem
5 Use Inter-VM Shared Memory to exchange messages between two processes running on different
20 ivshmem-server needs to be available and running. The server is available in
21 Zephyr SDK or pre-built in some distributions. Otherwise, it is available in
24 ivshmem-client needs to be available as it is employed in this sample as an
25 external application. The same conditions of ivshmem-server applies to the
26 ivshmem-server, as it is also available via QEMU.
31 Building ivshmem-doorbell is as follows:
36 .. zephyr-app-commands::
[all …]
Dwrite_shared_memory.sh2 # Write a fixed-size string message on the ivshmem shared memory
3 # Usage write_shared_memory.sh [-s size in bytes] [-l location] [-m message] [-v]
7 # SPDX-License-Identifier: Apache-2.0
12 SHM_MSG="This is a message test for ivshmem shared memory"
17 echo "Usage: $0 [-s size in bytes] [-l location] [-m message] [-v]"
30 if [ "$WM_MSG_LEN" -gt "$WM_SIZE" ]; then
42 PARAMS="${1:-0}"
45 -s)
49 -l)
53 -h)
[all …]
/Zephyr-latest/include/zephyr/multi_heap/
Dshared_multi_heap.h4 * SPDX-License-Identifier: Apache-2.0
9 * @brief Public API for Shared Multi-Heap framework
28 * @brief Shared Multi-Heap (SMH) interface
29 * @defgroup shared_multi_heap Shared multi-heap interface
33 * The shared multi-heap manager uses the multi-heap allocator to manage a set
34 * of memory regions with different capabilities / attributes (cacheable,
35 * non-cacheable, etc...).
37 * All the different regions can be added at run-time to the shared multi-heap
39 * can be used by drivers or applications to request memory with certain
44 * - At boot time some platform code initialize the shared multi-heap
[all …]
/Zephyr-latest/include/zephyr/drivers/
Dtee.h4 * SPDX-License-Identifier: Apache-2.0
14 * Copyright (c) 2015-2016, Linaro Limited
54 * It also can be presented as the separate secure co-processors. It allows system
58 * - tee_get_version() to get current TEE capabilities
59 * - tee_open_session() to open new session to the TA
60 * - tee_close_session() to close session to the TA
61 * - tee_cancel() to cancel session or invoke function
62 * - tee_invoke_func() to invoke function to the TA
63 * - tee_shm_register() to register shared memory region
64 * - tee_shm_unregister() to unregister shared memory region
[all …]
/Zephyr-latest/doc/kernel/memory_management/
Dshared_multi_heap.rst3 Shared Multi Heap
6 The shared multi-heap memory pool manager uses the multi-heap allocator to
7 manage a set of reserved memory regions with different capabilities /
8 attributes (cacheable, non-cacheable, etc...).
10 All the different regions can be added at run-time to the shared multi-heap
12 be used by drivers or applications to request memory with certain capabilities.
16 1. At boot time some platform code initialize the shared multi-heap framework
17 using :c:func:`shared_multi_heap_pool_init()` and add the memory regions to
21 2. Each memory region encoded in a :c:struct:`shared_multi_heap_region`
22 structure. This structure is also carrying an opaque and user-defined
[all …]
/Zephyr-latest/dts/common/nordic/
Dnrf5340_shared_sram_partition.dtsi5 * SPDX-License-Identifier: Apache-2.0
7 * This file specifies the default shared memory region used for inter-procesor
12 * expectations of the memory region used. If a board specific variant is
13 * used, it is up to the author to ensure the shared memory region resides in
14 * the memory range allocated to the non-secure image (sram0_ns).
16 * By default the last 64 kB of application core SRAM is allocated as shared
17 * memory (sram0_shared) which is divided in:
18 * - 32 kB CPUAPP to CPUNET communication (cpuapp_cpunet_ipc_shm)
19 * - 32 kB CPUNET to CPUAPP communication (cpunet_cpuapp_ipc_shm)
27 reserved-memory {
[all …]
/Zephyr-latest/subsys/ipc/ipc_service/backends/
DKconfig.rpmsg2 # SPDX-License-Identifier: Apache-2.0
7 int "Size of RX work queue stack"
10 Size of stack used by work queue RX thread. This work queue is
11 created in the multi-instance / multi-core RPMsg backend module to
13 work queue. Size is the same for all instances.
16 bool "Reset shared memory state"
18 Some platforms retain the memory content upon reset. This is
19 problematic because the backend expects a zero-ed memory to be
21 When this parameter is set to 'y' the status region of the shared
22 memory is reset on kernel initialization.
/Zephyr-latest/drivers/tee/optee/
Doptee_msg.h1 /* SPDX-License-Identifier: BSD-2-Clause */
3 * Copyright (c) 2015-2020, Linaro Limited
15 * This file defines the OP-TEE message protocol used to communicate
16 * with an instance of OP-TEE running in secure world.
20 * Part 1 - formatting of messages
48 * Pointer to a list of pages used to register user-defined SHM buffer.
51 * list of page addresses. OP-TEE core can reconstruct contiguous buffer from
63 * uint64_t pages_array[OPTEE_MSG_NONCONTIG_PAGE_SIZE/sizeof(uint64_t) - 1];
67 * Structure is designed to exactly fit into the page size
70 * The size of 4KB is chosen because this is the smallest page size for ARM
[all …]
/Zephyr-latest/subsys/ipc/ipc_service/lib/
DKconfig.icmsg2 # SPDX-License-Identifier: Apache-2.0
5 bool "Synchronize access to shared memory"
9 Provide synchronization access to shared memory at a library level.
11 multiple contexts. Mutex is used to guard access to the memory.
53 int "Size of RX work queue stack"
56 Size of stack used by work queue RX thread. This work queue is
58 from the system work queue. The queue is shared among instances.
62 default -1
63 range -256 -1
74 range -256 -1 if !IPC_SERVICE_BACKEND_ICMSG_WQ_ENABLE
[all …]
/Zephyr-latest/doc/services/ipc/ipc_service/backends/
Dipc_service_icmsg.rst8 memory footprint. The ICMsg backend is build on top of :ref:`spsc_pbuf`.
13 The ICMsg backend uses shared memory and MBOX devices for exchanging data.
14 Shared memory is used to store the data, MBOX devices are used to signal that
27 * If at least one of the cores uses data cache on shared memory, set the ``dcache-alignment`` value.
28 …This must be the largest value of the invalidation or the write-back size for both sides of the co…
29 You can skip it if none of the communication sides is using data cache on shared memory.
30 * Define two memory regions and assign them to ``tx-region`` and ``rx-region``
31 of an instance. Ensure that the memory regions used for data exchange are
40 Make sure that you set correct value of the ``dcache-alignment``.
46 .. code-block:: devicetree
[all …]
Dipc_service_icbmsg.rst7 Data transferred over this backend travels in dynamically allocated buffers on shared memory.
11 …ming some common problems with other backends (mostly related to multithread access and zero-copy).
17 The shared memory is divided into two parts.
18 One is reserved for the ICMsg and the other contains equal-sized blocks.
26 For the zero-copy case, this is done by the caller, otherwise, it is copied automatically.
30 …The size of the ICMsg queue is large enough to hold messages for all blocks, so it will never over…
43 * If at least one of the cores uses data cache on shared memory, set the ``dcache-alignment`` value.
44 …This must be the largest value of the invalidation or the write-back size for both sides of the co…
45 You can skip it if none of the communication sides is using data cache on shared memory.
46 * Define two memory regions and assign them to ``tx-region`` and ``rx-region`` of an instance.
[all …]
/Zephyr-latest/samples/drivers/ipm/ipm_ivshmem/
DREADME.rst1 .. zephyr:code-sample:: ipm-ivshmem
3 :relevant-api: ipm_interface
5 Implement inter-processor mailbox (IPM) over IVSHMEM (Inter-VM shared memory)
12 ivshmem-server needs to be available and running. The server is available in
13 Zephyr SDK or pre-built in some distributions. Otherwise, it is available in
16 ivshmem-client needs to be available as it is employed in this sample as an
17 external application. The same conditions of ivshmem-server apply to the
18 ivshmem-server, as it is also available via QEMU.
22 #. The ivshmem-server utility for QEMU can be found into the Zephyr SDK
24 ``/path/to/your/zephyr-sdk/zephyr-<version>/sysroots/x86_64-pokysdk-linux/usr/xilinx/bin/``
[all …]
/Zephyr-latest/subsys/emul/espi/
DKconfig4 # SPDX-License-Identifier: Apache-2.0
10 - virtual wires and writing to port 80. It can be extended. Note: Because this emulator is
17 int "Host I/O peripheral port size for shared memory in emulator"
21 This is the port size used to mimic the Host and EC communication
22 over the shared memory region which returns the ACPI response data.
/Zephyr-latest/dts/bindings/ipm/
Despressif,esp32-ipm.yaml2 # SPDX-License-Identifier: Apache-2.0
6 compatible: "espressif,esp32-ipm"
14 shared-memory:
18 shared-memory-size:
/Zephyr-latest/dts/bindings/mbox/
Despressif,mbox-esp32.yaml2 # SPDX-License-Identifier: Apache-2.0
6 compatible: "espressif,mbox-esp32"
8 include: [base.yaml, mailbox-controller.yaml]
14 shared-memory:
18 shared-memory-size:
25 mbox-cells:
26 - channel
/Zephyr-latest/boards/nxp/mimxrt595_evk/
Dmimxrt595_evk_mimxrt595s_f1.dts3 * SPDX-License-Identifier: Apache-2.0
6 /dts-v1/;
15 #address-cells = <1>;
16 #size-cells = <0>;
20 compatible = "cdns,tensilica-xtensa-lx6";
25 sram0: memory@0 {
26 #address-cells = <1>;
27 #size-cells = <1>;
28 device_type = "memory";
29 compatible = "mmio-sram";
[all …]
/Zephyr-latest/drivers/ethernet/
DKconfig.ivshmem4 # SPDX-License-Identifier: Apache-2.0
7 bool "Inter-VM shared memory Ethernet driver"
14 Enable Inter-VM Shared Memory Ethernet driver.
20 int "IVSHMEM Ethernet thread stack size"
/Zephyr-latest/dts/bindings/ipc/
Dzephyr,ipc-icmsg.yaml4 # SPDX-License-Identifier: Apache-2.0
9 compatible: "zephyr,ipc-icmsg"
14 tx-region:
15 description: phandle to the shared memory region used for data transmission
19 rx-region:
20 description: phandle to the shared memory region used for data reception
24 dcache-alignment:
28 rx-region/tx-region this property must be the biggest value of the
29 invalidation or the write-back size for both sides of the communication.
34 Side B: 32 Bytes write-back size, 16 Bytes invalidation size
[all …]
/Zephyr-latest/drivers/espi/
DKconfig.npcx4 # SPDX-License-Identifier: Apache-2.0
17 int "Host I/O peripheral port size for shared memory in npcx series"
21 This is the port size used by the Host and EC to communicate over
22 the shared memory region to return the ACPI response data. Please
27 int "Host I/O peripheral port size for ec host command in npcx series"
31 This is the port size used by the Host and EC to communicate over
32 the shared memory region to return the host command parameter data.
56 int "Debug Port80 ring buffer size"
60 The size of the ring buffer in byte used by the Port80 ISR to store
91 This size is display how many group of slave attached flash protection
DKconfig.xec4 # SPDX-License-Identifier: Apache-2.0
52 int "eSPI OOB channel buffer size in bytes"
56 Use minimum RAM buffer size by default but allow applications to
61 int "eSPI Flash channel buffer size in bytes"
65 Use maximum RAM buffer size defined by spec but allow applications
89 int "Host I/O peripheral port size for shared memory in MEC172X series"
93 This is the port size used by the Host and EC to communicate over
94 the shared memory region to return the ACPI response data.
97 int "Host I/O peripheral port size for ec host command in MEC172X series"
101 This is the port size used by the Host and EC to communicate over
[all …]
/Zephyr-latest/lib/heap/
DKconfig3 # SPDX-License-Identifier: Apache-2.0
5 menu "Heap and Memory Allocation"
14 environments that require sensitive detection of memory
60 such as memory allocation and de-allocation.
75 Heaps using reduced-size chunk headers can accommodate so called
76 "small" heaps with a total size of 262136 bytes or less.
78 Heaps using full-size chunk headers can have a total size up to
81 On 32-bit system the tradeoff is selectable between:
83 - "small" heaps with low memory and runtime overhead;
85 - "big" heaps with bigger memory overhead even for small heaps;
[all …]
/Zephyr-latest/soc/espressif/esp32c6/
Dmemory.h3 * SPDX-License-Identifier: Apache-2.0
7 /* LP-SRAM (16kB) memory */
10 /* HP-SRAM (512kB) memory */
15 /* ICache size is fixed to 32KB on ESP32-C6 */
18 /** Simplified memory map for the bootloader.
19 * Make sure the bootloader can load into main memory without overwriting itself.
21 * ESP32-C6 ROM static data usage is as follows:
22 * - 0x4086ad08 - 0x4087c610: Shared buffers, used in UART/USB/SPI download mode only
23 * - 0x4087c610 - 0x4087e610: PRO CPU stack, can be reclaimed as heap after RTOS startup
24 * - 0x4087e610 - 0x40880000: ROM .bss and .data (not easily reclaimable)
[all …]
/Zephyr-latest/soc/espressif/esp32c2/
Dmemory.h3 * SPDX-License-Identifier: Apache-2.0
7 /* SRAM0 (16kB) memory */
11 /* SRAM1 (256kB) memory */
16 /* ICache size is fixed to 16KB on ESP32-C2 */
19 /** Simplified memory map for the bootloader.
20 * Make sure the bootloader can load into main memory without overwriting itself.
22 * ESP32-C2 ROM static data usage is as follows:
23 * - 0x3fccb264 - 0x3fcdcb70: Shared buffers, used in UART/USB/SPI download mode only
24 * - 0x3fcdcb70 - 0x3fcdeb70: PRO CPU stack, can be reclaimed as heap after RTOS startup
25 * - 0x3fcdeb70 - 0x3fce0000: ROM .bss and .data (not easily reclaimable)
[all …]
/Zephyr-latest/drivers/ipm/
Dipm_esp32.c4 * SPDX-License-Identifier: Apache-2.0
56 struct esp32_ipm_data *dev_data = (struct esp32_ipm_data *)dev->data; in esp32_ipm_isr()
57 uint32_t core_id = dev_data->this_core_id; in esp32_ipm_isr()
74 /* first of all take the own of the shared memory */ in esp32_ipm_isr()
75 while (!atomic_cas(&dev_data->control->lock, ESP32_IPM_LOCK_FREE_VAL, in esp32_ipm_isr()
76 dev_data->this_core_id)) { in esp32_ipm_isr()
80 if (dev_data->cb) { in esp32_ipm_isr()
82 volatile void *shm = dev_data->shm.pro_cpu_shm; in esp32_ipm_isr()
85 shm = dev_data->shm.app_cpu_shm; in esp32_ipm_isr()
88 dev_data->cb(dev, in esp32_ipm_isr()
[all …]
/Zephyr-latest/tests/drivers/virtualization/ivshmem/plain/src/
Divshmem.c4 * SPDX-License-Identifier: Apache-2.0
16 size_t size; in ZTEST() local
25 size = ivshmem_get_mem(ivshmem, &mem); in ZTEST()
26 zassert_not_equal(size, 0, "Size cannot not be 0"); in ZTEST()
27 zassert_not_null((void *)mem, "Shared memory cannot be null"); in ZTEST()
30 zassert_equal(id, 0, "ID should be 0 on ivshmem-plain"); in ZTEST()
36 "Could not r/w to the shared memory"); in ZTEST()
38 /* Quickly verifying that non-plain features return proper code */ in ZTEST()
40 zassert_equal(vectors, 0, "ivshmem-plain cannot have vectors"); in ZTEST()
43 zassert_equal(ret, -ENOSYS, in ZTEST()
[all …]

123456789