[edk2-devel][PATCH] UefiPayloadPkg: Fix boot issue for non-universal payload

Guo Dong posted 1 patch 1 year, 4 months ago
Failed in applying to current master (apply log)
UefiPayloadPkg/UefiPayloadPkg.fdf | 7 ++++---
1 file changed, 4 insertions(+), 3 deletions(-)
[edk2-devel][PATCH] UefiPayloadPkg: Fix boot issue for non-universal payload
Posted by Guo Dong 1 year, 4 months ago
From: Guo Dong <guo.dong@intel.com>

BDS module was moved from DXEFV to newly created BDSFV recently.
Non-universal UEFI payload doesn't support multiple FV, so it failed
to boot since BDS module could not be found.
This patch add BDS back to DXEFV when UNIVERSAL_PAYLOAD is not set.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: James Lu <james.lu@intel.com>
Cc: Gua Guo <gua.guo@intel.com>
Signed-off-by: Guo Dong <guo.dong@intel.com>
---
 UefiPayloadPkg/UefiPayloadPkg.fdf | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf
index 94ba922244..ee7d718b3f 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -59,9 +59,6 @@ INF UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
 FILE FV_IMAGE = 4E35FD93-9C72-4c15-8C4B-E77F1DB2D793 {
     SECTION FV_IMAGE = DXEFV
 }
-FILE FV_IMAGE = FBE6C1E3-2F80-4770-88B0-494186E3346F {
-    SECTION FV_IMAGE = BDSFV
-}
 
 ################################################################################
 [FV.BDSFV]
@@ -277,6 +274,10 @@ INF  MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
 INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
 !endif
 
+!if $(UNIVERSAL_PAYLOAD) == FALSE
+INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
+!endif
+
 #
 # UEFI network modules
 #
-- 
2.35.1.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#97710): https://edk2.groups.io/g/devel/message/97710
Mute This Topic: https://groups.io/mt/95815569/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel][PATCH] UefiPayloadPkg: Fix boot issue for non-universal payload
Posted by Lu, James 1 year, 4 months ago
Reviewed-by: James Lu <james.lu@intel.com>

-----Original Message-----
From: Dong, Guo <guo.dong@intel.com> 
Sent: Thursday, December 22, 2022 5:25 AM
To: devel@edk2.groups.io
Cc: Dong, Guo <guo.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Rhodes, Sean <sean@starlabs.systems>; Lu, James <james.lu@intel.com>; Guo, Gua <gua.guo@intel.com>
Subject: [edk2-devel][PATCH] UefiPayloadPkg: Fix boot issue for non-universal payload

From: Guo Dong <guo.dong@intel.com>

BDS module was moved from DXEFV to newly created BDSFV recently.
Non-universal UEFI payload doesn't support multiple FV, so it failed to boot since BDS module could not be found.
This patch add BDS back to DXEFV when UNIVERSAL_PAYLOAD is not set.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: James Lu <james.lu@intel.com>
Cc: Gua Guo <gua.guo@intel.com>
Signed-off-by: Guo Dong <guo.dong@intel.com>
---
 UefiPayloadPkg/UefiPayloadPkg.fdf | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf
index 94ba922244..ee7d718b3f 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -59,9 +59,6 @@ INF UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
 FILE FV_IMAGE = 4E35FD93-9C72-4c15-8C4B-E77F1DB2D793 {     SECTION FV_IMAGE = DXEFV }-FILE FV_IMAGE = FBE6C1E3-2F80-4770-88B0-494186E3346F {-    SECTION FV_IMAGE = BDSFV-}  ################################################################################ [FV.BDSFV]@@ -277,6 +274,10 @@ INF  MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
 INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf !endif +!if $(UNIVERSAL_PAYLOAD) == FALSE+INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf+!endif+ # # UEFI network modules #--
2.35.1.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#97716): https://edk2.groups.io/g/devel/message/97716
Mute This Topic: https://groups.io/mt/95815569/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel][PATCH] UefiPayloadPkg: Fix boot issue for non-universal payload
Posted by Sean Rhodes 1 year, 4 months ago
Okay, a bit more testing - it seems all debug builds hang at that point. I
tested back to edk2-stable202111 so I think that's a coreboot problem.

Your patch does resolve release builds not booting.

