diff options
author | Christian Mauderer <christian.mauderer@embedded-brains.de> | 2021-06-01 11:25:24 +0200 |
---|---|---|
committer | Christian Mauderer <christian.mauderer@embedded-brains.de> | 2021-06-21 16:11:36 +0200 |
commit | 8476715a49073c913d44dadb9f57712e461450ee (patch) | |
tree | 0076ccfee945956ba987b23a53029409249305c0 /cpukit/score/cpu/arm/include/rtems/score/armv7m.h | |
parent | cpu/armv7m: Avoid regions with negative size (diff) | |
download | rtems-8476715a49073c913d44dadb9f57712e461450ee.tar.bz2 |
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
Diffstat (limited to '')
-rw-r--r-- | cpukit/score/cpu/arm/include/rtems/score/armv7m.h | 2 |
1 files changed, 1 insertions, 1 deletions
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; } |