PcAtChipsetPkg: Add PeiAcpiTimerLib to save Frequency in HOB

In V2:
1) Update PeiAcpiTimerLib base name to PeiAcpiTimerLib
2) Update PeiAcpiTimerLib to add the missing constructor to enable ACPI IO space
3) Update DxeAcpiTimerLib to cache frequency in constructor.

PeiAcpiTimerLib caches PerformanceCounterFrequency in HOB, then Pei and Dxe
AcpiTimerLib can share the same PerformanceCounterFrequency.

Contributed-under: TianoCore Contribution Agreement 1.1
Signed-off-by: Liming Gao <liming.gao@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
This commit is contained in:
Liming Gao
2018-01-23 10:24:04 +08:00
parent 84391f5795
commit fd501a7984
7 changed files with 213 additions and 9 deletions

View File

@@ -7,7 +7,7 @@
# Note: The implementation uses the lower 24-bits of the ACPI timer and
# is compatible with both 24-bit and 32-bit ACPI timers.
#
# Copyright (c) 2013 - 2016, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2013 - 2018, 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
@@ -22,10 +22,10 @@
INF_VERSION = 0x00010005
BASE_NAME = DxeAcpiTimerLib
FILE_GUID = E624B98C-845A-4b94-9B50-B20475D552B9
MODULE_TYPE = BASE
MODULE_TYPE = DXE_DRIVER
VERSION_STRING = 1.0
LIBRARY_CLASS = TimerLib|DXE_CORE DXE_DRIVER DXE_RUNTIME_DRIVER DXE_SMM_DRIVER UEFI_APPLICATION UEFI_DRIVER SMM_CORE
CONSTRUCTOR = AcpiTimerLibConstructor
CONSTRUCTOR = DxeAcpiTimerLibConstructor
MODULE_UNI_FILE = DxeAcpiTimerLib.uni
[Sources]
@@ -42,6 +42,7 @@
PciLib
IoLib
DebugLib
HobLib
[Pcd]
gPcAtChipsetPkgTokenSpaceGuid.PcdAcpiIoPciBusNumber ## CONSUMES