Changeset 108794 in vbox for trunk/src/VBox/Devices/EFI/FirmwareNew/UefiPayloadPkg/UniversalPayloadBuild.py
- Timestamp:
- Mar 31, 2025 11:31:09 AM (2 weeks ago)
- svn:sync-xref-src-repo-rev:
- 168237
- Location:
- trunk/src/VBox/Devices/EFI/FirmwareNew
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Devices/EFI/FirmwareNew
-
Property svn:mergeinfo
changed from (toggle deleted branches)
to (toggle deleted branches)/vendor/edk2/current 103735-103757,103769-103776,129194-164365 /vendor/edk2/current 103735-103757,103769-103776,129194-168232
-
Property svn:mergeinfo
changed from (toggle deleted branches)
-
trunk/src/VBox/Devices/EFI/FirmwareNew/UefiPayloadPkg/UniversalPayloadBuild.py
r105670 r108794 113 113 114 114 def BuildUniversalPayload(Args): 115 DscPath = os.path.normpath(Args.DscPath) 116 print("Building FIT for DSC file %s"%DscPath) 115 117 BuildTarget = Args.Target 116 118 ToolChain = Args.ToolChain … … 141 143 EntryOutputDir = os.path.join(BuildDir, "{}_{}".format (BuildTarget, PayloadEntryToolChain), os.path.normpath("{}/UefiPayloadPkg/UefiPayloadEntry/{}/DEBUG/{}.dll".format (Args.Arch, UpldEntryFile, UpldEntryFile))) 142 144 EntryModuleInf = os.path.normpath("UefiPayloadPkg/UefiPayloadEntry/{}.inf".format (UpldEntryFile)) 143 DscPath = os.path.normpath("UefiPayloadPkg/UefiPayloadPkg.dsc")144 145 DxeFvOutputDir = os.path.join(BuildDir, "{}_{}".format (BuildTarget, ToolChain), os.path.normpath("FV/DXEFV.Fv")) 145 146 BdsFvOutputDir = os.path.join(BuildDir, "{}_{}".format (BuildTarget, ToolChain), os.path.normpath("FV/BDSFV.Fv")) 147 SecFvOutputDir = os.path.join(BuildDir, "{}_{}".format (BuildTarget, ToolChain), os.path.normpath("FV/SECFV.Fv")) 146 148 NetworkFvOutputDir = os.path.join(BuildDir, "{}_{}".format (BuildTarget, ToolChain), os.path.normpath("FV/NETWORKFV.Fv")) 147 149 PayloadReportPath = os.path.join(BuildDir, "UefiUniversalPayload.txt") … … 212 214 ['uefi_fv', os.path.join(BuildDir, "{}_{}".format (BuildTarget, ToolChain), os.path.normpath("FV/DXEFV.Fv")) ], 213 215 ['bds_fv', os.path.join(BuildDir, "{}_{}".format (BuildTarget, ToolChain), os.path.normpath("FV/BDSFV.Fv")) ], 216 ['sec_fv', os.path.join(BuildDir, "{}_{}".format (BuildTarget, ToolChain), os.path.normpath("FV/SECFV.Fv")) ], 214 217 ['network_fv', os.path.join(BuildDir, "{}_{}".format (BuildTarget, ToolChain), os.path.normpath("FV/NETWORKFV.Fv"))], 215 218 ] … … 234 237 fit_image_info_header.UefifvPath = DxeFvOutputDir 235 238 fit_image_info_header.BdsfvPath = BdsFvOutputDir 239 fit_image_info_header.SecfvPath = SecFvOutputDir 236 240 fit_image_info_header.NetworkfvPath = NetworkFvOutputDir 237 241 fit_image_info_header.DataOffset = 0x1000 … … 263 267 RelocBinary = b'' 264 268 PeCoff = pefile.PE (TargetRebaseFile) 265 for reloc in PeCoff.DIRECTORY_ENTRY_BASERELOC: 266 for entry in reloc.entries: 267 if (entry.type == 0): 268 continue 269 Type = entry.type 270 Offset = entry.rva + fit_image_info_header.DataOffset 271 RelocBinary += Type.to_bytes (8, 'little') + Offset.to_bytes (8, 'little') 269 if hasattr(PeCoff, 'DIRECTORY_ENTRY_BASERELOC'): 270 for reloc in PeCoff.DIRECTORY_ENTRY_BASERELOC: 271 for entry in reloc.entries: 272 if (entry.type == 0): 273 continue 274 Type = entry.type 275 Offset = entry.rva + fit_image_info_header.DataOffset 276 RelocBinary += Offset.to_bytes (8, 'little') + Type.to_bytes (8, 'little') 272 277 RelocBinary += b'\x00' * (0x1000 - (len(RelocBinary) % 0x1000)) 273 278 … … 322 327 parser.add_argument("-f", "--Fit", action='store_true', help='Build UniversalPayload file as UniversalPayload.fit', default=False) 323 328 parser.add_argument('-l', "--LoadAddress", type=int, help='Specify payload load address', default =0x000800000) 329 parser.add_argument('-c', '--DscPath', type=str, default="UefiPayloadPkg/UefiPayloadPkg.dsc", help='Path to the DSC file') 324 330 325 331 args = parser.parse_args()
Note:
See TracChangeset
for help on using the changeset viewer.