[edk2-devel] [PATCH v2] UefiPayloadPkg: Move bdsdxe.inf from DXEFV to BDSFV

2022-12-19 Thread marsx . lin
From: MarsX Lin 

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4196

Since UefiPayload had supported multiple fv,
move bdsdxe.inf to new firmware volume and
modify the script of UniversalPayloadPkgBuild.py to
support bdsdxe fv in elf file

Cc: Guo Dong 
Cc: Ray Ni 
Cc: Sean Rhodes 
Cc: James Lu 
Cc: Gua Guo 

Signed-off-by: MarsX Lin 
---
 UefiPayloadPkg/UefiPayloadPkg.fdf   | 27 +++-
 UefiPayloadPkg/UniversalPayloadBuild.py | 12 +
 2 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf 
b/UefiPayloadPkg/UefiPayloadPkg.fdf
index 9c9e2f2741..94ba922244 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -59,8 +59,33 @@ 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]
+FvNameGuid = CA5590AF-9558-4822-B5EA-BE2E876CD3EC
+BlockSize  = $(FD_BLOCK_SIZE)
+FvForceRebase  = FALSE
+FvAlignment= 16
+ERASE_POLARITY = 1
+MEMORY_MAPPED  = TRUE
+STICKY_WRITE   = TRUE
+LOCK_CAP   = TRUE
+LOCK_STATUS= TRUE
+WRITE_DISABLED_CAP = TRUE
+WRITE_ENABLED_CAP  = TRUE
+WRITE_STATUS   = TRUE
+WRITE_LOCK_CAP = TRUE
+WRITE_LOCK_STATUS  = TRUE
+READ_DISABLED_CAP  = TRUE
+READ_ENABLED_CAP   = TRUE
+READ_STATUS= TRUE
+READ_LOCK_CAP  = TRUE
+READ_LOCK_STATUS   = TRUE
+
+INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
 
 [FV.DXEFV]
 FvNameGuid = 8063C21A-8E58-4576-95CE-089E87975D23
@@ -106,7 +131,7 @@ INF CryptoPkg/Driver/CryptoDxe.inf
 INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf
 !endif
 INF UefiCpuPkg/CpuDxe/CpuDxe.inf
-INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf
+
 INF RuleOverride = UI MdeModulePkg/Application/UiApp/UiApp.inf
 INF MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf
 INF PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.inf
diff --git a/UefiPayloadPkg/UniversalPayloadBuild.py 
b/UefiPayloadPkg/UniversalPayloadBuild.py
index 50a5950e7c..6d62b8b20f 100644
--- a/UefiPayloadPkg/UniversalPayloadBuild.py
+++ b/UefiPayloadPkg/UniversalPayloadBuild.py
@@ -67,7 +67,8 @@ def BuildUniversalPayload(Args, MacroList):
 
 EntryModuleInf = 
os.path.normpath("UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf")
 DscPath = os.path.normpath("UefiPayloadPkg/UefiPayloadPkg.dsc")
-FvOutputDir = os.path.join(BuildDir, "{}_{}".format (BuildTarget, 
ToolChain), os.path.normpath("FV/DXEFV.Fv"))
+DxeFvOutputDir = os.path.join(BuildDir, "{}_{}".format (BuildTarget, 
ToolChain), os.path.normpath("FV/DXEFV.Fv"))
+BdsFvOutputDir = os.path.join(BuildDir, "{}_{}".format (BuildTarget, 
ToolChain), os.path.normpath("FV/BDSFV.Fv"))
 PayloadReportPath = os.path.join(BuildDir, "UefiUniversalPayload.txt")
 ModuleReportPath = os.path.join(BuildDir, "UefiUniversalPayloadEntry.txt")
 UpldInfoFile = os.path.join(BuildDir, "UniversalPayloadInfo.bin")
@@ -119,21 +120,22 @@ def BuildUniversalPayload(Args, MacroList):
 #
 # Copy the DXEFV as a section in elf format Universal Payload entry.
 #
