11#include <IndustryStandard/Xen/sched.h>
20STATIC UINT16 mAcpiPmBaseAddress;
29 UINT16 HostBridgeDevId;
31 HostBridgeDevId =
PcdGet16 (PcdOvmfHostBridgePciDevId);
32 switch (HostBridgeDevId) {
33 case INTEL_82441_DEVICE_ID:
34 mAcpiPmBaseAddress = PIIX4_PMBA_VALUE;
36 case INTEL_Q35_MCH_DEVICE_ID:
37 mAcpiPmBaseAddress = ICH9_PMBASE_VALUE;
44 mAcpiPmBaseAddress = 0xffff;
64 if (mAcpiPmBaseAddress != 0xffff) {
66 IoOr16 (mAcpiPmBaseAddress + 4, BIT13);
70 .Reason = XEN_SHED_SHUTDOWN_POWEROFF,
72 ReturnCode = XenHypercallSchedOp (XEN_SCHEDOP_SHUTDOWN, &ShutdownOp);
73 ASSERT (ReturnCode == 0);
VOID EFIAPI CpuDeadLoop(VOID)
VOID EFIAPI ResetShutdown(VOID)
UINT16 EFIAPI IoOr16(IN UINTN Port, IN UINT16 OrData)
UINT16 EFIAPI IoBitFieldWrite16(IN UINTN Port, IN UINTN StartBit, IN UINTN EndBit, IN UINT16 Value)
#define PcdGet16(TokenName)