> Could you help to use latest Edk2 repo UPL to reproduce the issue that @Sean
Rhodes <sean@starlabs.systems> encounter from Coreboot + ShimLayer + UPL ?


I'm only testing non-universal payload - the shimlayer doesn't work as
no-one could figure out how to make `ElfCt->FileSize` the right size.

On Thu, 22 Dec 2022 at 02:49, Lu, James <james.lu@intel.com> wrote:

> Reviewed-by: James Lu <james.lu@intel.com>
>
> -----Original Message-----
> From: Dong, Guo <guo.dong@intel.com>
> Sent: Thursday, December 22, 2022 5:25 AM
> To: devel@edk2.groups.io
> Cc: Dong, Guo <guo.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Rhodes,
> Sean <sean@starlabs.systems>; Lu, James <james.lu@intel.com>; Guo, Gua <
> gua.guo@intel.com>
> Subject: [edk2-devel][PATCH] UefiPayloadPkg: Fix boot issue for
> non-universal payload
>
> From: Guo Dong <guo.dong@intel.com>
>
> BDS module was moved from DXEFV to newly created BDSFV recently.
> Non-universal UEFI payload doesn't support multiple FV, so it failed to
> boot since BDS module could not be found.
> This patch add BDS back to DXEFV when UNIVERSAL_PAYLOAD is not set.
>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Sean Rhodes <sean@starlabs.systems>
> Cc: James Lu <james.lu@intel.com>
> Cc: Gua Guo <gua.guo@intel.com>
> Signed-off-by: Guo Dong <guo.dong@intel.com>
> ---
>  UefiPayloadPkg/UefiPayloadPkg.fdf | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf
> b/UefiPayloadPkg/UefiPayloadPkg.fdf
> index 94ba922244..ee7d718b3f 100644
> --- a/UefiPayloadPkg/UefiPayloadPkg.fdf
> +++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
> @@ -59,9 +59,6 @@ INF UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
>  FILE FV_IMAGE = 4E35FD93-9C72-4c15-8C4B-E77F1DB2D793 {     SECTION
> FV_IMAGE = DXEFV }-FILE FV_IMAGE = FBE6C1E3-2F80-4770-88B0-494186E3346F {-
>   SECTION FV_IMAGE = BDSFV-}
> ################################################################################
> [FV.BDSFV]@@ -277,6 +274,10 @@ INF
> MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
>  INF
> MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
> !endif +!if $(UNIVERSAL_PAYLOAD) == FALSE+INF
> MdeModulePkg/Universal/BdsDxe/BdsDxe.inf+!endif+ # # UEFI network modules
> #--
> 2.35.1.windows.2
>
>
>
> 
>
>
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#97717): https://edk2.groups.io/g/devel/message/97717
Mute This Topic: https://groups.io/mt/95815569/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-


Re: [edk2-devel][PATCH] UefiPayloadPkg: Fix boot issue for non-universal payload
Posted by Guo, Gua 1 year, 4 months ago
Reviewed-by: <gua.guo@intel.com> 

-----Original Message-----
From: Dong, Guo <guo.dong@intel.com> 
Sent: Thursday, December 22, 2022 5:25 AM
To: devel@edk2.groups.io
Cc: Dong, Guo <guo.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Rhodes, Sean <sean@starlabs.systems>; Lu, James <james.lu@intel.com>; Guo, Gua <gua.guo@intel.com>
Subject: [edk2-devel][PATCH] UefiPayloadPkg: Fix boot issue for non-universal payload

From: Guo Dong <guo.dong@intel.com>

BDS module was moved from DXEFV to newly created BDSFV recently.
Non-universal UEFI payload doesn't support multiple FV, so it failed to boot since BDS module could not be found.
This patch add BDS back to DXEFV when UNIVERSAL_PAYLOAD is not set.

Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: James Lu <james.lu@intel.com>
Cc: Gua Guo <gua.guo@intel.com>
Signed-off-by: Guo Dong <guo.dong@intel.com>
---
 UefiPayloadPkg/UefiPayloadPkg.fdf | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf
