summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--DuetPkg/DxeIpl/LegacyTable.c10
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 ;
}