I didn't see the reason to build IA32 for UEFI payload. So all the DXE and SMM modules in the UEFI payload are built with X64 by default. IA32 support is only for the payload entry driver (in folder UefiPayloadEntry) only. The UEFI payload could support 32bit and 64bit bootloader. So pure 32bit UEFI payload was not tested/supported. Thanks, Guo ________________________________ From: devel@edk2.groups.io on behalf of Chiu, Chasel via groups.io Sent: Monday, March 17, 2025 10:00 PM To: devel@edk2.groups.io ; radio-fan@mail.ru Subject: Re: [edk2-devel] UefiPayloadPkg debugging For IA32 build failure, it should be relating to the driver component section is X64 only. We have not verified/supported IA32 build for UefiPayloadPkg DXE phase drivers, but I think X64 build should work as we have platforms using X64 build. [Components.X64, Components.AARCH64] … MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf From: devel@edk2.groups.io On Behalf Of Stepan via groups.io Sent: Monday, March 17, 2025 9:21 PM To: Stepan ; devel@edk2.groups.io Subject: [edk2-devel] UefiPayloadPkg debugging Hello EDK2 community, I found out that it depends on the platform. I work with next changes: Index: UefiPayloadPkg/UefiPayloadPkg.dsc IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc b/UefiPayloadPkg/UefiPayloadPkg.dsc --- a/UefiPayloadPkg/UefiPayloadPkg.dsc (revision a5ab82f61077e869abfeb1849f7b6e820c7fefd8) +++ b/UefiPayloadPkg/UefiPayloadPkg.dsc (revision 28da9ed468c5025c8bc882109a44d6b64444ebf1) @@ -26,7 +26,7 @@ FLASH_DEFINITION = UefiPayloadPkg/UefiPayloadPkg.fdf PCD_DYNAMIC_AS_DYNAMICEX = TRUE - DEFINE SOURCE_DEBUG_ENABLE = FALSE + DEFINE SOURCE_DEBUG_ENABLE = TRUE DEFINE PS2_KEYBOARD_ENABLE = TRUE DEFINE RAM_DISK_ENABLE = FALSE DEFINE SIO_BUS_ENABLE = TRUE @@ -57,8 +57,8 @@ # ELF: Build UniversalPayload file as UniversalPayload.elf # FIT: Build UniversalPayload file as UniversalPayload.fit # - DEFINE UNIVERSAL_PAYLOAD = TRUE - #DEFINE UNIVERSAL_PAYLOAD = FALSE + #DEFINE UNIVERSAL_PAYLOAD = TRUE + DEFINE UNIVERSAL_PAYLOAD = FALSE DEFINE UNIVERSAL_PAYLOAD_FORMAT = ELF # @@ -163,6 +163,8 @@ DEFINE SECURE_BOOT_ENABLE = FALSE [BuildOptions] +# GCC:DEBUG_*_*_CC_FLAGS = -g -Od +# MSFT:DEBUG_*_*_CC_FLAGS = /Od /Oy- *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES !if $(USE_CBMEM_FOR_CONSOLE) == FALSE GCC:RELEASE_*_*_CC_FLAGS = -DMDEPKG_NDEBUG @@ -293,6 +295,7 @@ !if $(SOURCE_DEBUG_ENABLE) == TRUE PeCoffExtraActionLib|SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLibDebug.inf DebugCommunicationLib|SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.inf + DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgentLib.inf !else PeCoffExtraActionLib|MdePkg/Library/BasePeCoffExtraActionLibNull/BasePeCoffExtraActionLibNull.inf DebugAgentLib|MdeModulePkg/Library/DebugAgentLibNull/DebugAgentLibNull.inf @@ -306,7 +309,7 @@ !endif !endif - DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf !if $(LOCKBOX_SUPPORT) == TRUE LockBoxLib|MdeModulePkg/Library/SmmLockBoxLib/SmmLockBoxDxeLib.inf !else @@ -370,7 +373,10 @@ HobLib|UefiPayloadPkg/Library/PayloadEntryHobLib/HobLib.inf PcdLib|MdePkg/Library/BasePcdLibNull/BasePcdLibNull.inf DxeHobListLib|UefiPayloadPkg/Library/DxeHobListLibNull/DxeHobListLibNull.inf - DebugLib|MdePkg/Library/BaseDebugLibSerialPort/BaseDebugLibSerialPort.inf + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf + !if $(SOURCE_DEBUG_ENABLE) == TRUE + DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgentLib.inf + !endif !if $(MULTIPLE_DEBUG_PORT_SUPPORT) == TRUE SerialPortLib|UefiPayloadPkg/Library/BaseSerialPortLibHob/BaseSerialPortLibHob.inf !endif @@ -453,7 +459,8 @@ SmmServicesTableLib|MdePkg/Library/SmmServicesTableLib/SmmServicesTableLib.inf SmmMemLib|MdePkg/Library/SmmMemLib/SmmMemLib.inf MmServicesTableLib|MdePkg/Library/MmServicesTableLib/MmServicesTableLib.inf - DebugLib|MdeModulePkg/Library/PeiDxeDebugLibReportStatusCode/PeiDxeDebugLibReportStatusCode.inf + DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf + DebugAgentLib|SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgentLib.inf SmmCpuPlatformHookLib|UefiCpuPkg/Library/SmmCpuPlatformHookLibNull/SmmCpuPlatformHookLibNull.inf SmmCpuFeaturesLib|UefiCpuPkg/Library/SmmCpuFeaturesLib/SmmCpuFeaturesLib.inf CpuExceptionHandlerLib|UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf I used the command build -a IA32 -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -t GCC5 -Y COMPILE_INFO -y BuildReport.log for building edk2 for x86_64. Debuuging for this plarform WORKING!!! I attach log below. I used the command build -a X64 -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -t GCC5 -Y COMPILE_INFO -y BuildReport.log for building edk2 for x64. Debuuging for this plarform NOT WORKING!!! I attach log below. The build for the x86 platform failed. I use command build -a IA32 -p UefiPayloadPkg/UefiPayloadPkg.dsc -b DEBUG -t GCC5 -Y COMPILE_INFO -y BuildReport.log . Result is: Build environment: Linux-6.8.0-52-generic-x86_64-with-glibc2.35 Build start time: 11:15:52, Mar.18 2025 WORKSPACE = /edk EDK_TOOLS_PATH = /edk/BaseTools CONF_PATH = /edk/Conf PYTHON_COMMAND = python3 Processing meta-data Architecture(s) = IA32 .Build target = DEBUG Toolchain = GCC5 Active Platform = /edk/UefiPayloadPkg/UefiPayloadPkg.dsc build.py... : error F001: Module /edk/MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf NOT found in DSC file; Is it really a binary module? - Failed - Build end time: 11:15:53, Mar.18 2025 Build total time: 00:00:00 I can't figure out why this is happening. -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#121206): https://edk2.groups.io/g/devel/message/121206 Mute This Topic: https://groups.io/mt/111746873/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-