diff options
Diffstat (limited to 'DuetPkg/DxeIpl')
-rw-r--r-- | DuetPkg/DxeIpl/LegacyTable.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/DuetPkg/DxeIpl/LegacyTable.c b/DuetPkg/DxeIpl/LegacyTable.c index 539cf25732..9232414d6d 100644 --- a/DuetPkg/DxeIpl/LegacyTable.c +++ b/DuetPkg/DxeIpl/LegacyTable.c @@ -316,9 +316,17 @@ PrepareFadtTable ( if (AcpiDescription->PM_TMR_BLK.Address == 0) {
AcpiDescription->PM_TMR_BLK.Address = Fadt->PmTmrBlk;
AcpiDescription->PM_TMR_BLK.AddressSpaceId = EFI_ACPI_3_0_SYSTEM_IO;
- AcpiDescription->PM_TMR_BLK.RegisterBitWidth = (UINT8) ((AcpiDescription->TMR_VAL_EXT == 0) ? 24 : 32);
}
+ //
+ // It's possible that the PM_TMR_BLK.RegisterBitWidth is always 32,
+ // we need to set the correct RegisterBitWidth value according to the TMR_VAL_EXT
+ // A zero indicates TMR_VAL is implemented as a 24-bit value.
+ // A one indicates TMR_VAL is implemented as a 32-bit value
+ //
+ AcpiDescription->PM_TMR_BLK.RegisterBitWidth = (UINT8) ((AcpiDescription->TMR_VAL_EXT == 0) ? 24 : 32);
+
+
return ;
}
|