-remove_section = '"{}" -I {} -O {} --remove-section .upld_info 
--remove-section .upld.uefi_fv {}'.format (
+remove_section = '"{}" -I {} -O {} --remove-section .upld_info 
--remove-section .upld.uefi_fv --remove-section .upld.bds_fv {}'.format (
LlvmObjcopyPath,
ObjCopyFlag,
ObjCopyFlag,
EntryOutputDir
)
-add_section= '"{}" -I {} -O {} --add-section .upld_info={} 
--add-section .upld.uefi_fv={} {}'.format (
+add_section= '"{}" -I {} -O {} --add-section .upld_info={} 
--add-section .upld.uefi_fv={} --add-section .upld.bds_fv={} {}'.format (
LlvmObjcopyPath,
ObjCopyFlag,
ObjCopyFlag,
UpldInfoFile,
-   FvOutputDir,
+   DxeFvOutputDir,
+   BdsFvOutputDir,
EntryOutputDir
)
-set_section= '"{}" -I {} -O {} --set-section-alignment .upld_info=4 
--set-section-alignment .upld.uefi_fv=16 {}'.format (
+set_section= '"{}" -I {} -O {} --set-section-alignment .upld_info=16 
--set-section-alignment .upld.uefi_fv=16 --set-section-alignment 
.upld.bds_fv=16 {}'.format (
LlvmObjcopyPath,
ObjCopyFlag,
ObjCopyFlag,
-- 
2.33.0.windows.2



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#97589): https://edk2.groups.io/g/devel/message/97589
Mute This Topic: https://grou

Re: [edk2-devel] [PATCH v2] UefiPayloadPkg: Move bdsdxe.inf from DXEFV to BDSFV

2022-12-18 Thread Guo, Gua
Reviewed-by: Gua Guo  

-Original Message-
From: Lin, MarsX  
Sent: Monday, December 19, 2022 11:21 AM
To: devel@edk2.groups.io
Cc: Lin, MarsX ; Dong, Guo ; Ni, Ray 
; Rhodes, Sean ; Lu, James 
; Guo, Gua 
Subject: [PATCH v2] UefiPayloadPkg: Move bdsdxe.inf from DXEFV to BDSFV

From: MarsX Lin 

REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4196

Since UefiPayload had supported multiple fv, move bdsdxe.inf to new firmware 
volume and modify the script of UniversalPayloadPkgBuild.py to support bdsdxe 
fv in elf file

Cc: Guo Dong 
Cc: Ray Ni 
Cc: Sean Rhodes 
Cc: James Lu 
Cc: Gua Guo 

Signed-off-by: MarsX Lin 
---
 UefiPayloadPkg/UefiPayloadPkg.fdf   | 27 +++-
 UefiPayloadPkg/UniversalPayloadBuild.py | 12 +
 2 files changed, 33 insertions(+), 6 deletions(-)

diff --git a/UefiPayloadPkg/UefiPayloadPkg.fdf 
b/UefiPayloadPkg/UefiPayloadPkg.fdf
index 9c9e2f2741..94ba922244 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -59,8 +59,33 @@ 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]+FvNameGuid
 = CA5590AF-9558-4822-B5EA-BE2E876CD3EC+BlockSize  = 
$(FD_BLOCK_SIZE)+FvForceRebase  = FALSE+FvAlignment= 
16+ERASE_POLARITY = 1+MEMORY_MAPPED  = TRUE+STICKY_WRITE   = 
TRUE+LOCK_CAP   = TRUE+LOCK_STATUS= TRUE+WRITE_DISABLED_CAP = 
TRUE+WRITE_ENABLED_CAP  = TRUE+WRITE_STATUS   = TRUE+WRITE_LOCK_CAP = 
TRUE+WRITE_LOCK_STATUS  = TRUE+READ_DISABLED_CAP  = TRUE+READ_ENABLED_CAP   = 
TRUE+READ_STATUS= TRUE+READ_LOCK_CAP  = TRUE+READ_LOCK_STATUS   = 
TRUE++INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf  [FV.DXEFV] FvNameGuid   
  = 8063C21A-8E58-4576-95CE-089E87975D23@@ -106,7 +131,7 @@ INF 
