} FIRMWARE_DATA;\r
\r
typedef struct {\r
- UINT8 NameOp;\r
- UINT8 RootChar;\r
- UINT8 NameChar[4];\r
- UINT8 PackageOp;\r
- UINT8 PkgLength;\r
- UINT8 NumElements;\r
- UINT8 DWordPrefix;\r
- UINT8 Pm1aCntSlpTyp;\r
- UINT8 Pm1bCntSlpTyp;\r
- UINT8 Reserved[2];\r
+ UINT8 BytePrefix;\r
+ UINT8 ByteValue;\r
+} AML_BYTE;\r
+\r
+typedef struct {\r
+ UINT8 NameOp;\r
+ UINT8 RootChar;\r
+ UINT8 NameChar[4];\r
+ UINT8 PackageOp;\r
+ UINT8 PkgLength;\r
+ UINT8 NumElements;\r
+ AML_BYTE Pm1aCntSlpTyp;\r
+ AML_BYTE Pm1bCntSlpTyp;\r
+ AML_BYTE Reserved[2];\r
} SYSTEM_STATE_PACKAGE;\r
\r
#pragma pack()\r
'\\', // RootChar\r
{ '_', 'S', 'x', '_' }, // NameChar[4]\r
0x12, // PackageOp\r
- 0x07, // PkgLength\r
- 0x01, // NumElements\r
- 0x0c, // DWordPrefix\r
- 0x00, // Pm1aCntSlpTyp\r
- 0x00, // Pm1bCntSlpTyp -- we don't support it\r
- { 0x00, 0x00 } // Reserved\r
+ 0x0A, // PkgLength\r
+ 0x04, // NumElements\r
+ { 0x0A, 0x00 }, // Pm1aCntSlpTyp\r
+ { 0x0A, 0x00 }, // Pm1bCntSlpTyp -- we don't support it\r
+ { // Reserved[2]\r
+ { 0x0A, 0x00 },\r
+ { 0x0A, 0x00 }\r
+ }\r
};\r
RETURN_STATUS Status;\r
FIRMWARE_CONFIG_ITEM FwCfgItem;\r
//\r
*SuspendToRamSize = sizeof Template;\r
CopyMem (SuspendToRam, &Template, sizeof Template);\r
- SuspendToRam->NameChar[2] = '3'; // S3\r
- SuspendToRam->Pm1aCntSlpTyp = 1; // PIIX4: STR\r
+ SuspendToRam->NameChar[2] = '3'; // S3\r
+ SuspendToRam->Pm1aCntSlpTyp.ByteValue = 1; // PIIX4: STR\r
\r
*SuspendToDiskSize = sizeof Template;\r
CopyMem (SuspendToDisk, &Template, sizeof Template);\r
- SuspendToDisk->NameChar[2] = '4'; // S4\r
- SuspendToDisk->Pm1aCntSlpTyp = 2; // PIIX4: POSCL\r
+ SuspendToDisk->NameChar[2] = '4'; // S4\r
+ SuspendToDisk->Pm1aCntSlpTyp.ByteValue = 2; // PIIX4: POSCL\r
\r
//\r
// check for overrides\r
// value to be written to the PM control register's SUS_TYP bits.\r
//\r
if (SystemStates[3] & BIT7) {\r
- SuspendToRam->Pm1aCntSlpTyp = SystemStates[3] & (BIT2 | BIT1 | BIT0);\r
- DEBUG ((DEBUG_INFO, "ACPI S3 value: %d\n", SuspendToRam->Pm1aCntSlpTyp));\r
+ SuspendToRam->Pm1aCntSlpTyp.ByteValue =\r
+ SystemStates[3] & (BIT2 | BIT1 | BIT0);\r
+ DEBUG ((DEBUG_INFO, "ACPI S3 value: %d\n",\r
+ SuspendToRam->Pm1aCntSlpTyp.ByteValue));\r
} else {\r
*SuspendToRamSize = 0;\r
DEBUG ((DEBUG_INFO, "ACPI S3 disabled\n"));\r
}\r
\r
if (SystemStates[4] & BIT7) {\r
- SuspendToDisk->Pm1aCntSlpTyp = SystemStates[4] & (BIT2 | BIT1 | BIT0);\r
- DEBUG ((DEBUG_INFO, "ACPI S4 value: %d\n", SuspendToDisk->Pm1aCntSlpTyp));\r
+ SuspendToDisk->Pm1aCntSlpTyp.ByteValue =\r
+ SystemStates[4] & (BIT2 | BIT1 | BIT0);\r
+ DEBUG ((DEBUG_INFO, "ACPI S4 value: %d\n",\r
+ SuspendToDisk->Pm1aCntSlpTyp.ByteValue));\r
} else {\r
*SuspendToDiskSize = 0;\r
DEBUG ((DEBUG_INFO, "ACPI S4 disabled\n"));\r