\r
!include OvmfPkg/OvmfTpmPcds.dsc.inc\r
\r
+ gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000\r
+\r
[PcdsDynamicHii]\r
!include OvmfPkg/OvmfTpmPcdsHii.dsc.inc\r
\r
}\r
\r
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
- OvmfPkg/8259InterruptControllerDxe/8259.inf\r
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
UefiCpuPkg/CpuDxe/CpuDxe.inf\r
- OvmfPkg/8254TimerDxe/8254Timer.inf\r
+ OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {\r
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
-INF OvmfPkg/8259InterruptControllerDxe/8259.inf\r
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
-INF OvmfPkg/8254TimerDxe/8254Timer.inf\r
+INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
//\r
DisableApicTimerInterrupt ();\r
} else {\r
- TimerFrequency = PcdGet32 (PcdFSBClock) / DivideValue;\r
+ TimerFrequency = PcdGet32 (PcdFSBClock) / (UINT32)DivideValue;\r
\r
//\r
// Convert TimerPeriod into local APIC counts\r
## @file\r
# Local APIC timer driver that provides Timer Arch protocol.\r
+# PcdFSBClock is defined in MdePkg and it should be set by the consumer.\r
#\r
# Copyright (c) 2005 - 2019, Intel Corporation. All rights reserved.<BR>\r
# Copyright (c) 2019, Citrix Systems, Inc.\r
# Set ConfidentialComputing defaults\r
gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0\r
\r
+!if $(CSM_ENABLE) == FALSE\r
+ gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000\r
+!endif\r
+\r
[PcdsDynamicHii]\r
!include OvmfPkg/OvmfTpmPcdsHii.dsc.inc\r
\r
}\r
\r
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
- OvmfPkg/8259InterruptControllerDxe/8259.inf\r
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
UefiCpuPkg/CpuDxe/CpuDxe.inf\r
+!ifdef $(CSM_ENABLE)\r
+ OvmfPkg/8259InterruptControllerDxe/8259.inf\r
OvmfPkg/8254TimerDxe/8254Timer.inf\r
+!else\r
+ OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
+!endif\r
OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {\r
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
-INF OvmfPkg/8259InterruptControllerDxe/8259.inf\r
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
-INF OvmfPkg/8254TimerDxe/8254Timer.inf\r
+!ifdef $(CSM_ENABLE)\r
+ INF OvmfPkg/8259InterruptControllerDxe/8259.inf\r
+ INF OvmfPkg/8254TimerDxe/8254Timer.inf\r
+!else\r
+ INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
+!endif\r
INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
# Set ConfidentialComputing defaults\r
gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0\r
\r
+!if $(CSM_ENABLE) == FALSE\r
+ gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000\r
+!endif\r
+\r
[PcdsDynamicDefault.X64]\r
# IPv4 and IPv6 PXE Boot support.\r
gEfiNetworkPkgTokenSpaceGuid.PcdIPv4PXESupport|0x01\r
}\r
\r
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
- OvmfPkg/8259InterruptControllerDxe/8259.inf\r
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
UefiCpuPkg/CpuDxe/CpuDxe.inf\r
+!ifdef $(CSM_ENABLE)\r
+ OvmfPkg/8259InterruptControllerDxe/8259.inf\r
OvmfPkg/8254TimerDxe/8254Timer.inf\r
+!else\r
+ OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
+!endif\r
OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {\r
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
-INF OvmfPkg/8259InterruptControllerDxe/8259.inf\r
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
-INF OvmfPkg/8254TimerDxe/8254Timer.inf\r
+!ifdef $(CSM_ENABLE)\r
+ INF OvmfPkg/8259InterruptControllerDxe/8259.inf\r
+ INF OvmfPkg/8254TimerDxe/8254Timer.inf\r
+!else\r
+ INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
+!endif\r
INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf\r
# Set ConfidentialComputing defaults\r
gEfiMdePkgTokenSpaceGuid.PcdConfidentialComputingGuestAttr|0\r
\r
+!if $(CSM_ENABLE) == FALSE\r
+ gEfiMdePkgTokenSpaceGuid.PcdFSBClock|100000000\r
+!endif\r
+\r
[PcdsDynamicHii]\r
!include OvmfPkg/OvmfTpmPcdsHii.dsc.inc\r
\r
}\r
\r
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
- OvmfPkg/8259InterruptControllerDxe/8259.inf\r
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
UefiCpuPkg/CpuDxe/CpuDxe.inf\r
+!ifdef $(CSM_ENABLE)\r
+ OvmfPkg/8259InterruptControllerDxe/8259.inf\r
OvmfPkg/8254TimerDxe/8254Timer.inf\r
+!else\r
+ OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
+!endif\r
OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf {\r
INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf\r
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf\r
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf\r
-INF OvmfPkg/8259InterruptControllerDxe/8259.inf\r
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf\r
INF UefiCpuPkg/CpuDxe/CpuDxe.inf\r
-INF OvmfPkg/8254TimerDxe/8254Timer.inf\r
+!ifdef $(CSM_ENABLE)\r
+ INF OvmfPkg/8259InterruptControllerDxe/8259.inf\r
+ INF OvmfPkg/8254TimerDxe/8254Timer.inf\r
+!else\r
+ INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf\r
+!endif\r
INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf\r
INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf\r
INF MdeModulePkg/Bus/Pci/PciHostBridgeDxe/PciHostBridgeDxe.inf\r