audk/MdePkg/Library/BaseLib/AArch64
Cohen, Eugene 5458faf845 MdePkg: BaseLib: fix AArch64 DAIF interrupt mask definitions
The AArch64 DAIF bits are different for reading (mrs) versus writing (msr).
The bitmask definitions assumed they were the same causing incorrect
results when trying to determine the current interrupt state through
GetInterruptState.

The logic for interpreting the DAIF read data using the csel instruction
was also incorrect and is fixed.

Replaced the magic numbers in DisableInterrupts.S and EnableInterrupts.S
with definitions for the DAIF write (daifset/daifclr) IRQ field.

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eugene Cohen <eugene@hp.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
2016-02-23 12:07:11 +01:00
..
CpuBreakpoint.S MdePkg/AArch64: use GCC_ASM_EXPORT to export functions 2015-07-09 10:43:27 +00:00
DisableInterrupts.S MdePkg: BaseLib: fix AArch64 DAIF interrupt mask definitions 2016-02-23 12:07:11 +01:00
EnableInterrupts.S MdePkg: BaseLib: fix AArch64 DAIF interrupt mask definitions 2016-02-23 12:07:11 +01:00
GetInterruptsState.S MdePkg: BaseLib: fix AArch64 DAIF interrupt mask definitions 2016-02-23 12:07:11 +01:00
MemoryFence.S Add Memory fence for ARM Architecture (32 and 64 bit) 2013-09-02 09:02:16 +00:00
SetJumpLongJump.S MdePkg/AArch64: use GCC_ASM_EXPORT to export functions 2015-07-09 10:43:27 +00:00
SwitchStack.S MdePkg/AArch64: use GCC_ASM_EXPORT to export functions 2015-07-09 10:43:27 +00:00