mirror of
https://github.com/apache/nuttx.git
synced 2026-08-14 17:03:29 +00:00
arm64_mpu.h: rename some MPU ATTR
Rename MPU region attribute macros (REGION_RAM_ATTR → REGION_RW_NA_ATTR, REGION_URAM_ATTR → REGION_RW_RW_ATTR) to explicitly indicate access permissions. Add new REGION_RO_RO_ATTR and REGION_RO_NA_ATTR macros for read-only region definitions. Signed-off-by: hujun5 <hujun5@xiaomi.com>
This commit is contained in:
parent
a6e15f6fbd
commit
386457440a
2 changed files with 41 additions and 20 deletions
|
|
@ -213,45 +213,74 @@
|
|||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
# define REGION_RAM_ATTR \
|
||||
# define REGION_RW_NA_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = (NOT_EXEC | P_RW_U_NA_MSK | INNER_SHAREABLE_MSK), \
|
||||
/* Cache-ability */ \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
# define REGION_URAM_ATTR \
|
||||
# define REGION_RW_RW_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = (NOT_EXEC | P_RW_U_RW_MSK | INNER_SHAREABLE_MSK), \
|
||||
/* Cache-ability */ \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
# define REGION_RO_RO_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = NOT_EXEC | P_RO_U_RO_MSK | INNER_SHAREABLE_MSK, \
|
||||
/* Cache-ability */ \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
# define REGION_RO_NA_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = NOT_EXEC | P_RO_U_NA_MSK | INNER_SHAREABLE_MSK, \
|
||||
/* Cache-ability */ \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
#else
|
||||
# define REGION_RAM_ATTR \
|
||||
# define REGION_RW_NA_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = NOT_EXEC | P_RW_U_NA_MSK | NON_SHAREABLE_MSK, \
|
||||
/* Cache-ability */ \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
# define REGION_URAM_ATTR \
|
||||
# define REGION_RW_RW_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = NOT_EXEC | P_RW_U_RW_MSK | NON_SHAREABLE_MSK, \
|
||||
/* Cache-ability */ \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
# define REGION_RO_RO_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = NOT_EXEC | P_RO_U_RO_MSK | NON_SHAREABLE_MSK, \
|
||||
/* Cache-ability */ \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
# define REGION_RO_NA_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = NOT_EXEC | P_RO_U_NA_MSK | NON_SHAREABLE_MSK, \
|
||||
/* Cache-ability */ \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
# define REGION_RAM_TEXT_ATTR \
|
||||
# define REGION_KTEXT_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = P_RO_U_NA_MSK | INNER_SHAREABLE_MSK, \
|
||||
/* Cache-ability */ \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
# define REGION_RAM_UTEXT_ATTR \
|
||||
# define REGION_UTEXT_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = P_RO_U_RO_MSK | INNER_SHAREABLE_MSK, \
|
||||
|
|
@ -259,14 +288,14 @@
|
|||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
#else
|
||||
# define REGION_RAM_TEXT_ATTR \
|
||||
# define REGION_KTEXT_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
/* Cache-ability */ \
|
||||
.rbar = P_RO_U_NA_MSK | NON_SHAREABLE_MSK, \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
# define REGION_RAM_UTEXT_ATTR \
|
||||
# define REGION_UTEXT_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = P_RO_U_RO_MSK | NON_SHAREABLE_MSK, \
|
||||
|
|
@ -275,14 +304,6 @@
|
|||
}
|
||||
#endif
|
||||
|
||||
#define REGION_RAM_RO_ATTR \
|
||||
{ \
|
||||
/* AP, XN, SH */ \
|
||||
.rbar = NOT_EXEC | P_RO_U_RO_MSK | NON_SHAREABLE_MSK, \
|
||||
/* Cache-ability */ \
|
||||
.mair_idx = MPU_MAIR_INDEX_SRAM, \
|
||||
}
|
||||
|
||||
#ifndef __ASSEMBLY__
|
||||
|
||||
struct arm64_mpu_region_attr
|
||||
|
|
|
|||
|
|
@ -57,14 +57,14 @@ static const struct arm64_mpu_region g_mpu_regions[] =
|
|||
MPU_REGION_ENTRY("nx_ktext",
|
||||
(uint64_t)KTEXT_START,
|
||||
(uint64_t)KTEXT_END,
|
||||
REGION_RAM_TEXT_ATTR),
|
||||
REGION_KTEXT_ATTR),
|
||||
|
||||
/* Region 1 NuttX kdata */
|
||||
|
||||
MPU_REGION_ENTRY("nx_kdata",
|
||||
(uint64_t)KSRAM_START,
|
||||
(uint64_t)KSRAM_END,
|
||||
REGION_RAM_ATTR),
|
||||
REGION_RW_NA_ATTR),
|
||||
|
||||
#ifdef CONFIG_BUILD_PROTECTED
|
||||
/* Region 2 NuttX utext */
|
||||
|
|
@ -72,14 +72,14 @@ static const struct arm64_mpu_region g_mpu_regions[] =
|
|||
MPU_REGION_ENTRY("nx_utext",
|
||||
(uint64_t)UTEXT_START,
|
||||
(uint64_t)UTEXT_END,
|
||||
REGION_RAM_UTEXT_ATTR),
|
||||
REGION_UTEXT_ATTR),
|
||||
|
||||
/* Region 3 NuttX udata */
|
||||
|
||||
MPU_REGION_ENTRY("nx_udata",
|
||||
(uint64_t)USRAM_START,
|
||||
(uint64_t)USRAM_END,
|
||||
REGION_URAM_ATTR),
|
||||
REGION_RW_RW_ATTR),
|
||||
#endif
|
||||
|
||||
/* Region 4 device region */
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue