From: "Guo Dong via groups.io" <guo.dong=intel.com@groups.io>
To: "devel@edk2.groups.io" <devel@edk2.groups.io>,
"radio-fan@mail.ru" <radio-fan@mail.ru>,
"Chiu, Chasel" <chasel.chiu@intel.com>
Subject: Re: [edk2-devel] UefiPayloadPkg debugging
Date: Tue, 18 Mar 2025 05:19:04 +0000 [thread overview]
Message-ID: <CY5PR11MB6260ED0EEA2542DC14425C3A9EDE2@CY5PR11MB6260.namprd11.prod.outlook.com> (raw)
In-Reply-To: <BN9PR11MB54837AA552E54DD6A48A8644E6DE2@BN9PR11MB5483.namprd11.prod.outlook.com>
[-- Attachment #1: Type: text/plain, Size: 7166 bytes --]
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 <devel@edk2.groups.io> on behalf of Chiu, Chasel via groups.io <chasel.chiu=intel.com@groups.io>
Sent: Monday, March 17, 2025 10:00 PM
To: devel@edk2.groups.io <devel@edk2.groups.io>; radio-fan@mail.ru <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 <devel@edk2.groups.io> On Behalf Of Stepan via groups.io
Sent: Monday, March 17, 2025 9:21 PM
To: Stepan <radio-fan@mail.ru>; 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]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #2: Type: text/html, Size: 24041 bytes --]
next prev parent reply other threads:[~2025-03-18 5:19 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-17 11:01 [edk2-devel] UefiPayloadPkg debugging Stepan via groups.io
2025-03-18 4:20 ` Stepan via groups.io
2025-03-18 5:00 ` Chiu, Chasel via groups.io
2025-03-18 5:19 ` Guo Dong via groups.io [this message]
2025-03-24 6:05 ` Stepan via groups.io
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CY5PR11MB6260ED0EEA2542DC14425C3A9EDE2@CY5PR11MB6260.namprd11.prod.outlook.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox