Skip to content

Commit 333501e

Browse files
YuguoWHnashif
authored andcommitted
arch: arc: add support of mpu v3
Add support of ARC mpu version 3 which can have region size down to 32 bytes Signed-off-by: Yuguo Zou <[email protected]>
1 parent f4ad81b commit 333501e

File tree

3 files changed

+7
-2
lines changed

3 files changed

+7
-2
lines changed

arch/arc/core/mpu/arc_mpu_v2_internal.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,12 @@
1717
#define AUX_MPU_RDP_SIZE_MASK (0xE03)
1818

1919
/* For MPU version 2, the minimum protection region size is 2048 bytes */
20+
#if CONFIG_ARC_MPU_VER == 2
2021
#define ARC_FEATURE_MPU_ALIGNMENT_BITS 11
22+
/* For MPU version 3, the minimum protection region size is 32 bytes */
23+
#else
24+
#define ARC_FEATURE_MPU_ALIGNMENT_BITS 5
25+
#endif
2126

2227
/**
2328
* This internal function initializes a MPU region

include/arch/arc/arch.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ extern "C" {
6666
#ifdef CONFIG_ARC_CORE_MPU
6767
#if CONFIG_ARC_MPU_VER == 2
6868
#define Z_ARC_MPU_ALIGN 2048
69-
#elif CONFIG_ARC_MPU_VER == 4
69+
#elif (CONFIG_ARC_MPU_VER == 3) || (CONFIG_ARC_MPU_VER == 4)
7070
#define Z_ARC_MPU_ALIGN 32
7171
#else
7272
#error "Unsupported MPU version"

include/arch/arc/v2/linker.ld

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
#ifdef CONFIG_ARC_MPU_ENABLE
3131
#if CONFIG_ARC_MPU_VER == 2
3232
#define MPU_MIN_SIZE 2048
33-
#elif CONFIG_ARC_MPU_VER == 4
33+
#elif (CONFIG_ARC_MPU_VER == 3) || (CONFIG_ARC_MPU_VER == 4)
3434
#define MPU_MIN_SIZE 32
3535
#endif
3636
#define MPU_MIN_SIZE_ALIGN . = ALIGN(MPU_MIN_SIZE);

0 commit comments

Comments
 (0)