From 8476715a49073c913d44dadb9f57712e461450ee Mon Sep 17 00:00:00 2001 From: Christian Mauderer Date: Tue, 1 Jun 2021 11:25:24 +0200 Subject: cpu/armv7m: Fix initialization of MPU regions The write to RBAR didn't have the valid flag set. Therefore the write to RASR had an influence on the previously set region. That means for example that if Region 0 had been enabled but 1 should be disabled due to a size of 0, the previous code would have disabled region 0 instead. This patch fixes that behaviour. Close #4450 --- cpukit/score/cpu/arm/include/rtems/score/armv7m.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'cpukit') diff --git a/cpukit/score/cpu/arm/include/rtems/score/armv7m.h b/cpukit/score/cpu/arm/include/rtems/score/armv7m.h index a5eaaef418..1803c8d8ca 100644 --- a/cpukit/score/cpu/arm/include/rtems/score/armv7m.h +++ b/cpukit/score/cpu/arm/include/rtems/score/armv7m.h @@ -660,7 +660,7 @@ static inline void _ARMV7M_MPU_Set_region( rbar = (uintptr_t) begin | region | ARMV7M_MPU_RBAR_VALID; rasr |= _ARMV7M_MPU_Get_region_size(size); } else { - rbar = region; + rbar = ARMV7M_MPU_RBAR_VALID | region; rasr = 0; } -- cgit v1.2.3