From 4903c013bcdb61a487cbf72c0ad784ba3a1b18f9 Mon Sep 17 00:00:00 2001 From: niruiyu Date: Thu, 11 Mar 2010 09:33:40 +0000 Subject: Change the PM Timer RegisterBitWidth according to the Flags git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@10231 6f19259b-4bc3-4df7-8a09-765794883524 --- DuetPkg/DxeIpl/LegacyTable.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'DuetPkg/DxeIpl') 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 ; } -- cgit v1.2.3