audk/MdePkg/Library/BaseLib
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
..
AArch64 MdePkg: BaseLib: fix AArch64 DAIF interrupt mask definitions 2016-02-23 12:07:11 +01:00
Arm MdePkg: fix ARM version of InternalMathSwapBytes64 () 2015-03-27 17:27:14 +00:00
Ebc
Ia32 MdePkg: Add CPU RdRand access APIs for random number generation 2015-09-21 05:53:52 +00:00
Ipf Current IPF version SwitchStack implementation uses loadrs instruction to restore dirty partition of register stack from the backing store, but there is no guarantee to make the backing store valid before. So add flushrs before loadrs to make sure backing store valid. 2012-04-11 01:56:48 +00:00
X64 MdePkg: Add CPU RdRand access APIs for random number generation 2015-09-21 05:53:52 +00:00
ARShiftU64.c
BaseLib.inf MdePkg: BaseLib don't require NASM with Xcode 2015-11-11 02:28:51 +00:00
BaseLib.uni MdePkg: Convert all .uni files to utf-8 2015-12-15 04:53:50 +00:00
BaseLibInternals.h Fix minor typos in BaseLib LinkedList comments 2013-03-13 06:44:10 +00:00
BitField.c Correctly character in comments of BaseLib BitField. 2013-07-22 06:41:52 +00:00
CheckSum.c
ChkStkGcc.c
Cpu.c
CpuDeadLoop.c
DivS64x64Remainder.c
DivU64x32.c
DivU64x32Remainder.c
DivU64x64Remainder.c
FilePaths.c MdeModulePkg, MdePkg, NetworkPkg, OvmfPkg, PerformancePkg, ShellPkg: Library Migration. 2015-01-13 01:04:07 +00:00
GetPowerOfTwo32.c
GetPowerOfTwo64.c
HighBitSet32.c
HighBitSet64.c
LRotU32.c
LRotU64.c
LShiftU64.c
LinkedList.c Match the comments with the implementation for Baselib::GetFirstNode. 2013-08-08 03:35:09 +00:00
LongJump.c
LowBitSet32.c
LowBitSet64.c
Math64.c MdePkg/BaseLib: do not rely on undefined behavior in arithmetic shift 2015-12-31 10:47:22 +00:00
ModU64x32.c
MultS64x64.c
MultU64x32.c
MultU64x64.c
RRotU32.c
RRotU64.c
RShiftU64.c
SafeString.c MdePkg: ensure SafeString length functions don't access beyond MaxSize 2015-07-13 11:35:28 +00:00
SetJump.c
String.c MdePkg: Add deprecate flag for the functions which has a replace function in safe c library. 2014-12-15 10:05:42 +00:00
SwapBytes16.c
SwapBytes32.c
SwapBytes64.c
SwitchStack.c
Unaligned.c
X86DisablePaging32.c
X86DisablePaging64.c
X86EnablePaging32.c
X86EnablePaging64.c
X86FxRestore.c Fix memory out of band access in AsmFxSave() and AsmFxRestore(). 2012-10-30 08:35:08 +00:00
X86FxSave.c Fix memory out of band access in AsmFxSave() and AsmFxRestore(). 2012-10-30 08:35:08 +00:00
X86GetInterruptState.c
X86MemoryFence.c
X86Msr.c Add ASSERT() for BitField operations to make sure the input value is valid. 2012-12-25 02:25:50 +00:00
X86ReadGdtr.c
X86ReadIdtr.c
X86Thunk.c Update the modifier of ThunkContext parameter for AsmPrepareThunk16() in BaseLib from OUT to IN OUT. 2012-02-27 07:46:04 +00:00
X86WriteGdtr.c
X86WriteIdtr.c