|
44 | 44 | #define K_MEM_VIRT_OFFSET 0
|
45 | 45 | #endif /* CONFIG_MMU */
|
46 | 46 |
|
| 47 | +#if CONFIG_SRAM_BASE_ADDRESS != 0 |
| 48 | +#define IS_SRAM_ADDRESS_LOWER(ADDR) ((ADDR) >= CONFIG_SRAM_BASE_ADDRESS) |
| 49 | +#else |
| 50 | +#define IS_SRAM_ADDRESS_LOWER(ADDR) true |
| 51 | +#endif /* CONFIG_SRAM_BASE_ADDRESS != 0 */ |
| 52 | + |
| 53 | + |
| 54 | +#if (CONFIG_SRAM_BASE_ADDRESS + (CONFIG_SRAM_SIZE * 1024UL)) != 0 |
| 55 | +#define IS_SRAM_ADDRESS_UPPER(ADDR) \ |
| 56 | + ((ADDR) < (CONFIG_SRAM_BASE_ADDRESS + \ |
| 57 | + (CONFIG_SRAM_SIZE * 1024UL))) |
| 58 | +#else |
| 59 | +#define IS_SRAM_ADDRESS_UPPER(ADDR) false |
| 60 | +#endif |
| 61 | + |
| 62 | +#define IS_SRAM_ADDRESS(ADDR) \ |
| 63 | + (IS_SRAM_ADDRESS_LOWER(ADDR) && \ |
| 64 | + IS_SRAM_ADDRESS_UPPER(ADDR)) |
| 65 | + |
47 | 66 | /**
|
48 | 67 | * @brief Get physical address from virtual address.
|
49 | 68 | *
|
@@ -115,16 +134,7 @@ static inline uintptr_t k_mem_phys_addr(void *virt)
|
115 | 134 | "address %p not in permanent mappings", virt);
|
116 | 135 | #else
|
117 | 136 | /* Should be identity-mapped */
|
118 |
| - __ASSERT( |
119 |
| -#if CONFIG_SRAM_BASE_ADDRESS != 0 |
120 |
| - (addr >= CONFIG_SRAM_BASE_ADDRESS) && |
121 |
| -#endif /* CONFIG_SRAM_BASE_ADDRESS != 0 */ |
122 |
| -#if (CONFIG_SRAM_BASE_ADDRESS + (CONFIG_SRAM_SIZE * 1024UL)) != 0 |
123 |
| - (addr < (CONFIG_SRAM_BASE_ADDRESS + |
124 |
| - (CONFIG_SRAM_SIZE * 1024UL))), |
125 |
| -#else |
126 |
| - false, |
127 |
| -#endif /* (CONFIG_SRAM_BASE_ADDRESS + (CONFIG_SRAM_SIZE * 1024UL)) != 0 */ |
| 137 | + __ASSERT(IS_SRAM_ADDRESS(addr), |
128 | 138 | "physical address 0x%lx not in RAM",
|
129 | 139 | (unsigned long)addr);
|
130 | 140 | #endif /* CONFIG_MMU */
|
@@ -153,16 +163,7 @@ static inline void *k_mem_virt_addr(uintptr_t phys)
|
153 | 163 | __ASSERT(sys_mm_is_phys_addr_in_range(phys),
|
154 | 164 | "physical address 0x%lx not in RAM", (unsigned long)phys);
|
155 | 165 | #else
|
156 |
| - __ASSERT( |
157 |
| -#if CONFIG_SRAM_BASE_ADDRESS != 0 |
158 |
| - (phys >= CONFIG_SRAM_BASE_ADDRESS) && |
159 |
| -#endif /* CONFIG_SRAM_BASE_ADDRESS != 0 */ |
160 |
| -#if (CONFIG_SRAM_BASE_ADDRESS + (CONFIG_SRAM_SIZE * 1024UL)) != 0 |
161 |
| - (phys < (CONFIG_SRAM_BASE_ADDRESS + |
162 |
| - (CONFIG_SRAM_SIZE * 1024UL))), |
163 |
| -#else |
164 |
| - false, |
165 |
| -#endif /* (CONFIG_SRAM_BASE_ADDRESS + (CONFIG_SRAM_SIZE * 1024UL)) != 0 */ |
| 166 | + __ASSERT(IS_SRAM_ADDRESS(phys), |
166 | 167 | "physical address 0x%lx not in RAM", (unsigned long)phys);
|
167 | 168 | #endif /* CONFIG_KERNEL_VM_USE_CUSTOM_MEM_RANGE_CHECK */
|
168 | 169 |
|
|
0 commit comments