zephyr/include/arch
Ioannis Glaropoulos a0851c47aa arch: arm: introduce barriers when disabling interrupts
The ARM Cortex-M 321 application note is stressing that if
we disable interrupts by executing CPSID i(f), or by MSR
instructions (on PRIMASK, FAULTMASK registers), there is no
requirement to add barrier instructions after disabling
interupts. However, in ARMv7-M (and ARMv8-M Mainline) we use
BASEPRI, instead. Therefore, if we need the effect of disabling
interrupts to be recongnized immediately we should add barrier
instructions. This commit adds DSB and ISB barriers when
disabling interrupt using BASEPRI in the generic
arm _irq_lock() function as well as in the PendSV handler,
where we need to access kernel globals right after the interrups
are disabled.

Signed-off-by: Ioannis Glaropoulos <Ioannis.Glaropoulos@nordicsemi.no>
2019-03-18 11:38:19 -05:00
..
arc arch: arc: refactor the ARC MPU driver 2019-03-14 23:53:16 -07:00
arm arch: arm: introduce barriers when disabling interrupts 2019-03-18 11:38:19 -05:00
common arch: move common app_data_alignment.ld file 2019-02-28 08:53:16 -08:00
nios2 linker: nios2: align rodata section 2019-03-13 15:54:29 -05:00
posix linker: Remove unused (OPTIONAL) from linker scripts 2019-03-15 06:42:02 -05:00
riscv32 all: Update reserved function names 2019-03-11 13:48:42 -04:00
x86 linker: Remove unused (OPTIONAL) from linker scripts 2019-03-15 06:42:02 -05:00
x86_64 all: Update reserved function names 2019-03-11 13:48:42 -04:00
xtensa all: Update reserved function names 2019-03-11 13:48:42 -04:00
bits_portable.h
cpu.h
syscall.h