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 <liming.gao@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>

git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16952 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
Liming Gao 2015-02-28 05:34:38 +00:00 committed by lgao4
parent 16b6347b30
commit 9ff926d6d7
5 changed files with 12 additions and 6 deletions

View File

@ -1,7 +1,7 @@
/** @file
ACPI Timer implements one instance of Timer Library.
Copyright (c) 2013 - 2014, Intel Corporation. All rights reserved.<BR>
Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
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);
}
/**

View File

@ -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.<BR>
# Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
# 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

View File

@ -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.<BR>
# Copyright (c) 2013 - 2015, Intel Corporation. All rights reserved.<BR>
# 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

View File

@ -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

Binary file not shown.