The PCD gArmTokenSpaceGuid.PcdArmArchTimerFreqInHz is used in the SEC phase (if applicable) to write the platform's counter frequency to the CNTFRQ system register, as this needs to be done by the highest exception level implemented. Under virtualization, we should be able to rely on the host to have initialized this register to a sane value, as we run at EL1 and only use the virtual timer, so the PcdArmArchTimerFreqInHz PCD has little meaning here. So in either case, by the time we enter the DXE phase, we can use the CNTFRQ system register to read the frequency instead of looking at the PCD. Contributed-under: TianoCore Contribution Agreement 1.0 Signed-off-by: Ard Biesheuvel <ard.biesheuvel@linaro.org> Reviewed-by: Olivier Martin <olivier.martin@arm.com> git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@16090 6f19259b-4bc3-4df7-8a09-765794883524
61 lines
1.6 KiB
INI
61 lines
1.6 KiB
INI
#/** @file
|
|
#
|
|
# Component description file for Timer DXE module
|
|
#
|
|
# Copyright (c) 2009 - 2010, Apple Inc. 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
|
|
# http://opensource.org/licenses/bsd-license.php
|
|
#
|
|
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
|
#
|
|
#**/
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = ArmTimerDxe
|
|
FILE_GUID = 49ea041e-6752-42ca-b0b1-7344fe2546b7
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.0
|
|
|
|
ENTRY_POINT = TimerInitialize
|
|
|
|
[Sources.common]
|
|
TimerDxe.c
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
EmbeddedPkg/EmbeddedPkg.dec
|
|
ArmPkg/ArmPkg.dec
|
|
ArmPlatformPkg/ArmPlatformPkg.dec
|
|
|
|
[LibraryClasses]
|
|
ArmLib
|
|
BaseLib
|
|
UefiRuntimeServicesTableLib
|
|
UefiLib
|
|
UefiBootServicesTableLib
|
|
BaseMemoryLib
|
|
DebugLib
|
|
UefiDriverEntryPoint
|
|
IoLib
|
|
ArmGenericTimerCounterLib
|
|
|
|
[Guids]
|
|
|
|
[Protocols]
|
|
gEfiTimerArchProtocolGuid
|
|
gHardwareInterruptProtocolGuid
|
|
|
|
[Pcd.common]
|
|
gEmbeddedTokenSpaceGuid.PcdTimerPeriod
|
|
gArmTokenSpaceGuid.PcdArmArchTimerSecIntrNum
|
|
gArmTokenSpaceGuid.PcdArmArchTimerIntrNum
|
|
gArmTokenSpaceGuid.PcdArmArchTimerVirtIntrNum
|
|
gArmTokenSpaceGuid.PcdArmArchTimerHypIntrNum
|
|
|
|
[Depex]
|
|
gHardwareInterruptProtocolGuid
|