ArmVirtPkg/ArmVirtPkg.dec | 9 - MdePkg/MdePkg.dec | 4 + OvmfPkg/OvmfPkg.dec | 7 + UefiCpuPkg/UefiCpuPkg.dec | 7 + OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc | 336 ++++++ ArmVirtPkg/ArmVirtCloudHv.dsc | 2 +- ArmVirtPkg/ArmVirtQemu.dsc | 4 +- ArmVirtPkg/ArmVirtQemuKernel.dsc | 2 +- MdePkg/MdePkg.dsc | 3 + ArmVirtPkg/ArmVirtQemu.dsc => OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc | 281 ++--- UefiCpuPkg/UefiCpuPkg.dsc | 6 + OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf | 306 ++++++ ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.inf | 2 +- ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf | 4 +- MdePkg/Library/BaseLib/BaseLib.inf | 3 + MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf | 26 + {ArmVirtPkg => OvmfPkg}/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf | 3 +- OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf | 75 ++ OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf | 23 + OvmfPkg/RiscVVirt/Library/ResetSystemLib/BaseResetSystemLib.inf | 38 + OvmfPkg/RiscVVirt/Library/VirtNorFlashPlatformLib/VirtNorFlashStaticLib.inf | 30 + OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf | 48 + OvmfPkg/RiscVVirt/Sec/SecMain.inf | 66 ++ UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf | 68 ++ UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf | 51 + UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf | 42 + UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.inf | 33 + MdePkg/Include/Library/BaseLib.h | 50 + MdePkg/Include/Library/BaseRiscVSbiLib.h | 154 +++ MdePkg/Include/Register/RiscV64/RiscVEncoding.h | 119 +++ MdePkg/Include/Register/RiscV64/RiscVImpl.h | 25 + OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBm.h | 45 + OvmfPkg/RiscVVirt/Sec/SecMain.h | 102 ++ UefiCpuPkg/CpuDxeRiscV64/CpuDxe.h | 199 ++++ UefiCpuPkg/CpuTimerDxeRiscV64/Timer.h | 177 ++++ UefiCpuPkg/Include/Protocol/RiscVBootProtocol.h | 34 + UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.h | 116 +++ MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.c | 231 +++++ {ArmVirtPkg => OvmfPkg}/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.c | 0 OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBm.c | 1078 ++++++++++++++++++++ OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/QemuKernel.c | 77 ++ OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointer.c | 65 ++ OvmfPkg/RiscVVirt/Library/ResetSystemLib/ResetSystemLib.c | 128 +++ OvmfPkg/RiscVVirt/Library/VirtNorFlashPlatformLib/VirtNorFlashStaticLib.c | 40 + OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.c | 557 ++++++++++ OvmfPkg/RiscVVirt/Sec/Cpu.c | 33 + OvmfPkg/RiscVVirt/Sec/Memory.c | 263 +++++ OvmfPkg/RiscVVirt/Sec/Platform.c | 84 ++ OvmfPkg/RiscVVirt/Sec/SecMain.c | 104 ++ UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c | 365 +++++++ UefiCpuPkg/CpuTimerDxeRiscV64/Timer.c | 294 ++++++ UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.c | 133 +++ UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/CpuTimerLib.c | 199 ++++ ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 2 +- Maintainers.txt | 5 + MdePkg/Library/BaseLib/RiscV64/CpuScratch.S | 31 + MdePkg/Library/BaseLib/RiscV64/ReadTimer.S | 23 + MdePkg/Library/BaseLib/RiscV64/RiscVInterrupt.S | 53 +- MdePkg/Library/BaseLib/RiscV64/RiscVMmu.S | 23 + MdePkg/Library/BaseRiscVSbiLib/RiscVSbiEcall.S | 42 + OvmfPkg/RiscVVirt/RiscVVirt.fdf.inc | 41 + OvmfPkg/RiscVVirt/Sec/SecEntry.S | 21 + OvmfPkg/RiscVVirt/VarStore.fdf.inc | 79 ++ UefiCpuPkg/CpuDxeRiscV64/CpuDxe.uni | 13 + UefiCpuPkg/CpuDxeRiscV64/CpuDxeExtra.uni | 14 + UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimer.uni | 14 + UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerExtra.uni | 12 + UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.uni | 13 + UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/SupervisorTrapHandler.S | 105 ++ UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.uni | 14 + UefiCpuPkg/UefiCpuPkg.ci.yaml | 1 + 71 files changed, 6452 insertions(+), 205 deletions(-) create mode 100644 OvmfPkg/RiscVVirt/RiscVVirt.dsc.inc copy ArmVirtPkg/ArmVirtQemu.dsc => OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc (66%) create mode 100644 OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf create mode 100644 MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf rename {ArmVirtPkg => OvmfPkg}/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf (89%) create mode 100644 OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf create mode 100644 OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointerLib.inf create mode 100644 OvmfPkg/RiscVVirt/Library/ResetSystemLib/BaseResetSystemLib.inf create mode 100644 OvmfPkg/RiscVVirt/Library/VirtNorFlashPlatformLib/VirtNorFlashStaticLib.inf create mode 100644 OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf create mode 100644 OvmfPkg/RiscVVirt/Sec/SecMain.inf create mode 100644 UefiCpuPkg/CpuDxeRiscV64/CpuDxeRiscV64.inf create mode 100644 UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerDxeRiscV64.inf create mode 100644 UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.inf create mode 100644 UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.inf create mode 100644 MdePkg/Include/Library/BaseRiscVSbiLib.h create mode 100644 MdePkg/Include/Register/RiscV64/RiscVEncoding.h create mode 100644 MdePkg/Include/Register/RiscV64/RiscVImpl.h create mode 100644 OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBm.h create mode 100644 OvmfPkg/RiscVVirt/Sec/SecMain.h create mode 100644 UefiCpuPkg/CpuDxeRiscV64/CpuDxe.h create mode 100644 UefiCpuPkg/CpuTimerDxeRiscV64/Timer.h create mode 100644 UefiCpuPkg/Include/Protocol/RiscVBootProtocol.h create mode 100644 UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.h create mode 100644 MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.c rename {ArmVirtPkg => OvmfPkg}/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.c (100%) create mode 100644 OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/PlatformBm.c create mode 100644 OvmfPkg/RiscVVirt/Library/PlatformBootManagerLib/QemuKernel.c create mode 100644 OvmfPkg/RiscVVirt/Library/PrePiHobListPointerLib/PrePiHobListPointer.c create mode 100644 OvmfPkg/RiscVVirt/Library/ResetSystemLib/ResetSystemLib.c create mode 100644 OvmfPkg/RiscVVirt/Library/VirtNorFlashPlatformLib/VirtNorFlashStaticLib.c create mode 100644 OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.c create mode 100644 OvmfPkg/RiscVVirt/Sec/Cpu.c create mode 100644 OvmfPkg/RiscVVirt/Sec/Memory.c create mode 100644 OvmfPkg/RiscVVirt/Sec/Platform.c create mode 100644 OvmfPkg/RiscVVirt/Sec/SecMain.c create mode 100644 UefiCpuPkg/CpuDxeRiscV64/CpuDxe.c create mode 100644 UefiCpuPkg/CpuTimerDxeRiscV64/Timer.c create mode 100644 UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/CpuExceptionHandlerLib.c create mode 100644 UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/CpuTimerLib.c create mode 100644 MdePkg/Library/BaseLib/RiscV64/CpuScratch.S create mode 100644 MdePkg/Library/BaseLib/RiscV64/ReadTimer.S create mode 100644 MdePkg/Library/BaseLib/RiscV64/RiscVMmu.S create mode 100644 MdePkg/Library/BaseRiscVSbiLib/RiscVSbiEcall.S create mode 100644 OvmfPkg/RiscVVirt/RiscVVirt.fdf.inc create mode 100644 OvmfPkg/RiscVVirt/Sec/SecEntry.S create mode 100644 OvmfPkg/RiscVVirt/VarStore.fdf.inc create mode 100644 UefiCpuPkg/CpuDxeRiscV64/CpuDxe.uni create mode 100644 UefiCpuPkg/CpuDxeRiscV64/CpuDxeExtra.uni create mode 100644 UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimer.uni create mode 100644 UefiCpuPkg/CpuTimerDxeRiscV64/CpuTimerExtra.uni create mode 100644 UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/BaseRiscV64CpuExceptionHandlerLib.uni create mode 100644 UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/SupervisorTrapHandler.S create mode 100644 UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.uni