public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
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 --]

  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