#define __Q35_MCH_ICH9_H__\r
\r
#include <Library/PciLib.h>\r
+#include <Uefi/UefiBaseType.h>\r
+#include <Uefi/UefiSpec.h>\r
+#include <Protocol/PciRootBridgeIo.h>\r
\r
//\r
// Host Bridge Device ID (DID) value for Q35/MCH\r
#define POWER_MGMT_REGISTER_Q35(Offset) \\r
PCI_LIB_ADDRESS (0, 0x1f, 0, (Offset))\r
\r
+#define POWER_MGMT_REGISTER_Q35_EFI_PCI_ADDRESS(Offset) \\r
+ EFI_PCI_ADDRESS (0, 0x1f, 0, (Offset))\r
+\r
#define ICH9_PMBASE 0x40\r
#define ICH9_PMBASE_MASK (BIT15 | BIT14 | BIT13 | BIT12 | BIT11 | \\r
BIT10 | BIT9 | BIT8 | BIT7)\r
EFI_STATUS Status;\r
EFI_S3_SAVE_STATE_PROTOCOL *S3SaveState;\r
UINT32 SmiEnOrMask, SmiEnAndMask;\r
+ UINT64 GenPmCon1Address;\r
UINT16 GenPmCon1OrMask, GenPmCon1AndMask;\r
\r
ASSERT (Event == mS3SaveStateInstalled);\r
CpuDeadLoop ();\r
}\r
\r
+ GenPmCon1Address = POWER_MGMT_REGISTER_Q35_EFI_PCI_ADDRESS (\r
+ ICH9_GEN_PMCON_1);\r
GenPmCon1OrMask = ICH9_GEN_PMCON_1_SMI_LOCK;\r
GenPmCon1AndMask = MAX_UINT16;\r
Status = S3SaveState->Write (\r
S3SaveState,\r
EFI_BOOT_SCRIPT_PCI_CONFIG_READ_WRITE_OPCODE,\r
EfiBootScriptWidthUint16,\r
- (UINT64)POWER_MGMT_REGISTER_Q35 (ICH9_GEN_PMCON_1),\r
+ GenPmCon1Address,\r
&GenPmCon1OrMask,\r
&GenPmCon1AndMask\r
);\r