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 (#104673): https://edk2.groups.io/g/devel/message/104673
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]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to