]> git.proxmox.com Git - mirror_edk2.git/commit
ArmPkg: CpuDxe: fix AArch64 interrupt read masks
authorCohen, Eugene <eugene@hp.com>
Mon, 22 Feb 2016 23:08:27 +0000 (23:08 +0000)
committerArd Biesheuvel <ard.biesheuvel@linaro.org>
Tue, 23 Feb 2016 11:07:11 +0000 (12:07 +0100)
commit4af3dd80abb759f3c439f8d1369a57745db08d30
tree60c26300065cf79a8fbd29330a21af224d2bad97
parent2ba36b2f0ea77661a4a3dcce6785df49be20698d
ArmPkg: CpuDxe: fix AArch64 interrupt read masks

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 ArmGetInterruptState.

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

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Eugene Cohen <eugene@hp.com>
Reviewed-by: Ard Biesheuvel <ard.biesheuvel@linaro.org>
ArmPkg/Library/ArmLib/AArch64/ArmLibSupportV8.S
ArmPkg/Library/ArmLib/Common/AArch64/ArmLibSupport.S