arch: arm: Create a MPU entry for relocated code

Code relocated using CONFIG_CODE_DATA_RELOCATION_SRAM should
be allowed to execute from SRAM

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
diff --git a/arch/arm/core/aarch32/cortex_m/mpu/arm_core_mpu.c b/arch/arm/core/aarch32/cortex_m/mpu/arm_core_mpu.c
index 5a7e04e..5ad66fe 100644
--- a/arch/arm/core/aarch32/cortex_m/mpu/arm_core_mpu.c
+++ b/arch/arm/core/aarch32/cortex_m/mpu/arm_core_mpu.c
@@ -55,6 +55,11 @@
 uint32_t z_arm_mpu_stack_guard_and_fpu_adjust(struct k_thread *thread);
 #endif
 
+#if defined(CONFIG_CODE_DATA_RELOCATION_SRAM)
+extern char __sram_text_start[];
+extern char __sram_text_size[];
+#endif
+
 static const struct z_arm_mpu_partition static_regions[] = {
 #if defined(CONFIG_COVERAGE_GCOV) && defined(CONFIG_USERSPACE)
 		{
@@ -82,6 +87,14 @@
 		.attr = K_MEM_PARTITION_P_RX_U_RX,
 		},
 #endif /* CONFIG_ARCH_HAS_RAMFUNC_SUPPORT */
+#if defined(CONFIG_CODE_DATA_RELOCATION_SRAM)
+		{
+		/* RAM area for relocated text */
+		.start = (uint32_t)&__sram_text_start,
+		.size = (uint32_t)&__sram_text_size,
+		.attr = K_MEM_PARTITION_P_RX_U_RX,
+		},
+#endif /* CONFIG_CODE_DATA_RELOCATION_SRAM */
 #if !defined(CONFIG_MULTITHREADING) && defined(CONFIG_MPU_STACK_GUARD)
 		/* Main stack MPU guard to detect overflow.
 		 * Note: