arch: arm: move ARMv7-m specific content in corresponding header file
This commit moves the macro definitions and convenience wrappers for ARM MPU that are specific to ARMv6-m, and ARMv7-m to an arch-specific MPU header file. It leaves only the generic content in arm_mpu.h, i.e. the content that is supposed to be common for ARMv8-M MPU. Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
This commit is contained in:
parent
1ed37e77ce
commit
ca6b21b907
3 changed files with 160 additions and 140 deletions
|
@ -258,36 +258,6 @@ extern "C" {
|
|||
#ifdef CONFIG_ARM_MPU
|
||||
#ifndef _ASMLANGUAGE
|
||||
#include <arch/arm/cortex_m/mpu/arm_mpu.h>
|
||||
|
||||
#define K_MEM_PARTITION_P_NA_U_NA (NO_ACCESS | MPU_RASR_XN_Msk)
|
||||
#define K_MEM_PARTITION_P_RW_U_RW (P_RW_U_RW | MPU_RASR_XN_Msk)
|
||||
#define K_MEM_PARTITION_P_RW_U_RO (P_RW_U_RO | MPU_RASR_XN_Msk)
|
||||
#define K_MEM_PARTITION_P_RW_U_NA (P_RW_U_NA | MPU_RASR_XN_Msk)
|
||||
#define K_MEM_PARTITION_P_RO_U_RO (P_RO_U_RO | MPU_RASR_XN_Msk)
|
||||
#define K_MEM_PARTITION_P_RO_U_NA (P_RO_U_NA | MPU_RASR_XN_Msk)
|
||||
|
||||
/* Execution-allowed attributes */
|
||||
#define K_MEM_PARTITION_P_RWX_U_RWX (P_RW_U_RW)
|
||||
#define K_MEM_PARTITION_P_RWX_U_RX (P_RW_U_RO)
|
||||
#define K_MEM_PARTITION_P_RX_U_RX (P_RO_U_RO)
|
||||
|
||||
#define K_MEM_PARTITION_IS_WRITABLE(attr) \
|
||||
({ \
|
||||
int __is_writable__; \
|
||||
switch (attr) { \
|
||||
case P_RW_U_RW: \
|
||||
case P_RW_U_RO: \
|
||||
case P_RW_U_NA: \
|
||||
__is_writable__ = 1; \
|
||||
break; \
|
||||
default: \
|
||||
__is_writable__ = 0; \
|
||||
} \
|
||||
__is_writable__; \
|
||||
})
|
||||
#define K_MEM_PARTITION_IS_EXECUTABLE(attr) \
|
||||
(!((attr) & (MPU_RASR_XN_Msk)))
|
||||
|
||||
#endif /* _ASMLANGUAGE */
|
||||
#define _ARCH_MEM_PARTITION_ALIGN_CHECK(start, size) \
|
||||
BUILD_ASSERT_MSG(!(((size) & ((size) - 1))) && (size) >= 32 && \
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue