mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-09-23 00:59:12 +08:00
bsps/aarch64: Add missing ISB after SCTLR write
A write to the sctlr_el1 register is a 'context-changing operation' and thus requires a pipeline flush for the change to actually take effect on subsequent instructions. The isb instruction gurantees this, and ensures mmu is enabled immediately.
This commit is contained in:
committed by
Joel Sherrill
parent
88c4f7fa59
commit
57d18ec2f1
@@ -223,6 +223,9 @@ aarch64_mmu_enable( const aarch64_mmu_control *control )
|
||||
sctlr = _AArch64_Read_sctlr_el1();
|
||||
sctlr |= AARCH64_SCTLR_EL1_I | AARCH64_SCTLR_EL1_C | AARCH64_SCTLR_EL1_M;
|
||||
_AArch64_Write_sctlr_el1( sctlr );
|
||||
|
||||
/* Ensure write to sctlr_el1 is complete before returning */
|
||||
_AARCH64_Instruction_synchronization_barrier();
|
||||
}
|
||||
|
||||
BSP_START_TEXT_SECTION static inline void
|
||||
|
||||
Reference in New Issue
Block a user