/Zephyr-Core-3.5.0/tests/subsys/mem_mgmt/mem_attr/ |
D | app.overlay | 3 * SPDX-License-Identifier: Apache-2.0 6 #include <zephyr/dt-bindings/memory-attr/memory-attr.h> 7 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 10 mem_ram: memory@10000000 { 11 compatible = "vnd,memory-attr"; 13 zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_FLASH) | DT_MEM_NON_VOLATILE )>; 16 mem_ram_nocache: memory@20000000 { 17 compatible = "vnd,memory-attr"; 19 zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_RAM_NOCACHE) )>; 22 mem_ram_disabled: memory@30000000 { [all …]
|
/Zephyr-Core-3.5.0/tests/kernel/mem_heap/shared_multi_heap/boards/ |
D | mps2_an521.overlay | 4 * SPDX-License-Identifier: Apache-2.0 7 #include <zephyr/dt-bindings/memory-attr/memory-attr.h> 8 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 11 /delete-node/ memory@38000000; 13 ssram2_3: memory@38000000 { 14 compatible = "zephyr,memory-region", "mmio-sram"; 16 zephyr,memory-region = "SSRAM2_3"; 19 res0: memory@38100000 { 20 compatible = "zephyr,memory-region", "mmio-sram"; 22 zephyr,memory-region = "RES0"; [all …]
|
D | qemu_cortex_a53.overlay | 4 * SPDX-License-Identifier: Apache-2.0 7 #include <zephyr/dt-bindings/memory-attr/memory-attr.h> 8 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 12 res0: memory@42000000 { 13 compatible = "zephyr,memory-region", "mmio-sram"; 15 zephyr,memory-region = "RES0"; 16 zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_RAM) )>; 19 res1: memory@43000000 { 20 compatible = "zephyr,memory-region", "mmio-sram"; 22 zephyr,memory-region = "RES1"; [all …]
|
/Zephyr-Core-3.5.0/doc/services/mem_mgmt/ |
D | index.rst | 3 Memory Attributes 6 It is possible in the devicetree to mark the memory regions with attributes by 7 using the ``zephyr,memory-attr`` property. This property and the related memory 8 region can then be retrieved at run-time by leveraging a provided helper 12 and explained in :zephyr_file:`include/zephyr/dt-bindings/memory-attr/memory-attr.h`. 14 For example, to mark a memory region in the devicetree as non-volatile, cacheable, 15 out-of-order: 17 .. code-block:: devicetree 19 mem: memory@10000000 { 20 compatible = "mmio-sram"; [all …]
|
/Zephyr-Core-3.5.0/include/zephyr/mem_mgmt/ |
D | mem_attr.h | 4 * SPDX-License-Identifier: Apache-2.0 11 * @brief Memory-Attr Interface 12 * @defgroup memory_attr_interface Memory-Attr Interface 19 #include <zephyr/dt-bindings/memory-attr/memory-attr.h> 38 * `zephyr,memory-attr` 41 * with the `zephyr,memory-attr` property. The macro is expanded once for each 51 * @brief memory-attr region structure. 53 * This structure represents the data gathered from DT about a memory-region 54 * marked with memory attributes. 57 /** Memory node full name */ [all …]
|
/Zephyr-Core-3.5.0/dts/bindings/base/ |
D | zephyr,memory-attr.yaml | 2 # SPDX-License-Identifier: Apache-2.0 7 zephyr,memory-region-mpu: 12 Deprecated in favor of 'zephyr,memory-attr'. 14 zephyr,memory-attr: 17 Attribute or set of attributes (bitmask) for the memory region. See 18 'include/zephyr/dt-bindings/memory-attr/memory-attr.h' for a
|
/Zephyr-Core-3.5.0/tests/kernel/mem_heap/shared_multi_heap/src/ |
D | main.c | 4 * SPDX-License-Identifier: Apache-2.0 9 #include <zephyr/linker/linker-defs.h> 11 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 31 .attr = DT_INST_PROP_OR(n, zephyr_memory_attr, \ 46 mem_attr = (region->attr == SMH_REG_ATTR_CACHEABLE) ? K_MEM_CACHE_WB : K_MEM_CACHE_NONE; in smh_reg_map() 49 z_phys_map(&v_addr, region->addr, region->size, mem_attr); in smh_reg_map() 51 region->addr = (uintptr_t) v_addr; in smh_reg_map() 56 * Given a virtual address retrieve the original memory region that the mapping 73 * All the memory regions defined in the DT with the MPU property `RAM` in mpu_to_reg_attr() 74 * can be accessed and memory can be retrieved from using the attribute in mpu_to_reg_attr() [all …]
|
/Zephyr-Core-3.5.0/samples/subsys/ipc/openamp/boards/ |
D | mimxrt1170_evkb_cm7.overlay | 4 * SPDX-License-Identifier: Apache-2.0 7 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 14 /* OpenAMP fails with full 512K OCRAM2 memory region as shared memory. 16 * Note that shared memory must have specific MPU attributes set. 18 ocram2_overlay: memory@202c0000{ 19 compatible = "zephyr,memory-region", "mmio-sram"; 21 zephyr,memory-region="OCRAM2_OVERLAY"; 22 zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_IO) )>;
|
D | mimxrt1160_evk_cm7.overlay | 4 * SPDX-License-Identifier: Apache-2.0 7 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 14 /* OpenAMP fails with full 512K OCRAM2 memory region as shared memory. 16 * Note that shared memory must have specific MPU attributes set. 18 ocram2_overlay: memory@202c0000{ 19 compatible = "zephyr,memory-region", "mmio-sram"; 21 zephyr,memory-region="OCRAM2_OVERLAY"; 22 zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_IO) )>;
|
D | mimxrt1170_evk_cm7.overlay | 4 * SPDX-License-Identifier: Apache-2.0 7 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 14 /* OpenAMP fails with full 512K OCRAM2 memory region as shared memory. 16 * Note that shared memory must have specific MPU attributes set. 18 ocram2_overlay: memory@202c0000{ 19 compatible = "zephyr,memory-region", "mmio-sram"; 21 zephyr,memory-region="OCRAM2_OVERLAY"; 22 zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_IO) )>;
|
/Zephyr-Core-3.5.0/subsys/portability/cmsis_rtos_v2/ |
D | mempool.c | 4 * SPDX-License-Identifier: Apache-2.0 26 * @brief Create and Initialize a memory pool. 29 const osMemoryPoolAttr_t *attr) in osMemoryPoolNew() argument 41 if ((attr != NULL) && (attr->mp_size < block_count * block_size)) { in osMemoryPoolNew() 45 if (attr == NULL) { in osMemoryPoolNew() 46 attr = &init_mslab_attrs; in osMemoryPoolNew() 55 if (attr->mp_mem == NULL) { in osMemoryPoolNew() 58 "memory slab/pool size exceeds dynamic maximum"); in osMemoryPoolNew() 60 mslab->pool = k_calloc(block_count, block_size); in osMemoryPoolNew() 61 if (mslab->pool == NULL) { in osMemoryPoolNew() [all …]
|
/Zephyr-Core-3.5.0/tests/drivers/dma/chan_blen_transfer/boards/ |
D | nucleo_h743zi.overlay | 2 * SPDX-License-Identifier: Apache-2.0 5 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 20 * to be non-cachable. 23 zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_RAM_NOCACHE) )>;
|
/Zephyr-Core-3.5.0/dts/bindings/test/ |
D | vnd,memory-attr.yaml | 2 # SPDX-License-Identifier: Apache-2.0 4 description: Test memory and memory attributes 6 compatible: "vnd,memory-attr" 8 include: [base.yaml, "zephyr,memory-attr.yaml"]
|
/Zephyr-Core-3.5.0/tests/drivers/adc/adc_dma/boards/ |
D | nucleo_h743zi.overlay | 4 * SPDX-License-Identifier: Apache-2.0 7 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 12 dma-names = "dmamux"; 14 #address-cells = <1>; 15 #size-cells = <0>; 21 zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>; 26 /* ADC driver expects a buffer in a non-cachable memory region */ 28 zephyr,memory-attr = <( DT_MEM_ARM(ATTR_MPU_RAM_NOCACHE) )>;
|
/Zephyr-Core-3.5.0/boards/arm64/fvp_baser_aemv8r/ |
D | fvp_baser_aemv8r.dts | 3 * SPDX-License-Identifier: Apache-2.0 6 /dts-v1/; 8 #include <arm64/fvp/fvp-aemv8r.dtsi> 9 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 22 zephyr,shell-uart = &uart0; 26 compatible = "arm,psci-0.2"; 32 compatible = "soc-nv-flash"; 36 dram0: memory@0 { 37 compatible = "mmio-dram"; 41 device_region: memory@9a000000 { [all …]
|
/Zephyr-Core-3.5.0/tests/drivers/spi/spi_loopback/boards/ |
D | nucleo_h743zi.overlay | 4 * SPDX-License-Identifier: Apache-2.0 7 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 10 zephyr,memory-attr = < DT_MEM_ARM(ATTR_MPU_RAM_NOCACHE) >; 16 dma-names = "tx", "rx"; 18 compatible = "test-spi-loopback-slow"; 20 spi-max-frequency = <500000>; 23 compatible = "test-spi-loopback-fast"; 25 spi-max-frequency = <16000000>;
|
D | nucleo_h753zi.overlay | 4 * SPDX-License-Identifier: Apache-2.0 7 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 10 zephyr,memory-attr = < DT_MEM_ARM(ATTR_MPU_RAM_NOCACHE) >; 16 dma-names = "tx", "rx"; 18 compatible = "test-spi-loopback-slow"; 20 spi-max-frequency = <500000>; 23 compatible = "test-spi-loopback-fast"; 25 spi-max-frequency = <16000000>;
|
/Zephyr-Core-3.5.0/include/zephyr/dt-bindings/memory-attr/ |
D | memory-attr-arm.h | 4 * SPDX-License-Identifier: Apache-2.0 10 #include <zephyr/dt-bindings/memory-attr/memory-attr.h> 16 * the `zephyr,memory-attr` property. 19 * types must be added, these must rely on the generic memory attributes.
|
D | memory-attr.h | 4 * SPDX-License-Identifier: Apache-2.0 12 * Generic memory attributes. 14 * Generic memory attributes that should be common to all architectures. 21 #define DT_MEM_NON_VOLATILE BIT(1) /* non-volatile */ 22 #define DT_MEM_OOO BIT(2) /* out-of-order */ 23 #define DT_MEM_DMA BIT(3) /* DMA-able */ 28 * Software specific memory attributes. 30 * Software can define their own memory attributes if needed using the 39 * Architecture specific memory attributes. 41 * Architectures can define their own memory attributes if needed using the [all …]
|
/Zephyr-Core-3.5.0/include/zephyr/multi_heap/ |
D | shared_multi_heap.h | 4 * 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-Core-3.5.0/include/zephyr/arch/x86/ |
D | mmustructs.h | 2 * Copyright (c) 2011-2014 Wind River Systems, Inc. 5 * SPDX-License-Identifier: Apache-2.0 16 * Slated for removal when virtual memory is implemented, memory 17 * mapping APIs will replace memory domains. 19 #define Z_X86_MMU_RW BIT64(1) /** Read-Write */ 20 #define Z_X86_MMU_US BIT64(2) /** User-Supervisor */ 35 /* Always true with 32-bit page tables, don't enable 38 #define K_MEM_PARTITION_IS_EXECUTABLE(attr) (((attr) & Z_X86_MMU_XD) == 0) argument 39 #define K_MEM_PARTITION_IS_WRITABLE(attr) (((attr) & Z_X86_MMU_RW) != 0) argument 41 /* memory partition arch/soc independent attribute */ [all …]
|
/Zephyr-Core-3.5.0/include/zephyr/app_memory/ |
D | mem_domain.h | 3 * Copyright (c) 2018-2020 Intel Corporation 5 * SPDX-License-Identifier: Apache-2.0 22 * @defgroup mem_domain_apis Memory domain APIs 31 * @brief Statically declare a memory partition 34 #define K_MEM_PARTITION_DEFINE(name, start, size, attr) \ argument 37 { (uintptr_t)start, size, attr} 39 #define K_MEM_PARTITION_DEFINE(name, start, size, attr) \ 41 { (uintptr_t)start, size, attr} 45 * @brief Memory Partition 47 * A memory partition is a region of memory in the linear address space [all …]
|
/Zephyr-Core-3.5.0/doc/kernel/memory_management/ |
D | shared_multi_heap.rst | 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:type:`shared_multi_heap_region` 22 structure. This structure is also carrying an opaque and user-defined 26 .. code-block:: c [all …]
|
/Zephyr-Core-3.5.0/arch/arc/core/mpu/ |
D | arc_mpu_v4_internal.h | 4 * SPDX-License-Identifier: Apache-2.0 19 (start + size - (1 << ARC_FEATURE_MPU_ALIGNMENT_BITS)) 23 * memory domain from a background region, a dynamic region splitting 29 * codes in kernel mode which can access the memory region not covered by 30 * explicit mpu entry. Considering memory protection is mainly used to 52 * memory areas where dynamic MPU programming is allowed. 58 uint32_t attr; member 66 * the memory region inside which dynamic memory 81 static inline void _region_set_attr(uint32_t index, uint32_t attr) in _region_set_attr() argument 116 return -EINVAL; in _mpu_probe() [all …]
|
/Zephyr-Core-3.5.0/arch/arm/core/mpu/ |
D | nxp_mpu.c | 4 * SPDX-License-Identifier: Apache-2.0 15 #include <zephyr/linker/linker-defs.h> 17 #include <zephyr/dt-bindings/memory-attr/memory-attr-arm.h> 28 "`zephyr,memory-region-mpu` was deprecated in favor of `zephyr,memory-attr`"); 32 * have been reserved by the MPU driver to program the static (fixed) memory 40 /* Enable clock for the Memory Protection Unit (MPU). */ in mpu_init() 54 * This internal function performs run-time sanity check for 67 (part->size != 0U) in mpu_partition_is_valid() 69 ((part->size & in mpu_partition_is_valid() 70 (~(CONFIG_ARM_MPU_REGION_MIN_ALIGN_AND_SIZE - 1))) in mpu_partition_is_valid() [all …]
|