This patchset contains modifications required in UPL boot flow to enable RiscV64 support. Squashing earlier series of patches related to arch specific removal from UPL boot path to this release such that all chnages can be viewed in the entirety. 1. Add required infra to support RiscV64 2. New UPL proposal supports multiple Archs and accordingly ABI is also different. This is a proposal to accomodate these changes. This patch adds a hook to parse RiscV64 specific IN params and extract FDT from the same. 3. Take FDT received from BL and parse it to create required HOBs that are later consumed by UPL. 4. Add FirmwareContext structure which is specific to RV and used by RV CPU driver. 5. Add required modifications to extrace DxeFv from overall UPL FD. 6. Add required RV drivers to boot to UEFI Shell
P.S. This patch is review only at this point as it is tested in a limited fashion for RV to get to early debug logs from FDT described serial device. It will require modifications to work on other Archs. Branch https://github.com/rivosinc/edk2/tree/upl-rv64-enable-compilation-v1 Dhaval Sharma (8): UefiPayloadPkg: Remove FP Init from UPL entry UefiPayloadPkg: Move INT prog outside common flow UefiPayloadPkg: Basic Infra To Enable RV64 UPL Support UefiPayloadPkg: Update input params as per latest UPL spec UefiPayloadPkg: Hook to parse IN params as per UPL spec UefiPayloadPkg: Add FirmwareContext for RV64 UefiPayloadPkg: Find DxeFV and create required FV HOB UefiPayloadPkg: Add RV64 driver to boot to UEFI Shell UefiPayloadPkg/UefiPayloadPkg.dsc | 2 +- UefiPayloadPkg/{UefiPayloadPkg.dsc => UefiPayloadPkgRV64.dsc} | 448 +++----------- UefiPayloadPkg/UefiPayloadPkgRV64.fdf | 325 ++++++++++ UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.inf | 12 +- UefiPayloadPkg/UefiPayloadEntry/Ia32/DxeLoadFunc.c | 9 + UefiPayloadPkg/UefiPayloadEntry/Ia32/Ia32FdtParserLib.c | 33 ++ UefiPayloadPkg/UefiPayloadEntry/{X64 => RiscV64}/DxeLoadFunc.c | 62 +- UefiPayloadPkg/UefiPayloadEntry/RiscV64/Rv64FdtParserLib.c | 625 ++++++++++++++++++++ UefiPayloadPkg/UefiPayloadEntry/UniversalPayloadEntry.c | 29 +- UefiPayloadPkg/UefiPayloadEntry/X64/DxeLoadFunc.c | 9 + UefiPayloadPkg/UefiPayloadEntry/X64/X64FdtParserLib.c | 33 ++ 11 files changed, 1166 insertions(+), 421 deletions(-) copy UefiPayloadPkg/{UefiPayloadPkg.dsc => UefiPayloadPkgRV64.dsc} (63%) create mode 100644 UefiPayloadPkg/UefiPayloadPkgRV64.fdf create mode 100644 UefiPayloadPkg/UefiPayloadEntry/Ia32/Ia32FdtParserLib.c copy UefiPayloadPkg/UefiPayloadEntry/{X64 => RiscV64}/DxeLoadFunc.c (51%) create mode 100644 UefiPayloadPkg/UefiPayloadEntry/RiscV64/Rv64FdtParserLib.c create mode 100644 UefiPayloadPkg/UefiPayloadEntry/X64/X64FdtParserLib.c -- 2.34.1 -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#104671): https://edk2.groups.io/g/devel/message/104671 Mute This Topic: https://groups.io/mt/98822671/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-