From: Min M Xu <min.m.xu@intel.com>
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>
---
OvmfPkg/IntelTdx/IntelTdxX64.dsc | 23 +++++++++++++++-
OvmfPkg/IntelTdx/IntelTdxX64.fdf | 5 +++-
OvmfPkg/OvmfPkgX64.dsc | 45 ++++++++++++++++++++++++++++++--
OvmfPkg/OvmfPkgX64.fdf | 8 ++++--
4 files changed, 75 insertions(+), 6 deletions(-)
diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.dsc b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
index 73a6c30096a8..e81570d57174 100644
--- a/OvmfPkg/IntelTdx/IntelTdxX64.dsc
+++ b/OvmfPkg/IntelTdx/IntelTdxX64.dsc
@@ -57,6 +57,9 @@
!endif
!endif
+DEFINE MP_CPU_DXE_GUID = 2d73044a-1df3-415d-b054-17fe05765c3c
+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 +553,25 @@
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
- UefiCpuPkg/CpuDxe/CpuDxe.inf
+
+ UefiCpuPkg/CpuDxe/CpuDxe.inf {
+ <Defines>
+ FILE_GUID = $(MP_CPU_DXE_GUID)
+
+ <LibraryClasses>
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
+ NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibMpDepLib.inf
+ }
+
+ UefiCpuPkg/CpuDxe/CpuDxe.inf {
+ <Defines>
+ FILE_GUID = $(UP_CPU_DXE_GUID)
+
+ <LibraryClasses>
+ MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
+ NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibUpDepLib.inf
+ }
+
OvmfPkg/LocalApicTimerDxe/LocalApicTimerDxe.inf
OvmfPkg/IncompatiblePciDeviceSupportDxe/IncompatiblePciDeviceSupport.inf
OvmfPkg/PciHotPlugInitDxe/PciHotPlugInit.inf
diff --git a/OvmfPkg/IntelTdx/IntelTdxX64.fdf b/OvmfPkg/IntelTdx/IntelTdxX64.fdf
index 9e290ea78f61..bedd50f69b39 100644
--- a/OvmfPkg/IntelTdx/IntelTdxX64.fdf
+++ b/OvmfPkg/IntelTdx/IntelTdxX64.fdf
@@ -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 = $(MP_CPU_DXE_GUID) 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
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 45ffa2dbe35f..e86b3f320278 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -72,6 +72,12 @@
!endif
!endif
+DEFINE MP_CPU_PEI_GUID = 3dd59561-e4ea-4846-b7c5-c7b74a061190
+DEFINE UP_CPU_PEI_GUID = 280251c4-1d09-4035-9062-839acb5f18c1
+
+DEFINE MP_CPU_DXE_GUID = 2d73044a-1df3-415d-b054-17fe05765c3c
+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,24 @@
MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
OvmfPkg/SmmAccess/SmmAccessPei.inf
!endif
- UefiCpuPkg/CpuMpPei/CpuMpPei.inf
+
+ UefiCpuPkg/CpuMpPei/CpuMpPei.inf {
+ <Defines>
+ FILE_GUID = $(MP_CPU_PEI_GUID)
+
+ <LibraryClasses>
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf
+ NULL|OvmfPkg/Library/MpInitLibDepLib/PeiMpInitLibMpDepLib.inf
+ }
+
+ UefiCpuPkg/CpuMpPei/CpuMpPei.inf {
+ <Defines>
+ FILE_GUID = $(UP_CPU_PEI_GUID)
+
+ <LibraryClasses>
+ MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
+ NULL|OvmfPkg/Library/MpInitLibDepLib/PeiMpInitLibUpDepLib.inf
+ }
!include OvmfPkg/OvmfTpmComponentsPei.dsc.inc
@@ -760,7 +783,25 @@
MdeModulePkg/Universal/EbcDxe/EbcDxe.inf
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf
- UefiCpuPkg/CpuDxe/CpuDxe.inf
+
+ UefiCpuPkg/CpuDxe/CpuDxe.inf {
+ <Defines>
+ FILE_GUID = $(MP_CPU_DXE_GUID)
+
+ <LibraryClasses>
+ MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
+ NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibMpDepLib.inf
+ }
+
+ UefiCpuPkg/CpuDxe/CpuDxe.inf {
+ <Defines>
+ FILE_GUID = $(UP_CPU_DXE_GUID)
+
+ <LibraryClasses>
+ MpInitLib|UefiCpuPkg/Library/MpInitLibUp/MpInitLibUp.inf
+ NULL|OvmfPkg/Library/MpInitLibDepLib/DxeMpInitLibUpDepLib.inf
+ }
+
!ifdef $(CSM_ENABLE)
OvmfPkg/8259InterruptControllerDxe/8259.inf
OvmfPkg/8254TimerDxe/8254Timer.inf
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 6e72cdf3453e..2b8225c8fcd2 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -184,7 +184,8 @@ INF MdeModulePkg/Universal/FaultTolerantWritePei/FaultTolerantWritePei.inf
INF MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
INF OvmfPkg/SmmAccess/SmmAccessPei.inf
!endif
-INF UefiCpuPkg/CpuMpPei/CpuMpPei.inf
+INF FILE_GUID = $(MP_CPU_PEI_GUID) 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 = $(MP_CPU_DXE_GUID) 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
--
2.29.2.windows.2
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89542): https://edk2.groups.io/g/devel/message/89542
Mute This Topic: https://groups.io/mt/90912398/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
>
> +DEFINE MP_CPU_DXE_GUID = 2d73044a-1df3-415d-b054-17fe05765c3c
Can you remove the above GUID definition?
> +DEFINE MP_CPU_PEI_GUID = 3dd59561-e4ea-4846-b7c5-c7b74a061190
Can you remove the above GUID definition?
> +DEFINE UP_CPU_PEI_GUID = 280251c4-1d09-4035-9062-839acb5f18c1
> +
> +DEFINE MP_CPU_DXE_GUID = 2d73044a-1df3-415d-b054-17fe05765c3c
Can you remove the above GUID definition?
> +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,24 @@
> MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
> OvmfPkg/SmmAccess/SmmAccessPei.inf
> !endif
> - UefiCpuPkg/CpuMpPei/CpuMpPei.inf
> +
> + UefiCpuPkg/CpuMpPei/CpuMpPei.inf {
> + <Defines>
> + FILE_GUID = $(MP_CPU_PEI_GUID)
The above <Defines> is not needed.
> +
> +INF FILE_GUID = $(MP_CPU_DXE_GUID) UefiCpuPkg/CpuDxe/CpuDxe.inf
The above FILE_GUID override is not needed.
> +INF FILE_GUID = $(UP_CPU_DXE_GUID) UefiCpuPkg/CpuDxe/CpuDxe.inf
> +
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89550): https://edk2.groups.io/g/devel/message/89550
Mute This Topic: https://groups.io/mt/90912398/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
On May 6, 2022 1:07 PM, Ni Ray wrote:
> >
> > +DEFINE MP_CPU_DXE_GUID = 2d73044a-1df3-415d-b054-17fe05765c3c
> Can you remove the above GUID definition?
>
> > +DEFINE MP_CPU_PEI_GUID = 3dd59561-e4ea-4846-b7c5-c7b74a061190
> Can you remove the above GUID definition?
>
> > +DEFINE UP_CPU_PEI_GUID = 280251c4-1d09-4035-9062-839acb5f18c1
> > +
> > +DEFINE MP_CPU_DXE_GUID = 2d73044a-1df3-415d-b054-17fe05765c3c
> Can you remove the above GUID definition?
>
> > +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,24 @@
> > MdeModulePkg/Universal/Variable/Pei/VariablePei.inf
> > OvmfPkg/SmmAccess/SmmAccessPei.inf
> > !endif
> > - UefiCpuPkg/CpuMpPei/CpuMpPei.inf
> > +
> > + UefiCpuPkg/CpuMpPei/CpuMpPei.inf {
> > + <Defines>
> > + FILE_GUID = $(MP_CPU_PEI_GUID)
>
> The above <Defines> is not needed.
>
> > +
> > +INF FILE_GUID = $(MP_CPU_DXE_GUID) UefiCpuPkg/CpuDxe/CpuDxe.inf
>
> The above FILE_GUID override is not needed.
>
> > +INF FILE_GUID = $(UP_CPU_DXE_GUID) UefiCpuPkg/CpuDxe/CpuDxe.inf
> > +
Thanks for reminder. All above will be fixed in the next version.
Min
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#89561): https://edk2.groups.io/g/devel/message/89561
Mute This Topic: https://groups.io/mt/90912398/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
© 2016 - 2026 Red Hat, Inc.