<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
</head>
<body>
<div>
<div>
<div dir="ltr">Reviewed-by: Ray Ni <Ray.ni@intel.com></div>
</div>
<div id="ms-outlook-mobile-signature">
<div><br>
</div>
<div style="direction: ltr;">thanks,</div>
<div style="direction: ltr;">ray</div>
</div>
</div>
<hr style="display:inline-block;width:98%" tabindex="-1">
<div id="divRplyFwdMsg" dir="ltr"><font face="Calibri, sans-serif" style="font-size:11pt" color="#000000"><b>From:</b> Lu, James <james.lu@intel.com><br>
<b>Sent:</b> Friday, July 8, 2022 12:15:09 AM<br>
<b>To:</b> devel@edk2.groups.io <devel@edk2.groups.io><br>
<b>Cc:</b> Lu, James <james.lu@intel.com>; Dong, Guo <guo.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Guo, Gua <gua.guo@intel.com><br>
<b>Subject:</b> [PATCH v3] UefiPayloadPkg: Add macro to support selective driver in UPL</font>
<div> </div>
</div>
<div class="BodyFragment"><font size="2"><span style="font-size:11pt;">
<div class="PlainText">From: James Lu <james.lu@intel.com><br>
<br>
REF: <a href="https://bugzilla.tianocore.org/show_bug.cgi?id=3967">https://bugzilla.tianocore.org/show_bug.cgi?id=3967</a><br>
<br>
Add macros to decide modules built into UPL.elf.<br>
<br>
Macro list:<br>
- GENERIC_MEMORY_TEST_ENABLE: GenericMemoryTestDxe<br>
- MEMORY_TEST: NullMemoryTestDxe or GenericMemoryDxe<br>
- ATA_ENABLE: SataControllerDxe, AtaBusDxe<br>
- SD_ENABLE: SdMmcPciDxe, EmmcDxe, SdDxe<br>
- PS2_MOUSE_ENABLE: Ps2MouseDxe<br>
<br>
Cc: Guo Dong <guo.dong@intel.com><br>
Cc: Ray Ni <ray.ni@intel.com><br>
Cc: Gua Guo <gua.guo@intel.com><br>
Signed-off-by: James Lu <james.lu@intel.com><br>
---<br>
UefiPayloadPkg/UefiPayloadPkg.dsc | 21 ++++++++++++++++++++<br>
UefiPayloadPkg/UefiPayloadPkg.fdf | 14 ++++++++++++-<br>
2 files changed, 34 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc<br>
index cfcf38578d..ec79914f45 100644<br>
--- a/UefiPayloadPkg/UefiPayloadPkg.dsc<br>
+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc<br>
@@ -36,7 +36,16 @@<br>
DEFINE PLATFORM_BOOT_TIMEOUT = 3<br>
<br>
DEFINE ABOVE_4G_MEMORY = TRUE<br>
<br>
DEFINE BOOT_MANAGER_ESCAPE = FALSE<br>
<br>
+ DEFINE ATA_ENABLE = TRUE<br>
<br>
+ DEFINE SD_ENABLE = TRUE<br>
<br>
+ DEFINE PS2_MOUSE_ENABLE = TRUE<br>
<br>
DEFINE SD_MMC_TIMEOUT = 1000000<br>
<br>
+<br>
<br>
+ #<br>
<br>
+ # NULL: NullMemoryTestDxe<br>
<br>
+ # GENERIC: GenericMemoryTestDxe<br>
<br>
+ #<br>
<br>
+ DEFINE MEMORY_TEST = NULL<br>
<br>
#<br>
<br>
# SBL: UEFI payload for Slim Bootloader<br>
<br>
# COREBOOT: UEFI payload for coreboot<br>
<br>
@@ -596,7 +605,11 @@<br>
MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf<br>
<br>
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf<br>
<br>
MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf<br>
<br>
+!if $(MEMORY_TEST) == "GENERIC"<br>
<br>
+ MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf<br>
<br>
+!elseif $(MEMORY_TEST) == "NULL"<br>
<br>
MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf<br>
<br>
+!endif<br>
<br>
MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf<br>
<br>
MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf<br>
<br>
MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf<br>
<br>
@@ -631,8 +644,10 @@<br>
MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf<br>
<br>
MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf<br>
<br>
FatPkg/EnhancedFatDxe/Fat.inf<br>
<br>
+!if $(ATA_ENABLE) == TRUE<br>
<br>
MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf<br>
<br>
MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf<br>
<br>
+!endif<br>
<br>
MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf<br>
<br>
MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf<br>
<br>
MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf<br>
<br>
@@ -644,9 +659,11 @@<br>
#<br>
<br>
# SD/eMMC Support<br>
<br>
#<br>
<br>
+!if $(SD_ENABLE) == TRUE<br>
<br>
MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf<br>
<br>
MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf<br>
<br>
MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf<br>
<br>
+!endif<br>
<br>
<br>
<br>
#<br>
<br>
# Usb Support<br>
<br>
@@ -671,7 +688,9 @@<br>
!if $(PS2_KEYBOARD_ENABLE) == TRUE<br>
<br>
MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf<br>
<br>
!endif<br>
<br>
+!if $(PS2_MOUSE_ENABLE) == TRUE<br>
<br>
MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf<br>
<br>
+!endif<br>
<br>
<br>
<br>
#<br>
<br>
# Console Support<br>
<br>
@@ -742,12 +761,14 @@<br>
# This should be FALSE for compiling the dynamic command.<br>
<br>
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE<br>
<br>
}<br>
<br>
+!if $(PERFORMANCE_MEASUREMENT_ENABLE) == TRUE<br>
<br>
ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf {<br>
<br>
<PcdsFixedAtBuild><br>
<br>
## This flag is used to control initialization of the shell library<br>
<br>
# This should be FALSE for compiling the dynamic command.<br>
<br>
gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE<br>
<br>
}<br>
<br>
+!endif<br>
<br>
ShellPkg/Application/Shell/Shell.inf {<br>
<br>
<PcdsFixedAtBuild><br>
<br>
## This flag is used to control initialization of the shell library<br>
<br>
diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf<br>
index c7b04978ad..35f79be2f0 100644<br>
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf<br>
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf<br>
@@ -149,7 +149,11 @@ INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf<br>
<br>
<br>
INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf<br>
<br>
INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf<br>
<br>
-INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf<br>
<br>
+!if $(MEMORY_TEST) == "GENERIC"<br>
<br>
+INF MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf<br>
<br>
+!elseif $(MEMORY_TEST) == "NULL"<br>
<br>
+INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf<br>
<br>
+!endif<br>
<br>
INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf<br>
<br>
INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf<br>
<br>
INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf<br>
<br>
@@ -176,7 +180,9 @@ INF OvmfPkg/SioBusDxe/SioBusDxe.inf<br>
!if $(PS2_KEYBOARD_ENABLE) == TRUE<br>
<br>
INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf<br>
<br>
!endif<br>
<br>
+!if $(PS2_MOUSE_ENABLE) == TRUE<br>
<br>
INF MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf<br>
<br>
+!endif<br>
<br>
<br>
<br>
#<br>
<br>
# Console Support<br>
<br>
@@ -195,8 +201,10 @@ INF UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf<br>
INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf<br>
<br>
INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf<br>
<br>
INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf<br>
<br>
+!if $(ATA_ENABLE) == TRUE<br>
<br>
INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf<br>
<br>
INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf<br>
<br>
+!endif<br>
<br>
INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf<br>
<br>
INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf<br>
<br>
INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf<br>
<br>
@@ -209,9 +217,11 @@ INF FatPkg/EnhancedFatDxe/Fat.inf<br>
#<br>
<br>
# SD/eMMC Support<br>
<br>
#<br>
<br>
+!if $(SD_ENABLE) == TRUE<br>
<br>
INF MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf<br>
<br>
INF MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf<br>
<br>
INF MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf<br>
<br>
+!endif<br>
<br>
<br>
<br>
#<br>
<br>
# Usb Support<br>
<br>
@@ -241,7 +251,9 @@ INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf<br>
#<br>
<br>
!if $(SHELL_TYPE) == BUILD_SHELL<br>
<br>
INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf<br>
<br>
+!if $(PERFORMANCE_MEASUREMENT_ENABLE) == TRUE<br>
<br>
INF ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf<br>
<br>
+!endif<br>
<br>
INF ShellPkg/Application/Shell/Shell.inf<br>
<br>
!endif<br>
<br>
<br>
<br>
-- <br>
2.26.2.windows.1<br>
<br>
</div>
</span></font></div>
</body>
</html>
<div width="1" style="color:white;clear:both">_._,_._,_</div> <hr> Groups.io Links:<p> You receive all messages sent to this group. <p> <a target="_blank" href="https://edk2.groups.io/g/devel/message/91145">View/Reply Online (#91145)</a> | | <a target="_blank" href="https://groups.io/mt/92231909/1813853">Mute This Topic</a> | <a href="https://edk2.groups.io/g/devel/post">New Topic</a><br> <a href="https://edk2.groups.io/g/devel/editsub/1813853">Your Subscription</a> | <a href="mailto:devel+owner@edk2.groups.io">Contact Group Owner</a> | <a href="https://edk2.groups.io/g/devel/unsub">Unsubscribe</a> [edk2-devel-archive@redhat.com]<br> <div width="1" style="color:white;clear:both">_._,_._,_</div>