CryptoPkg/Driver/CryptoDxe.inf
 INF MdeModulePkg/Universal/SecurityStubDxe/SecurityStubDxe.inf !endif INF 
UefiCpuPkg/CpuDxe/CpuDxe.inf-INF MdeModulePkg/Universal/BdsDxe/BdsDxe.inf+ INF 
RuleOverride = UI MdeModulePkg/Application/UiApp/UiApp.inf INF 
MdeModulePkg/Application/BootManagerMenuApp/BootManagerMenuApp.inf INF 
PcAtChipsetPkg/HpetTimerDxe/HpetTimerDxe.infdiff --git 
a/UefiPayloadPkg/UniversalPayloadBuild.py 
b/UefiPayloadPkg/UniversalPayloadBuild.py
index 50a5950e7c..6d62b8b20f 100644
--- a/UefiPayloadPkg/UniversalPayloadBuild.py
+++ b/UefiPayloadPkg/UniversalPayloadBuild.py
@@ -67,7 +67,8 @@ def BuildUniversalPayload(Args, MacroList):
  EntryModuleInf = 
os.path.normpath("UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf")   
  DscPath = os.path.normpath("UefiPayloadPkg/UefiPayloadPkg.dsc")-
FvOutputDir = os.path.join(BuildDir, "{}_{}".format (BuildTarget, ToolChain), 
os.path.normpath("FV/DXEFV.Fv"))+DxeFvOutputDir = os.path.join(BuildDir, 
"{}_{}".format (BuildTarget, ToolChain), os.path.normpath("FV/DXEFV.Fv"))+
BdsFvOutputDir = os.path.join(BuildDir, "{}_{}".format (BuildTarget, 
ToolChain), os.path.normpath("FV/BDSFV.Fv")) PayloadReportPath = 
os.path.join(BuildDir, "UefiUniversalPayload.txt") ModuleReportPath = 
os.path.join(BuildDir, "UefiUniversalPayloadEntry.txt") UpldInfoFile = 
os.path.join(BuildDir, "UniversalPayloadInfo.bin")@@ -119,21 +120,22 @@ def 
BuildUniversalPayload(Args, MacroList):
 # # Copy the DXEFV as a section in elf format Universal Payload entry. 
#-remove_section = '"{}" -I {} -O {} --remove-section .upld_info 
--remove-section .upld.uefi_fv {}'.format (+remove_section = '"{}" -I {} -O 
{} --remove-section .upld_info --remove-section .upld.uefi_fv --remove-section 
.upld.bds_fv {}'.format (LlvmObjcopyPath,   
 ObjCopyFlag,ObjCopyFlag,   
 EntryOutputDir)-add_section= '"{}" -I {} -O {} 
--add-section .upld_info={} --add-section .upld.uefi_fv={} {}'.format (+
add_section= '"{}" -I {} -O {} --add-section .upld_info={} --add-section 
.upld.uefi_fv={} --add-section .upld.bds_fv={} {}'.format ( 
   LlvmObjcopyPath,ObjCopyFlag,
ObjCopyFlag,UpldInfoFile,-   
FvOutputDir,+   DxeFvOutputDir,+   
BdsFvOutputDir,EntryOutputDir)- 
   set_section= '"{}" -I {} -O {} --set-section-alignment .upld_info=4 
--set-section-alignment .upld.uefi_fv=16 {}'.format (+set_section= 
'"{}" -I {} -O {} --set-section-alignment .upld_info=16 --set-section-alignment 
.upld.uefi_fv=16 --set-section-alignment .upld.bds_fv=16 {}'.format (   
 LlvmObjcopyPath,ObjCopyFlag,