18STATIC UINT16 mAcpiPmBaseAddress;
19STATIC UINT16 mAcpiHwReducedSleepCtl;
28 UINT16 HostBridgeDevId;
30 HostBridgeDevId =
PcdGet16 (PcdOvmfHostBridgePciDevId);
31 switch (HostBridgeDevId) {
32 case INTEL_82441_DEVICE_ID:
33 mAcpiPmBaseAddress = PIIX4_PMBA_VALUE;
35 case INTEL_Q35_MCH_DEVICE_ID:
36 mAcpiPmBaseAddress = ICH9_PMBASE_VALUE;
38 case CLOUDHV_DEVICE_ID:
39 mAcpiHwReducedSleepCtl = CLOUDHV_ACPI_SHUTDOWN_IO_ADDRESS;
44 return EFI_UNSUPPORTED;
63 if (mAcpiHwReducedSleepCtl) {
64 IoWrite8 (mAcpiHwReducedSleepCtl, 5 << 2 | 1 << 5);
67 IoOr16 (mAcpiPmBaseAddress + 4, BIT13);
VOID EFIAPI CpuDeadLoop(VOID)
VOID EFIAPI ResetShutdown(VOID)
UINT8 EFIAPI IoWrite8(IN UINTN Port, IN UINT8 Value)
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)