]> git.proxmox.com Git - mirror_edk2.git/commitdiff
UefiPayloadPkg: Move bdsdxe.inf from DXEFV to BDSFV
authorMarsX Lin <marsx.lin@intel.com>
Mon, 19 Dec 2022 02:50:05 +0000 (10:50 +0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Mon, 19 Dec 2022 07:28:55 +0000 (07:28 +0000)
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 <guo.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Reviewed-by: James Lu <james.lu@intel.com>
Reviewed-by: Gua Guo <gua.guo@intel.com>
Signed-off-by: MarsX Lin <marsx.lin@intel.com>
UefiPayloadPkg/UefiPayloadPkg.fdf
UefiPayloadPkg/UniversalPayloadBuild.py

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