mirror of https://github.com/acidanthera/audk.git
36c64c664b
Interrupt must be disabled before we storing ELR and other system registers, or else ELR will be overridden by interrupt reentrance. This bug is critical as we may get occasional exception or dead loop when interrupt reentrance occurs: After increasing SP ... Before popping out registers Or After restoring ELR The 1st circumstance could also be resolved by optimizing SP operation (Pop out registers before adding SP back), but the 2nd could not be resolved by disabling interrupt. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Heyi Guo <heyi.guo@linaro.org> Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@18538 6f19259b-4bc3-4df7-8a09-765794883524 |
||
---|---|---|
.. | ||
AArch64 | ||
ArmV4 | ||
ArmV6 | ||
CpuDxe.c | ||
CpuDxe.h | ||
CpuDxe.inf | ||
CpuMmuCommon.c | ||
CpuMpCore.c |