mirror of https://github.com/acidanthera/audk.git
OvmfPkg: Enable 2 different CpuMpPei and CpuDxe drivers
BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3918 In OvmfPkgX64 we enable 2 different CpuMpPei and CpuDxe drivers. The difference between the drivers is the MpInitLib or MpInitLibUp. This is acomplished by adding a MpInitLibDepLib. In IntelTdxX64 we enable 2 versions of CpuDxe drivers. It is because PEI is skipped in IntelTdxX64. Cc: Eric Dong <eric.dong@intel.com> Cc: Ray Ni <ray.ni@intel.com> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Min Xu <min.m.xu@intel.com> Tested-by: Tom Lendacky <thomas.lendacky@amd.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Jiewen Yao <jiewen.yao@intel.com> Reviewed-by: Ray Ni <ray.ni@intel.com>
This commit is contained in:
parent
73d6d41de0
commit
deee7a100b
|
@ -57,6 +57,11 @@
|
|||
!endif
|
||||
!endif
|
||||
|
||||
#
|
||||
# Define the FILE_GUID of CpuDxe for unique-processor version.
|
||||
#
|
||||
DEFINE UP_CPU_DXE_GUID = 6490f1c5-ebcc-4665-8892-0075b9bb49b7
|
||||
|
||||
[BuildOptions]
|
||||
GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
|
||||
INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
|
||||
|
@ -550,7 +555,30 @@
|
|||
|
||||
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||
UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||
|
||||
UefiCpuPkg/CpuDxe/CpuDxe.inf {
|
||||
<LibraryClasses>
|
||||
#
|
||||
# Directly use DxeMpInitLib. It depends on DxeMpInitLibMpDepLib which
|
||||
# checks the Protocol of gEfiMpInitLibMpDepProtocolGuid.
|
||||
#
|
||||
MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
|
||||
NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibMpDepLib.inf
|
||||
}
|
||||
|
||||
UefiCpuPkg/CpuDxe/CpuDxe.inf {
|
||||
<Defines>
|
||||
FILE_GUID = $(UP_CPU_DXE_GUID)
|
||||
|
||||
<LibraryClasses>
|
||||
#
|
||||
# Directly use MpInitLibUp. It depends on DxeMpInitLibUpDepLib which
|
||||
# checks the Protocol of gEfiMpInitLibUpDepProtocolGuid.
|
||||
#
|
||||
MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
|
||||
NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibUpDepLib.inf
|
||||
}
|
||||
|
||||
OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
||||
OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
|
||||
OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
|
||||
|
|
|
@ -185,7 +185,10 @@ INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
|||
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
||||
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||
|
||||
INF UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||
INF FILE_GUID = $(UP_CPU_DXE_GUID) UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||
|
||||
INF OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
|
||||
INF OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
|
||||
INF OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
|
||||
|
|
|
@ -72,6 +72,12 @@
|
|||
!endif
|
||||
!endif
|
||||
|
||||
#
|
||||
# Define the FILE_GUID of CpuMpPei/CpuDxe for unique-processor version.
|
||||
#
|
||||
DEFINE UP_CPU_PEI_GUID = 280251c4-1d09-4035-9062-839acb5f18c1
|
||||
DEFINE UP_CPU_DXE_GUID = 6490f1c5-ebcc-4665-8892-0075b9bb49b7
|
||||
|
||||
[BuildOptions]
|
||||
GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG
|
||||
INTEL:RELEASE_*_*_CC_FLAGS = /D MDEPKG_NDEBUG
|
||||
|
@ -728,7 +734,29 @@
|
|||
MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
||||
OvmfPkg/SmmAccess/SmmAccessPei.inf
|
||||
!endif
|
||||
UefiCpuPkg/CpuMpPei/CpuMpPei.inf
|
||||
|
||||
UefiCpuPkg/CpuMpPei/CpuMpPei.inf {
|
||||
<LibraryClasses>
|
||||
#
|
||||
# Directly use PeiMpInitLib. It depends on PeiMpInitLibMpDepLib which
|
||||
# checks the PPI of gEfiPeiMpInitLibMpDepPpiGuid.
|
||||
#
|
||||
MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf
|
||||
NULL|OvmfPkg/Library/MpInitLibDepLib/PeiMpInitLibMpDepLib.inf
|
||||
}
|
||||
|
||||
UefiCpuPkg/CpuMpPei/CpuMpPei.inf {
|
||||
<Defines>
|
||||
FILE_GUID = $(UP_CPU_PEI_GUID)
|
||||
|
||||
<LibraryClasses>
|
||||
#
|
||||
# Directly use MpInitLibUp. It depends on PeiMpInitLibUpDepLib which
|
||||
# checks the PPI of gEfiPeiMpInitLibUpDepPpiGuid.
|
||||
#
|
||||
MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
|
||||
NULL|OvmfPkg/Library/MpInitLibDepLib/PeiMpInitLibUpDepLib.inf
|
||||
}
|
||||
|
||||
!include OvmfPkg/OvmfTpmComponentsPei.dsc.inc
|
||||
|
||||
|
@ -760,7 +788,30 @@
|
|||
|
||||
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||
UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||
|
||||
UefiCpuPkg/CpuDxe/CpuDxe.inf {
|
||||
<LibraryClasses>
|
||||
#
|
||||
# Directly use DxeMpInitLib. It depends on DxeMpInitLibMpDepLib which
|
||||
# checks the Protocol of gEfiMpInitLibMpDepProtocolGuid.
|
||||
#
|
||||
MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
|
||||
NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibMpDepLib.inf
|
||||
}
|
||||
|
||||
UefiCpuPkg/CpuDxe/CpuDxe.inf {
|
||||
<Defines>
|
||||
FILE_GUID = $(UP_CPU_DXE_GUID)
|
||||
|
||||
<LibraryClasses>
|
||||
#
|
||||
# Directly use MpInitLibUp. It depends on DxeMpInitLibUpDepLib which
|
||||
# checks the Protocol of gEfiMpInitLibUpDepProtocolGuid.
|
||||
#
|
||||
MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
|
||||
NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibUpDepLib.inf
|
||||
}
|
||||
|
||||
!ifdef $(CSM_ENABLE)
|
||||
OvmfPkg/8259InterruptControllerDxe/8259.inf
|
||||
OvmfPkg/8254TimerDxe/8254Timer.inf
|
||||
|
|
|
@ -185,6 +185,7 @@ INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
|
|||
INF OvmfPkg/SmmAccess/SmmAccessPei.inf
|
||||
!endif
|
||||
INF UefiCpuPkg/CpuMpPei/CpuMpPei.inf
|
||||
INF FILE_GUID = $(UP_CPU_PEI_GUID) UefiCpuPkg/CpuMpPei/CpuMpPei.inf
|
||||
|
||||
!include OvmfPkg/OvmfTpmPei.fdf.inc
|
||||
|
||||
|
@ -239,7 +240,10 @@ INF MdeModulePkg/Core/RuntimeDxe/RuntimeDxe.inf
|
|||
INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
|
||||
INF MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
|
||||
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
|
||||
|
||||
INF UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||
INF FILE_GUID = $(UP_CPU_DXE_GUID) UefiCpuPkg/CpuDxe/CpuDxe.inf
|
||||
|
||||
!ifdef $(CSM_ENABLE)
|
||||
INF OvmfPkg/8259InterruptControllerDxe/8259.inf
|
||||
INF OvmfPkg/8254TimerDxe/8254Timer.inf
|
||||
|
|
Loading…
Reference in New Issue