From 9ff926d6d7c694c09f63008819b8930b9fa79d1a Mon Sep 17 00:00:00 2001 From: Liming Gao Date: Sat, 28 Feb 2015 05:34:38 +0000 Subject: [PATCH] PcAtChipsetPkg: Update BaseAcpiTimerLib Introduce new PcdAcpiIoPortBaseAddressMask to mask BITS ACPI IO Port Base Address. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Liming Gao Reviewed-by: Star Zeng git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16952 6f19259b-4bc3-4df7-8a09-765794883524 --- .../Library/AcpiTimerLib/AcpiTimerLib.c | 8 ++++---- .../Library/AcpiTimerLib/BaseAcpiTimerLib.inf | 3 ++- .../Library/AcpiTimerLib/DxeAcpiTimerLib.inf | 3 ++- PcAtChipsetPkg/PcAtChipsetPkg.dec | 4 ++++ PcAtChipsetPkg/PcAtChipsetPkg.uni | Bin 23786 -> 24384 bytes 5 files changed, 12 insertions(+), 6 deletions(-) diff --git a/PcAtChipsetPkg/Library/AcpiTimerLib/AcpiTimerLib.c b/PcAtChipsetPkg/Library/AcpiTimerLib/AcpiTimerLib.c index b184c49ee7..ad855fe4f5 100644 --- a/PcAtChipsetPkg/Library/AcpiTimerLib/AcpiTimerLib.c +++ b/PcAtChipsetPkg/Library/AcpiTimerLib/AcpiTimerLib.c @@ -1,7 +1,7 @@ /** @file ACPI Timer implements one instance of Timer Library. - Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.
+ Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.
This program and the accompanying materials are licensed and made available under the terms and conditions of the BSD License which accompanies this distribution. The full text of the license may be found at @@ -118,11 +118,11 @@ InternalAcpiGetAcpiTimerIoPort ( { UINT16 Port; - Port = PcdGet16 (PcdAcpiIoPciBarRegisterOffset); + Port = PcdGet16 (PcdAcpiIoPortBaseAddress); // // If the register offset to the BAR for the ACPI I/O Port Base Address is not 0x0000, then - // read the PCI register for the APCI BAR value in case the BAR has been programmed to a + // read the PCI register for the ACPI BAR value in case the BAR has been programmed to a // value other than PcdAcpiIoPortBaseAddress // if (PcdGet16 (PcdAcpiIoPciBarRegisterOffset) != 0x0000) { @@ -134,7 +134,7 @@ InternalAcpiGetAcpiTimerIoPort ( )); } - return (Port & ~BIT0) + PcdGet16 (PcdAcpiPm1TmrOffset); + return (Port & PcdGet16 (PcdAcpiIoPortBaseAddressMask)) + PcdGet16 (PcdAcpiPm1TmrOffset); } /** diff --git a/PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf b/PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf index fcd7814a57..48caebff13 100644 --- a/PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf +++ b/PcAtChipsetPkg/Library/AcpiTimerLib/BaseAcpiTimerLib.inf @@ -4,7 +4,7 @@ # Provides basic timer support using the ACPI timer hardware. The performance # counter features are provided by the processors time stamp counter. # -# Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.
# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at @@ -49,3 +49,4 @@ gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBarRegisterOffset ## CONSUMES gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddress ## CONSUMES gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset ## CONSUMES + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddressMask ## CONSUMES \ No newline at end of file diff --git a/PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf b/PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf index 5c8a8e6852..3446c03eda 100644 --- a/PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf +++ b/PcAtChipsetPkg/Library/AcpiTimerLib/DxeAcpiTimerLib.inf @@ -4,7 +4,7 @@ # Provides basic timer support using the ACPI timer hardware. The performance # counter features are provided by the processors time stamp counter. # -# Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.
+# Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.
# This program and the accompanying materials # are licensed and made available under the terms and conditions of the BSD License # which accompanies this distribution. The full text of the license may be found at @@ -49,3 +49,4 @@ gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBarRegisterOffset ## CONSUMES gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddress ## CONSUMES gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset ## CONSUMES + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddressMask ## CONSUMES \ No newline at end of file diff --git a/PcAtChipsetPkg/PcAtChipsetPkg.dec b/PcAtChipsetPkg/PcAtChipsetPkg.dec index 11c31e1d5a..fb6fb8b9f7 100644 --- a/PcAtChipsetPkg/PcAtChipsetPkg.dec +++ b/PcAtChipsetPkg/PcAtChipsetPkg.dec @@ -163,5 +163,9 @@ # @Prompt Offset to 32-bit Timer register in ACPI BAR gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiPm1TmrOffset |0x0008|UINT16|0x00000017 + ## Defines the bit mask to retrieve ACPI IO Port Base Address + # @Prompt ACPI IO Port Base Address Mask + gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPortBaseAddressMask |0xFFFE|UINT16|0x00000018 + [UserExtensions.TianoCore."ExtraFiles"] PcAtChipsetPkgExtra.uni \ No newline at end of file diff --git a/PcAtChipsetPkg/PcAtChipsetPkg.uni b/PcAtChipsetPkg/PcAtChipsetPkg.uni index 080f302ea791c990b5a1658d265766a13b994070..e6d91632933bd3c481927a63a54835838afe35a7 100644 GIT binary patch delta 194 zcmaF0lkvbl#tpAxCYRatOcwBwntY8_$y|X!iNTS3^H$WlC#X@G+&XBe4rkX Y>JlKC38c%QrjTlr9?*Tf3|wFg0EX%+2><{9 delta 9 QcmX@GkMY$`#tpAx02&