[edk2-devel] [PATCH v3] UefiPayloadPkg: Add macro to support selective driver in UPL

2022-07-07 Thread Lu, James
From: James Lu 

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 
---
 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 cfcf38578d..ec79914f45 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   = 100
+
+  #
+  # NULL:NullMemoryTestDxe
+  # GENERIC: GenericMemoryTestDxe
+  #
+  DEFINE MEMORY_TEST  = NULL
   #
   # SBL:  UEFI payload for Slim Bootloader
   # COREBOOT: UEFI payload for coreboot
@@ -596,7 +605,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
@@ -631,8 +644,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
@@ -644,9 +659,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
@@ -671,7 +688,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
@@ -742,12 +761,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 c7b04978ad..35f79be2f0 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -149,7 +149,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
@@ -176,7 +180,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
@@ -195,8 +201,10 @@ INF UefiPayloadPkg/GraphicsOutputDxe/GraphicsOutputDxe.inf
 INF MdeModulePkg/Universal/Disk/DiskIoDxe/DiskIoDxe.inf
 INF MdeModulePkg/Universal/Disk/PartitionDxe/PartitionDxe.inf
 INF

Re: [edk2-devel] [PATCH v3] UefiPayloadPkg: Add macro to support selective driver in UPL

2022-07-07 Thread Ni, Ray
Reviewed-by: Ray Ni 

thanks,
ray

From: Lu, James 
Sent: Friday, July 8, 2022 12:15:09 AM
To: devel@edk2.groups.io 
Cc: Lu, James ; Dong, Guo ; Ni, Ray 
; Guo, Gua 
Subject: [PATCH v3] UefiPayloadPkg: Add macro to support selective driver in UPL

From: James Lu 

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 
---
 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 cfcf38578d..ec79914f45 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   = 100

+

+  #

+  # NULL:NullMemoryTestDxe

+  # GENERIC: GenericMemoryTestDxe

+  #

+  DEFINE MEMORY_TEST  = NULL

   #

   # SBL:  UEFI payload for Slim Bootloader

   # COREBOOT: UEFI payload for coreboot

@@ -596,7 +605,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

@@ -631,8 +644,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

@@ -644,9 +659,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

@@ -671,7 +688,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

@@ -742,12 +761,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 c7b04978ad..35f79be2f0 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -149,7 +149,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

@@ -176,7 +180,9 @@ INF OvmfPkg/SioBusDxe/SioBusDxe.inf
 !if $(PS2_KEYBOARD_ENABLE) == TRUE

 INF MdeModulePkg/Bus/Isa/Ps2K

Re: [edk2-devel] [PATCH v3] UefiPayloadPkg: Add macro to support selective driver in UPL

2022-07-14 Thread Lu, James
Created PR, please help to push
UefiPayloadPkg: Add macro to support selective driver in UPL by jameslu8 * Pull 
Request #3065 * tianocore/edk2 
(github.com)


Thanks,
James

From: Ni, Ray 
Sent: Friday, July 8, 2022 12:47 AM
To: Lu, James ; devel@edk2.groups.io
Cc: Lu, James ; Dong, Guo ; Guo, Gua 

Subject: Re: [PATCH v3] UefiPayloadPkg: Add macro to support selective driver 
in UPL

Reviewed-by: Ray Ni mailto:ray...@intel.com>>

thanks,
ray

From: Lu, James mailto:james...@intel.com>>
Sent: Friday, July 8, 2022 12:15:09 AM
To: devel@edk2.groups.io 
mailto:devel@edk2.groups.io>>
Cc: Lu, James mailto:james...@intel.com>>; Dong, Guo 
mailto:guo.d...@intel.com>>; Ni, Ray 
mailto:ray...@intel.com>>; Guo, Gua 
mailto:gua@intel.com>>
Subject: [PATCH v3] UefiPayloadPkg: Add macro to support selective driver in UPL

From: James Lu mailto:james...@intel.com>>

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 mailto:guo.d...@intel.com>>
Cc: Ray Ni mailto:ray...@intel.com>>
Cc: Gua Guo mailto:gua@intel.com>>
Signed-off-by: James Lu mailto:james...@intel.com>>
---
 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 cfcf38578d..ec79914f45 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   = 100

+

+  #

+  # NULL:NullMemoryTestDxe

+  # GENERIC: GenericMemoryTestDxe

+  #

+  DEFINE MEMORY_TEST  = NULL

   #

   # SBL:  UEFI payload for Slim Bootloader

   # COREBOOT: UEFI payload for coreboot

@@ -596,7 +605,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

@@ -631,8 +644,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

@@ -644,9 +659,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

@@ -671,7 +688,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

@@ -742,12 +761,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 c7b04978ad..35f79be2f0 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -149,7 +149,11 @@ INF 
PcAtChipsetPkg/PcatRealTimeClockRuntimeD

Re: [edk2-devel] [PATCH v3] UefiPayloadPkg: Add macro to support selective driver in UPL

2022-07-18 Thread Guo Dong


Reviewed-by: Guo Dong 

-Original Message-
From: Lu, James  
Sent: Thursday, July 7, 2022 9:15 AM
To: devel@edk2.groups.io
Cc: Lu, James ; Dong, Guo ; Ni, Ray 
; Guo, Gua 
Subject: [PATCH v3] UefiPayloadPkg: Add macro to support selective driver in UPL

From: James Lu 

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 
---
 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 cfcf38578d..ec79914f45 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   = 
100++  #+  # NULL:NullMemoryTestDxe+  # GENERIC: GenericMemoryTestDxe+  
#+  DEFINE MEMORY_TEST  = NULL   #   # SBL:  UEFI payload 
for Slim Bootloader   # COREBOOT: UEFI payload for coreboot@@ -596,7 +605,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@@ -631,8 +644,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@@ -644,9 +659,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@@ -671,7 +688,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@@ -742,12 +761,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 librarydiff --git 
a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf
index c7b04978ad..35f79be2f0 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -149,7 +149,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@@ -176,7 +180,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  #