UefiCpuPkg/CpuDxe: Read hardware interrupt state in GetInterruptState

Fix CpuGetInterruptState() to read the actual hardware interrupt flag
(RFLAGS.IF) via BaseLib's GetInterruptState() instead of returning a cached
boolean variable. The cached variable becomes stale in interrupt context
where hardware disables interrupts without going through the protocol's
DisableInterrupt() call.

This is a PI Spec conformance fix: EFI_CPU_ARCH_PROTOCOL.GetInterruptState()
is specified to return the current processor interrupt state.

Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com>
1 file changed