From e21b2039112eeba9a93fdd7b70329a07a79c8f0e Mon Sep 17 00:00:00 2001 From: James Lu Date: Thu, 7 Jul 2022 09:15:09 -0700 Subject: [PATCH] UefiPayloadPkg: Add macro to support selective driver in UPL REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3967 Add macros to decide modules built into UPL.elf. Macro list: - GENERIC_MEMORY_TEST_ENABLE: GenericMemoryTestDxe - MEMORY_TEST: NullMemoryTestDxe or GenericMemoryDxe - ATA_ENABLE: SataControllerDxe, AtaBusDxe - SD_ENABLE: SdMmcPciDxe, EmmcDxe, SdDxe - PS2_MOUSE_ENABLE: Ps2MouseDxe Cc: Guo Dong Cc: Ray Ni Cc: Gua Guo Signed-off-by: James Lu Reviewed-by: Ray Ni Reviewed-by: Guo Dong --- UefiPayloadPkg/UefiPayloadPkg.dsc | 21 +++++++++++++++++++++ UefiPayloadPkg/UefiPayloadPkg.fdf | 14 +++++++++++++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc index 2428bb2ce9..5e947526b7 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.dsc +++ b/UefiPayloadPkg/UefiPayloadPkg.dsc @@ -36,7 +36,16 @@ DEFINE PLATFORM_BOOT_TIMEOUT = 3 DEFINE ABOVE_4G_MEMORY = TRUE DEFINE BOOT_MANAGER_ESCAPE = FALSE + DEFINE ATA_ENABLE = TRUE + DEFINE SD_ENABLE = TRUE + DEFINE PS2_MOUSE_ENABLE = TRUE DEFINE SD_MMC_TIMEOUT = 1000000 + + # + # NULL: NullMemoryTestDxe + # GENERIC: GenericMemoryTestDxe + # + DEFINE MEMORY_TEST = NULL # # SBL: UEFI payload for Slim Bootloader # COREBOOT: UEFI payload for coreboot @@ -619,7 +628,11 @@ MdeModulePkg/Universal/StatusCodeHandler/RuntimeDxe/StatusCodeHandlerRuntimeDxe.inf UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf +!if $(MEMORY_TEST) == "GENERIC" + MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf +!elseif $(MEMORY_TEST) == "NULL" MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf +!endif MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf @@ -654,8 +667,10 @@ MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf FatPkg/EnhancedFatDxe/Fat.inf +!if $(ATA_ENABLE) == TRUE MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf +!endif MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf @@ -667,9 +682,11 @@ # # SD/eMMC Support # +!if $(SD_ENABLE) == TRUE MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf +!endif # # Usb Support @@ -694,7 +711,9 @@ !if $(PS2_KEYBOARD_ENABLE) == TRUE MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf !endif +!if $(PS2_MOUSE_ENABLE) == TRUE MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf +!endif # # Console Support @@ -774,12 +793,14 @@ # This should be FALSE for compiling the dynamic command. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE } +!if $(PERFORMANCE_MEASUREMENT_ENABLE) == TRUE ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf { ## This flag is used to control initialization of the shell library # This should be FALSE for compiling the dynamic command. gEfiShellPkgTokenSpaceGuid.PcdShellLibAutoInitialize|FALSE } +!endif ShellPkg/Application/Shell/Shell.inf { ## This flag is used to control initialization of the shell library diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf index 7087f5bd75..5c055e61b3 100644 --- a/UefiPayloadPkg/UefiPayloadPkg.fdf +++ b/UefiPayloadPkg/UefiPayloadPkg.fdf @@ -150,7 +150,11 @@ INF PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf INF UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf INF MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf -INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf +!if $(MEMORY_TEST) == "GENERIC" +INF MdeModulePkg/Universal/MemoryTest/GenericMemoryTestDxe/GenericMemoryTestDxe.inf +!elseif $(MEMORY_TEST) == "NULL" +INF MdeModulePkg/Universal/MemoryTest/NullMemoryTestDxe/NullMemoryTestDxe.inf +!endif INF MdeModulePkg/Universal/HiiDatabaseDxe/HiiDatabaseDxe.inf INF MdeModulePkg/Universal/SetupBrowserDxe/SetupBrowserDxe.inf INF MdeModulePkg/Universal/DisplayEngineDxe/DisplayEngineDxe.inf @@ -177,7 +181,9 @@ INF OvmfPkg/SioBusDxe/SioBusDxe.inf !if $(PS2_KEYBOARD_ENABLE) == TRUE INF MdeModulePkg/Bus/Isa/Ps2KeyboardDxe/Ps2KeyboardDxe.inf !endif +!if $(PS2_MOUSE_ENABLE) == TRUE INF MdeModulePkg/Bus/Isa/Ps2MouseDxe/Ps2MouseDxe.inf +!endif # # Console Support @@ -196,8 +202,10 @@ INF UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf INF MdeModulePkg/Universal/Disk/UnicodeCollation/EnglishDxe/EnglishDxe.inf +!if $(ATA_ENABLE) == TRUE INF MdeModulePkg/Bus/Pci/SataControllerDxe/SataControllerDxe.inf INF MdeModulePkg/Bus/Ata/AtaBusDxe/AtaBusDxe.inf +!endif INF MdeModulePkg/Bus/Ata/AtaAtapiPassThru/AtaAtapiPassThru.inf INF MdeModulePkg/Bus/Scsi/ScsiBusDxe/ScsiBusDxe.inf INF MdeModulePkg/Bus/Scsi/ScsiDiskDxe/ScsiDiskDxe.inf @@ -210,9 +218,11 @@ INF FatPkg/EnhancedFatDxe/Fat.inf # # SD/eMMC Support # +!if $(SD_ENABLE) == TRUE INF MdeModulePkg/Bus/Pci/SdMmcPciHcDxe/SdMmcPciHcDxe.inf INF MdeModulePkg/Bus/Sd/EmmcDxe/EmmcDxe.inf INF MdeModulePkg/Bus/Sd/SdDxe/SdDxe.inf +!endif # # Usb Support @@ -242,7 +252,9 @@ INF MdeModulePkg/Universal/Acpi/AcpiTableDxe/AcpiTableDxe.inf # !if $(SHELL_TYPE) == BUILD_SHELL INF ShellPkg/DynamicCommand/TftpDynamicCommand/TftpDynamicCommand.inf +!if $(PERFORMANCE_MEASUREMENT_ENABLE) == TRUE INF ShellPkg/DynamicCommand/DpDynamicCommand/DpDynamicCommand.inf +!endif INF ShellPkg/Application/Shell/Shell.inf !endif -- 2.39.2