From 95a7e716611565f5c36550ddb277561583af7cf0 Mon Sep 17 00:00:00 2001 From: Bradley Bolen Date: Sat, 29 Aug 2020 23:28:37 -0400 Subject: [PATCH] arch: arm: aarch32: Move mpu code up a level Move the mpu code to the common aarch32 directory in preparation for Cortex-R mpu support Signed-off-by: Bradley Bolen --- arch/arm/core/aarch32/CMakeLists.txt | 3 ++- arch/arm/core/aarch32/Kconfig | 2 ++ arch/arm/core/aarch32/cortex_m/Kconfig | 1 - arch/arm/core/aarch32/{cortex_m => }/mpu/CMakeLists.txt | 0 arch/arm/core/aarch32/{cortex_m => }/mpu/Kconfig | 0 arch/arm/core/aarch32/{cortex_m => }/mpu/arm_core_mpu.c | 0 arch/arm/core/aarch32/{cortex_m => }/mpu/arm_core_mpu_dev.h | 0 arch/arm/core/aarch32/{cortex_m => }/mpu/arm_mpu.c | 0 .../core/aarch32/{cortex_m => }/mpu/arm_mpu_v7_internal.h | 6 +++--- .../core/aarch32/{cortex_m => }/mpu/arm_mpu_v8_internal.h | 6 +++--- arch/arm/core/aarch32/{cortex_m => }/mpu/nxp_mpu.c | 0 11 files changed, 10 insertions(+), 8 deletions(-) rename arch/arm/core/aarch32/{cortex_m => }/mpu/CMakeLists.txt (100%) rename arch/arm/core/aarch32/{cortex_m => }/mpu/Kconfig (100%) rename arch/arm/core/aarch32/{cortex_m => }/mpu/arm_core_mpu.c (100%) rename arch/arm/core/aarch32/{cortex_m => }/mpu/arm_core_mpu_dev.h (100%) rename arch/arm/core/aarch32/{cortex_m => }/mpu/arm_mpu.c (100%) rename arch/arm/core/aarch32/{cortex_m => }/mpu/arm_mpu_v7_internal.h (97%) rename arch/arm/core/aarch32/{cortex_m => }/mpu/arm_mpu_v8_internal.h (98%) rename arch/arm/core/aarch32/{cortex_m => }/mpu/nxp_mpu.c (100%) diff --git a/arch/arm/core/aarch32/CMakeLists.txt b/arch/arm/core/aarch32/CMakeLists.txt index 121969faf20..6c072050065 100644 --- a/arch/arm/core/aarch32/CMakeLists.txt +++ b/arch/arm/core/aarch32/CMakeLists.txt @@ -27,11 +27,12 @@ zephyr_library_sources_ifdef(CONFIG_THREAD_LOCAL_STORAGE ../common/tls.c) zephyr_library_sources_ifdef(CONFIG_USERSPACE userspace.S) add_subdirectory_ifdef(CONFIG_CPU_CORTEX_M cortex_m) -add_subdirectory_ifdef(CONFIG_ARM_MPU cortex_m/mpu) add_subdirectory_ifdef(CONFIG_CPU_CORTEX_M_HAS_CMSE cortex_m/cmse) add_subdirectory_ifdef(CONFIG_ARM_SECURE_FIRMWARE cortex_m/tz) add_subdirectory_ifdef(CONFIG_ARM_NONSECURE_FIRMWARE cortex_m/tz) +add_subdirectory_ifdef(CONFIG_ARM_MPU mpu) + add_subdirectory_ifdef(CONFIG_CPU_CORTEX_R cortex_a_r) zephyr_linker_sources(ROM_START SORT_KEY 0x0vectors vector_table.ld) diff --git a/arch/arm/core/aarch32/Kconfig b/arch/arm/core/aarch32/Kconfig index cd88caf9e0b..dbf0350a9e7 100644 --- a/arch/arm/core/aarch32/Kconfig +++ b/arch/arm/core/aarch32/Kconfig @@ -259,3 +259,5 @@ endchoice rsource "cortex_m/Kconfig" rsource "cortex_a_r/Kconfig" + +rsource "mpu/Kconfig" diff --git a/arch/arm/core/aarch32/cortex_m/Kconfig b/arch/arm/core/aarch32/cortex_m/Kconfig index 2e8927c0765..cd859c7834b 100644 --- a/arch/arm/core/aarch32/cortex_m/Kconfig +++ b/arch/arm/core/aarch32/cortex_m/Kconfig @@ -419,7 +419,6 @@ config CORTEX_M_DEBUG_NULL_POINTER_EXCEPTION_PAGE_SIZE endif # CORTEX_M_DEBUG_NULL_POINTER_EXCEPTION -rsource "mpu/Kconfig" rsource "tz/Kconfig" endif # CPU_CORTEX_M diff --git a/arch/arm/core/aarch32/cortex_m/mpu/CMakeLists.txt b/arch/arm/core/aarch32/mpu/CMakeLists.txt similarity index 100% rename from arch/arm/core/aarch32/cortex_m/mpu/CMakeLists.txt rename to arch/arm/core/aarch32/mpu/CMakeLists.txt diff --git a/arch/arm/core/aarch32/cortex_m/mpu/Kconfig b/arch/arm/core/aarch32/mpu/Kconfig similarity index 100% rename from arch/arm/core/aarch32/cortex_m/mpu/Kconfig rename to arch/arm/core/aarch32/mpu/Kconfig diff --git a/arch/arm/core/aarch32/cortex_m/mpu/arm_core_mpu.c b/arch/arm/core/aarch32/mpu/arm_core_mpu.c similarity index 100% rename from arch/arm/core/aarch32/cortex_m/mpu/arm_core_mpu.c rename to arch/arm/core/aarch32/mpu/arm_core_mpu.c diff --git a/arch/arm/core/aarch32/cortex_m/mpu/arm_core_mpu_dev.h b/arch/arm/core/aarch32/mpu/arm_core_mpu_dev.h similarity index 100% rename from arch/arm/core/aarch32/cortex_m/mpu/arm_core_mpu_dev.h rename to arch/arm/core/aarch32/mpu/arm_core_mpu_dev.h diff --git a/arch/arm/core/aarch32/cortex_m/mpu/arm_mpu.c b/arch/arm/core/aarch32/mpu/arm_mpu.c similarity index 100% rename from arch/arm/core/aarch32/cortex_m/mpu/arm_mpu.c rename to arch/arm/core/aarch32/mpu/arm_mpu.c diff --git a/arch/arm/core/aarch32/cortex_m/mpu/arm_mpu_v7_internal.h b/arch/arm/core/aarch32/mpu/arm_mpu_v7_internal.h similarity index 97% rename from arch/arm/core/aarch32/cortex_m/mpu/arm_mpu_v7_internal.h rename to arch/arm/core/aarch32/mpu/arm_mpu_v7_internal.h index 9a0c9f563cf..1d928f9bbec 100644 --- a/arch/arm/core/aarch32/cortex_m/mpu/arm_mpu_v7_internal.h +++ b/arch/arm/core/aarch32/mpu/arm_mpu_v7_internal.h @@ -5,8 +5,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -#ifndef ZEPHYR_ARCH_ARM_CORE_AARCH32_CORTEX_M_MPU_ARM_MPU_V7_INTERNAL_H_ -#define ZEPHYR_ARCH_ARM_CORE_AARCH32_CORTEX_M_MPU_ARM_MPU_V7_INTERNAL_H_ +#ifndef ZEPHYR_ARCH_ARM_CORE_AARCH32_MPU_ARM_MPU_V7_INTERNAL_H_ +#define ZEPHYR_ARCH_ARM_CORE_AARCH32_MPU_ARM_MPU_V7_INTERNAL_H_ #include @@ -349,4 +349,4 @@ static int mpu_configure_dynamic_mpu_regions(const struct z_arm_mpu_partition return mpu_reg_index; } -#endif /* ZEPHYR_ARCH_ARM_CORE_AARCH32_CORTEX_M_MPU_ARM_MPU_V7_INTERNAL_H_ */ +#endif /* ZEPHYR_ARCH_ARM_CORE_AARCH32_MPU_ARM_MPU_V7_INTERNAL_H_ */ diff --git a/arch/arm/core/aarch32/cortex_m/mpu/arm_mpu_v8_internal.h b/arch/arm/core/aarch32/mpu/arm_mpu_v8_internal.h similarity index 98% rename from arch/arm/core/aarch32/cortex_m/mpu/arm_mpu_v8_internal.h rename to arch/arm/core/aarch32/mpu/arm_mpu_v8_internal.h index 01cf1e7fa62..201486cb8c5 100644 --- a/arch/arm/core/aarch32/cortex_m/mpu/arm_mpu_v8_internal.h +++ b/arch/arm/core/aarch32/mpu/arm_mpu_v8_internal.h @@ -5,8 +5,8 @@ * SPDX-License-Identifier: Apache-2.0 */ -#ifndef ZEPHYR_ARCH_ARM_CORE_AARCH32_CORTEX_M_MPU_ARM_MPU_V8_INTERNAL_H_ -#define ZEPHYR_ARCH_ARM_CORE_AARCH32_CORTEX_M_MPU_ARM_MPU_V8_INTERNAL_H_ +#ifndef ZEPHYR_ARCH_ARM_CORE_AARCH32_MPU_ARM_MPU_V8_INTERNAL_H_ +#define ZEPHYR_ARCH_ARM_CORE_AARCH32_MPU_ARM_MPU_V8_INTERNAL_H_ #include #define LOG_LEVEL CONFIG_MPU_LOG_LEVEL @@ -583,4 +583,4 @@ static int mpu_configure_dynamic_mpu_regions(const struct z_arm_mpu_partition return mpu_reg_index; } -#endif /* ZEPHYR_ARCH_ARM_CORE_AARCH32_CORTEX_M_MPU_ARM_MPU_V8_INTERNAL_H_ */ +#endif /* ZEPHYR_ARCH_ARM_CORE_AARCH32_MPU_ARM_MPU_V8_INTERNAL_H_ */ diff --git a/arch/arm/core/aarch32/cortex_m/mpu/nxp_mpu.c b/arch/arm/core/aarch32/mpu/nxp_mpu.c similarity index 100% rename from arch/arm/core/aarch32/cortex_m/mpu/nxp_mpu.c rename to arch/arm/core/aarch32/mpu/nxp_mpu.c