index 94ba922244..ee7d718b3f 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -59,9 +59,6 @@ INF UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
 FILE FV_IMAGE = 4E35FD93-9C72-4c15-8C4B-E77F1DB2D793 {     SECTION FV_IMAGE = DXEFV }-FILE FV_IMAGE = FBE6C1E3-2F80-4770-88B0-494186E3346F {-    SECTION FV_IMAGE = BDSFV-}  ################################################################################ [FV.BDSFV]@@ -277,6 +274,10 @@ INF  MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
 INF  MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf !endif +!if $(UNIVERSAL_PAYLOAD) == FALSE+INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf+!endif+ # # UEFI network modules #--
2.35.1.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#97713): https://edk2.groups.io/g/devel/message/97713
Mute This Topic: https://groups.io/mt/95815569/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-
Re: [edk2-devel][PATCH] UefiPayloadPkg: Fix boot issue for non-universal payload
Posted by Sean Rhodes 1 year, 4 months ago
LGTM but it still hangs on Qemu and real hardware.

Debug build shows:
Building ResourceDescriptorHobs for reserved memory:
0. 0000000000000000 - 0000000000000FFF [10]
buildhob: base = 0x0, size = 0x1000, type = 0x5
1. 0000000000001000 - 000000000009FFFF [01]
2. 00000000000A0000 - 00000000000FFFFF [02]
buildhob: base = 0xA0000, size = 0x60000, type = 0x5
3. 0000000000100000 - 0000000000F4CFFF [01]
4. 0000000000F4D000 - 0000000000FFFFFF [10]
buildhob: base = 0xF4D000, size = 0xB3000, type = 0x5
5. 0000000001000000 - 0000000007FFFFFF [01]
6. 00000000B0000000 - 00000000BFFFFFFF [02]
buildhob: base = 0xB0000000, size = 0x10000000, type = 0x1
Building hob to restrict memory resorces to below 4G.
DxeCoreEntryPoint = 0x4DE7DA1
PayloadEntry: AddressBits=40 5LevelPaging=0 1GPage=0
Pml5=1 Pml4=2 Pdp=512 TotalPage=1027
HandOffToDxeCore() Stack Base: 0x4DAE000, Stack Size: 0x20000

On Wed, 21 Dec 2022 at 21:24, <guo.dong@intel.com> wrote:

> From: Guo Dong <guo.dong@intel.com>
>
> BDS module was moved from DXEFV to newly created BDSFV recently.
> Non-universal UEFI payload doesn't support multiple FV, so it failed
> to boot since BDS module could not be found.
> This patch add BDS back to DXEFV when UNIVERSAL_PAYLOAD is not set.
>
> Cc: Ray Ni <ray.ni@intel.com>
> Cc: Sean Rhodes <sean@starlabs.systems>
> Cc: James Lu <james.lu@intel.com>
> Cc: Gua Guo <gua.guo@intel.com>
> Signed-off-by: Guo Dong <guo.dong@intel.com>
> ---
>  UefiPayloadPkg/UefiPayloadPkg.fdf | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf
> b/UefiPayloadPkg/UefiPayloadPkg.fdf
> index 94ba922244..ee7d718b3f 100644
> --- a/UefiPayloadPkg/UefiPayloadPkg.fdf
> +++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
> @@ -59,9 +59,6 @@ INF UefiPayloadPkg/UefiPayloadEntry/UefiPayloadEntry.inf
>  FILE FV_IMAGE = 4E35FD93-9C72-4c15-8C4B-E77F1DB2D793 {
>      SECTION FV_IMAGE = DXEFV
>  }
> -FILE FV_IMAGE = FBE6C1E3-2F80-4770-88B0-494186E3346F {
> -    SECTION FV_IMAGE = BDSFV
> -}
>
>
>  ################################################################################
>  [FV.BDSFV]
> @@ -277,6 +274,10 @@ INF
> MdeModulePkg/Universal/Acpi/AcpiPlatformDxe/AcpiPlatformDxe.inf
>  INF
> MdeModulePkg/Universal/Acpi/BootGraphicsResourceTableDxe/BootGraphicsResourceTableDxe.inf
>  !endif
>
> +!if $(UNIVERSAL_PAYLOAD) == FALSE
> +INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
> +!endif
> +
>  #
>  # UEFI network modules
>  #
> --
> 2.35.1.windows.2
>
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#97712): https://edk2.groups.io/g/devel/message/97712
Mute This Topic: https://groups.io/mt/95815569/1787277
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org]
-=-=-=-=-=-=-=-=-=-=-=-