]> git.proxmox.com Git - mirror_edk2.git/commitdiff
Change the PM Timer RegisterBitWidth according to the Flags
authorniruiyu <niruiyu@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 11 Mar 2010 09:33:40 +0000 (09:33 +0000)
committerniruiyu <niruiyu@6f19259b-4bc3-4df7-8a09-765794883524>
Thu, 11 Mar 2010 09:33:40 +0000 (09:33 +0000)
git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10231 6f19259b-4bc3-4df7-8a09-765794883524

DuetPkg/DxeIpl/LegacyTable.c

index 539cf25732e93544c67794e37daa53e5d88fa211..9232414d6d4001a6080861820d52bd445c7b6010 100644 (file)
@@ -316,9 +316,17 @@ PrepareFadtTable (
   if (AcpiDescription->PM_TMR_BLK.Address == 0) {\r
     AcpiDescription->PM_TMR_BLK.Address          = Fadt->PmTmrBlk;\r
     AcpiDescription->PM_TMR_BLK.AddressSpaceId   = EFI_ACPI_3_0_SYSTEM_IO;\r
   if (AcpiDescription->PM_TMR_BLK.Address == 0) {\r
     AcpiDescription->PM_TMR_BLK.Address          = Fadt->PmTmrBlk;\r
     AcpiDescription->PM_TMR_BLK.AddressSpaceId   = EFI_ACPI_3_0_SYSTEM_IO;\r
-    AcpiDescription->PM_TMR_BLK.RegisterBitWidth = (UINT8) ((AcpiDescription->TMR_VAL_EXT == 0) ? 24 : 32);\r
   }\r
 \r
   }\r
 \r
+  //\r
+  // It's possible that the PM_TMR_BLK.RegisterBitWidth is always 32,\r
+  //  we need to set the correct RegisterBitWidth value according to the TMR_VAL_EXT\r
+  //  A zero indicates TMR_VAL is implemented as a 24-bit value. \r
+  //  A one indicates TMR_VAL is implemented as a 32-bit value\r
+  //\r
+  AcpiDescription->PM_TMR_BLK.RegisterBitWidth = (UINT8) ((AcpiDescription->TMR_VAL_EXT == 0) ? 24 : 32);\r
+  \r
+\r
   return ;\r
 }\r
 \r
   return ;\r
 }\r
 \r