From: "Sunil V L" <sunilvl@ventanamicro.com>
To: devel@edk2.groups.io
Subject: [edk2-staging/RiscV64QemuVirt PATCH V4 00/34] Add support for RISC-V virt machine
Date: Fri, 14 Oct 2022 22:18:02 +0530 [thread overview]
Message-ID: <20221014164836.1513036-1-sunilvl@ventanamicro.com> (raw)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4076
Add support for RISC-V qemu virt machine. Most of the changes are migrated from
edk2-platforms repo and followed the latest guidelines for EDK2 code structuring.
The changes at a high level are,
1) MdePkg:
- Add RISC-V register definitions
- Add RISCV_EFI_BOOT_PROTOCOL related definitions
- Add BaseRiscVSbiLib library to make ecall to machine mode firmware
- Created Null instance of the NorFlashPlatformLib library class
- Moved NorFlashPlatformLib.h from ArmPlatformPkg
2) UefiCpuPkg:
- Refactor modules/libraries as per latest guidelines
- Add RISC-V support in below modules/libraries.
- CpuTimerLib, CpuExceptionHandlerLib, CpuDxe
- Add new CpuTimerDxe module
3) ArmVirtPkg:
- Migrate below libraries/modules to OvmfPkg
- PlatformBootManagerLib, PlatformHasAcpiDtDxe
- Fix up the consumers of these modules
4) OvmfPkg:
- Refactor the libraries/modules as per latest guidelines
- Add RISC-V support for below libraries/modules.
- Sec, ResetSystemLib, PlatformInitLib, PlatformPei
- Add optimized version of NorFlashDxe driver
- Add NorFlashQemuLib (Copied from ArmVirtPkg and SbsaQemu)
- Add new DSC/FDF files to build for RISC-V virt machine
5) MdeModulePkg/EmbeddedPkg:
- Migrated NvVarStoreFormattedLib from EmbeddedPkg to MdeModulePkg
- Fix up the consumers of NvVarStoreFormattedLib
Changes since V3:
1) Addressed Abner's comments
2) Changed folder name from Ia32_X64 to Ia32X64 as per latest guidelines.
2) Rebased
Changes since V2:
1) Fixed issues detected by CI (https://github.com/tianocore/edk2/pull/3471)
2) Added an extra patch to fix up the consumers of NvVarStoreFormattedLib
Changes since V1:
1) Added couple of patches from Ard to optimize the NorFlashDxe in Ovmf.
Note: There will be a separate patch series in future to update existing
consumers of NorFlashDxe driver.
2) Migrated NvVarStoreFormattedLib from EmbeddedPkg to MdeModulePkg
3) Created Null instance of the NorFlashPlatformLib library class
4) Moved NorFlashPlatformLib.h from ArmPlatformPkg
These changes are available at: https://github.com/vlsunil/edk2/tree/RiscV64QemuVirt
The changes are tested on risc-v qemu with an additional patch series to
enable pflash available at https://github.com/vlsunil/qemu/tree/pflash_v3
Sunil V L (34):
MdePkg/Register: Add register definition header files for RISC-V
MdePkg: Add RISCV_EFI_BOOT_PROTOCOL related definitions
MdePkg/BaseLib: RISC-V: Add few more helper functions
MdePkg: Add BaseRiscVSbiLib Library for RISC-V
OvmfPkg/PlatformInitLib: Refactor to allow other architectures
OvmfPkg/PlatformInitLib: Add support for RISC-V
OvmfPkg/ResetSystemLib: Refactor to allow other architectures.
OvmfPkg/ResetSystemLib: Add support for RISC-V
OvmfPkg/Sec: Refactor to allow other architectures
OvmfPkg/Sec: Add RISC-V support
OvmfPkg/PlatformPei: Refactor to allow other architectures
OvmfPkg/PlatformPei: Add support for RISC-V
UefiCpuPkg/CpuTimerLib: Refactor to allow other architectures
UefiCpuPkg/CpuTimerLib: Add support for RISC-V
UefiCpuPkg/CpuExceptionHandlerLib: Refactor to allow other
architectures
UefiCpuPkg/CpuExceptionHandlerLib: Add support for RISC-V
UefiCpuPkg/CpuDxe: Refactor to allow other architectures
UefiCpuPkg/CpuDxe: Add support for RISC-V
UefiCpuPkg/CpuDxe: Add RISCV_EFI_BOOT_PROTOCOL support
UefiCpuPkg: Add CpuTimerDxe module
ArmVirtPkg/PlatformHasAcpiDtDxe: Move to OvmfPkg
ArmVirtPkg: Fix up the location of PlatformHasAcpiDtDxe
ArmVirtPkg/PlatformBootManagerLib: Move to OvmfPkg
ArmVirtPkg: Fix up the paths to PlatformBootManagerLib
ArmPlatformPkg/NorFlashPlatformLib.h:Move to MdePkg
EmbeddedPkg/NvVarStoreFormattedLib: Migrate to MdeModulePkg
ArmVirtPkg: Update the references to NvVarStoreFormattedLib
OvmfPkg: Add NorFlashQemuLib library
OvmfPkg: Add Qemu NOR flash DXE driver
OvmfPkg/NorFlashDxe: Avoid switching to array mode during writes
OvmfPkg/NorFlashDxe: Avoid switching between modes in a tight loop
OvmfPkg: RiscVVirt: Add Qemu Virt platform support
Maintainers.txt: Add entry for OvmfPkg/RiscVVirt
UefiCpuPkg/UefiCpuPkg.ci.yaml: Ignore RISC-V file
ArmPlatformPkg/ArmPlatformPkg.dec | 4 -
ArmVirtPkg/ArmVirtPkg.dec | 9 -
EmbeddedPkg/EmbeddedPkg.dec | 3 -
MdeModulePkg/MdeModulePkg.dec | 3 +
MdePkg/MdePkg.dec | 13 +
OvmfPkg/OvmfPkg.dec | 18 +
ArmVirtPkg/ArmVirtCloudHv.dsc | 2 +-
ArmVirtPkg/ArmVirtKvmTool.dsc | 2 +-
ArmVirtPkg/ArmVirtQemu.dsc | 10 +-
ArmVirtPkg/ArmVirtQemuKernel.dsc | 8 +-
MdeModulePkg/MdeModulePkg.dsc | 2 +
MdePkg/MdePkg.dsc | 4 +
OvmfPkg/Platforms/RiscVVirt/RiscVVirt.dsc | 726 ++++++++++++++++
UefiCpuPkg/UefiCpuPkg.dsc | 15 +-
OvmfPkg/Platforms/RiscVVirt/RiscVVirt.fdf | 406 +++++++++
ArmVirtPkg/CloudHvPlatformHasAcpiDtDxe/CloudHvHasAcpiDtDxe.inf | 2 +-
ArmVirtPkg/KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf | 2 +-
{EmbeddedPkg => MdeModulePkg}/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.inf | 1 -
MdePkg/Library/BaseLib/BaseLib.inf | 2 +
MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf | 25 +
MdePkg/Library/NorFlashPlatformLibNull/NorFlashPlatformLibNull.inf | 22 +
OvmfPkg/Drivers/NorFlashDxe/NorFlashDxe.inf | 67 ++
OvmfPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm.inf | 61 ++
OvmfPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf | 40 +
OvmfPkg/Library/NorFlashQemuLib/NorFlashQemuUnifiedLib.inf | 30 +
{ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibVirt}/PlatformBootManagerLib.inf | 3 +-
OvmfPkg/Library/PlatformInitLib/PlatformInitLib.inf | 31 +-
OvmfPkg/Library/ResetSystemLib/BaseResetSystemLib.inf | 12 +-
OvmfPkg/Library/ResetSystemLib/BaseResetSystemLibBhyve.inf | 4 +-
OvmfPkg/Library/ResetSystemLib/BaseResetSystemLibMicrovm.inf | 2 +-
OvmfPkg/Library/ResetSystemLib/DxeResetSystemLib.inf | 15 +-
OvmfPkg/Library/ResetSystemLib/DxeResetSystemLibMicrovm.inf | 4 +-
{ArmVirtPkg => OvmfPkg}/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf | 3 +-
OvmfPkg/PlatformPei/PlatformPei.inf | 43 +-
OvmfPkg/Sec/SecMain.inf | 34 +-
UefiCpuPkg/CpuDxe/CpuDxe.inf | 39 +-
UefiCpuPkg/CpuTimerDxe/CpuTimerDxe.inf | 51 ++
UefiCpuPkg/Library/CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf | 21 +-
UefiCpuPkg/Library/CpuExceptionHandlerLib/PeiCpuExceptionHandlerLib.inf | 8 +-
UefiCpuPkg/Library/CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf | 19 +-
UefiCpuPkg/Library/CpuExceptionHandlerLib/SmmCpuExceptionHandlerLib.inf | 8 +-
UefiCpuPkg/Library/CpuExceptionHandlerLib/Xcode5SecPeiCpuExceptionHandlerLib.inf | 6 +-
UefiCpuPkg/Library/CpuTimerLib/BaseCpuTimerLib.inf | 9 +-
{EmbeddedPkg => MdeModulePkg}/Include/Guid/NvVarStoreFormatted.h | 0
MdePkg/Include/Library/BaseLib.h | 50 ++
MdePkg/Include/Library/BaseRiscVSbiLib.h | 127 +++
{ArmPlatformPkg => MdePkg}/Include/Library/NorFlashPlatformLib.h | 0
MdePkg/Include/Protocol/RiscVBootProtocol.h | 34 +
MdePkg/Include/Register/RiscV64/RiscVEncoding.h | 119 +++
MdePkg/Include/Register/RiscV64/RiscVImpl.h | 25 +
OvmfPkg/Drivers/NorFlashDxe/NorFlash.h | 422 +++++++++
OvmfPkg/Include/Library/PlatformInitLib.h | 6 +
{ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibVirt}/PlatformBm.h | 0
OvmfPkg/PlatformPei/{ => Ia32X64}/Platform.h | 0
OvmfPkg/PlatformPei/RiscV64/Platform.h | 97 +++
OvmfPkg/Sec/{ => Ia32X64}/AmdSev.h | 0
OvmfPkg/Sec/RiscV64/SecMain.h | 65 ++
OvmfPkg/Sec/SecMainCommon.h | 73 ++
UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuDxe.h | 0
UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuGdt.h | 0
UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuMp.h | 0
UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuPageTable.h | 0
UefiCpuPkg/CpuDxe/{ => RiscV64}/CpuDxe.h | 122 +--
UefiCpuPkg/CpuTimerDxe/RiscV64/Timer.h | 177 ++++
UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/CpuExceptionCommon.h | 0
UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV64/CpuExceptionHandlerLib.h | 116 +++
{EmbeddedPkg => MdeModulePkg}/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.c | 0
MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.c | 227 +++++
MdePkg/Library/NorFlashPlatformLibNull/NorFlashPlatformLibNull.c | 26 +
OvmfPkg/Drivers/NorFlashDxe/NorFlash.c | 908 ++++++++++++++++++++
OvmfPkg/Drivers/NorFlashDxe/NorFlashBlockIoDxe.c | 123 +++
OvmfPkg/Drivers/NorFlashDxe/NorFlashDxe.c | 509 +++++++++++
OvmfPkg/Drivers/NorFlashDxe/NorFlashFvb.c | 777 +++++++++++++++++
OvmfPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm.c | 386 +++++++++
OvmfPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c | 136 +++
OvmfPkg/Library/NorFlashQemuLib/NorFlashQemuUnifiedLib.c | 40 +
{ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibVirt}/PlatformBm.c | 0
{ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibVirt}/QemuKernel.c | 0
OvmfPkg/Library/PlatformInitLib/{ => Ia32X64}/Cmos.c | 0
OvmfPkg/Library/PlatformInitLib/{ => Ia32X64}/IntelTdx.c | 0
OvmfPkg/Library/PlatformInitLib/{ => Ia32X64}/IntelTdxNull.c | 0
OvmfPkg/Library/PlatformInitLib/{ => Ia32X64}/MemDetect.c | 0
OvmfPkg/Library/PlatformInitLib/{ => Ia32X64}/Platform.c | 0
OvmfPkg/Library/PlatformInitLib/RiscV64/PlatformPeiLib.c | 72 ++
OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/BaseResetShutdown.c | 0
OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/BaseResetShutdownBhyve.c | 0
OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/DxeResetShutdown.c | 0
OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/DxeResetSystemLibMicrovm.c | 0
OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/ResetSystemLib.c | 0
OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/ResetSystemLibMicrovm.c | 0
OvmfPkg/Library/ResetSystemLib/RiscV64/DxeResetShutdown.c | 20 +
OvmfPkg/Library/ResetSystemLib/RiscV64/ResetSystemLib.c | 128 +++
{ArmVirtPkg => OvmfPkg}/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.c | 0
OvmfPkg/PlatformPei/{ => Ia32X64}/AmdSev.c | 0
OvmfPkg/PlatformPei/{ => Ia32X64}/ClearCache.c | 0
OvmfPkg/PlatformPei/{ => Ia32X64}/FeatureControl.c | 0
OvmfPkg/PlatformPei/{ => Ia32X64}/Fv.c | 0
OvmfPkg/PlatformPei/{ => Ia32X64}/IntelTdx.c | 0
OvmfPkg/PlatformPei/{ => Ia32X64}/MemDetect.c | 0
OvmfPkg/PlatformPei/{ => Ia32X64}/MemTypeInfo.c | 0
OvmfPkg/PlatformPei/{ => Ia32X64}/Platform.c | 0
OvmfPkg/PlatformPei/{ => RiscV64}/Fv.c | 43 +-
OvmfPkg/PlatformPei/RiscV64/MemDetect.c | 212 +++++
OvmfPkg/PlatformPei/RiscV64/Platform.c | 372 ++++++++
OvmfPkg/Sec/{ => Ia32X64}/AmdSev.c | 0
OvmfPkg/Sec/{ => Ia32X64}/SecMain.c | 227 +----
OvmfPkg/Sec/RiscV64/SecMain.c | 573 ++++++++++++
OvmfPkg/Sec/SecMainCommon.c | 238 +++++
UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuDxe.c | 0
UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuGdt.c | 0
UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuMp.c | 0
UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuPageTable.c | 0
UefiCpuPkg/CpuDxe/RiscV64/CpuDxe.c | 365 ++++++++
UefiCpuPkg/CpuTimerDxe/RiscV64/Timer.c | 294 +++++++
UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/CpuExceptionCommon.c | 0
UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/DxeException.c | 0
UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/PeiCpuException.c | 0
UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/PeiDxeSmmCpuException.c | 0
UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/SecPeiCpuException.c | 0
UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/SmmException.c | 0
UefiCpuPkg/Library/CpuExceptionHandlerLib/{SmmException.c => RiscV64/CpuExceptionHandlerLib.c} | 83 +-
UefiCpuPkg/Library/CpuTimerLib/{ => Ia32X64}/BaseCpuTimerLib.c | 0
UefiCpuPkg/Library/CpuTimerLib/{ => Ia32X64}/CpuTimerLib.c | 0
UefiCpuPkg/Library/CpuTimerLib/RiscV64/CpuTimerLib.c | 199 +++++
ArmVirtPkg/ArmVirtPkg.ci.yaml | 1 -
ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 2 +-
Maintainers.txt | 4 +
MdePkg/Library/BaseLib/RiscV64/CpuScratch.S | 31 +
MdePkg/Library/BaseLib/RiscV64/ReadTimer.S | 23 +
MdePkg/Library/BaseLib/RiscV64/RiscVInterrupt.S | 53 +-
OvmfPkg/OvmfPkg.ci.yaml | 1 +
OvmfPkg/Platforms/RiscVVirt/RiscVVirt.fdf.inc | 66 ++
OvmfPkg/Platforms/RiscVVirt/VarStore.fdf.inc | 79 ++
OvmfPkg/Sec/RiscV64/SecEntry.S | 23 +
UefiCpuPkg/CpuTimerDxe/CpuTimer.uni | 14 +
UefiCpuPkg/CpuTimerDxe/CpuTimerExtra.uni | 12 +
UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV64/SupervisorTrapHandler.S | 105 +++
UefiCpuPkg/UefiCpuPkg.ci.yaml | 1 +
138 files changed, 9064 insertions(+), 531 deletions(-)
create mode 100644 OvmfPkg/Platforms/RiscVVirt/RiscVVirt.dsc
create mode 100644 OvmfPkg/Platforms/RiscVVirt/RiscVVirt.fdf
rename {EmbeddedPkg => MdeModulePkg}/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.inf (96%)
create mode 100644 MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.inf
create mode 100644 MdePkg/Library/NorFlashPlatformLibNull/NorFlashPlatformLibNull.inf
create mode 100644 OvmfPkg/Drivers/NorFlashDxe/NorFlashDxe.inf
create mode 100644 OvmfPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm.inf
create mode 100644 OvmfPkg/Library/NorFlashQemuLib/NorFlashQemuLib.inf
create mode 100644 OvmfPkg/Library/NorFlashQemuLib/NorFlashQemuUnifiedLib.inf
rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibVirt}/PlatformBootManagerLib.inf (92%)
rename {ArmVirtPkg => OvmfPkg}/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.inf (89%)
create mode 100644 UefiCpuPkg/CpuTimerDxe/CpuTimerDxe.inf
rename {EmbeddedPkg => MdeModulePkg}/Include/Guid/NvVarStoreFormatted.h (100%)
create mode 100644 MdePkg/Include/Library/BaseRiscVSbiLib.h
rename {ArmPlatformPkg => MdePkg}/Include/Library/NorFlashPlatformLib.h (100%)
create mode 100644 MdePkg/Include/Protocol/RiscVBootProtocol.h
create mode 100644 MdePkg/Include/Register/RiscV64/RiscVEncoding.h
create mode 100644 MdePkg/Include/Register/RiscV64/RiscVImpl.h
create mode 100644 OvmfPkg/Drivers/NorFlashDxe/NorFlash.h
rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibVirt}/PlatformBm.h (100%)
rename OvmfPkg/PlatformPei/{ => Ia32X64}/Platform.h (100%)
create mode 100644 OvmfPkg/PlatformPei/RiscV64/Platform.h
rename OvmfPkg/Sec/{ => Ia32X64}/AmdSev.h (100%)
create mode 100644 OvmfPkg/Sec/RiscV64/SecMain.h
create mode 100644 OvmfPkg/Sec/SecMainCommon.h
copy UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuDxe.h (100%)
rename UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuGdt.h (100%)
rename UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuMp.h (100%)
rename UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuPageTable.h (100%)
rename UefiCpuPkg/CpuDxe/{ => RiscV64}/CpuDxe.h (69%)
create mode 100644 UefiCpuPkg/CpuTimerDxe/RiscV64/Timer.h
rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/CpuExceptionCommon.h (100%)
create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV64/CpuExceptionHandlerLib.h
rename {EmbeddedPkg => MdeModulePkg}/Library/NvVarStoreFormattedLib/NvVarStoreFormattedLib.c (100%)
create mode 100644 MdePkg/Library/BaseRiscVSbiLib/BaseRiscVSbiLib.c
create mode 100644 MdePkg/Library/NorFlashPlatformLibNull/NorFlashPlatformLibNull.c
create mode 100644 OvmfPkg/Drivers/NorFlashDxe/NorFlash.c
create mode 100644 OvmfPkg/Drivers/NorFlashDxe/NorFlashBlockIoDxe.c
create mode 100644 OvmfPkg/Drivers/NorFlashDxe/NorFlashDxe.c
create mode 100644 OvmfPkg/Drivers/NorFlashDxe/NorFlashFvb.c
create mode 100644 OvmfPkg/Drivers/NorFlashDxe/NorFlashStandaloneMm.c
create mode 100644 OvmfPkg/Library/NorFlashQemuLib/NorFlashQemuLib.c
create mode 100644 OvmfPkg/Library/NorFlashQemuLib/NorFlashQemuUnifiedLib.c
rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibVirt}/PlatformBm.c (100%)
rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibVirt}/QemuKernel.c (100%)
rename OvmfPkg/Library/PlatformInitLib/{ => Ia32X64}/Cmos.c (100%)
rename OvmfPkg/Library/PlatformInitLib/{ => Ia32X64}/IntelTdx.c (100%)
rename OvmfPkg/Library/PlatformInitLib/{ => Ia32X64}/IntelTdxNull.c (100%)
rename OvmfPkg/Library/PlatformInitLib/{ => Ia32X64}/MemDetect.c (100%)
rename OvmfPkg/Library/PlatformInitLib/{ => Ia32X64}/Platform.c (100%)
create mode 100644 OvmfPkg/Library/PlatformInitLib/RiscV64/PlatformPeiLib.c
rename OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/BaseResetShutdown.c (100%)
rename OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/BaseResetShutdownBhyve.c (100%)
rename OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/DxeResetShutdown.c (100%)
rename OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/DxeResetSystemLibMicrovm.c (100%)
rename OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/ResetSystemLib.c (100%)
rename OvmfPkg/Library/ResetSystemLib/{ => Ia32X64}/ResetSystemLibMicrovm.c (100%)
create mode 100644 OvmfPkg/Library/ResetSystemLib/RiscV64/DxeResetShutdown.c
create mode 100644 OvmfPkg/Library/ResetSystemLib/RiscV64/ResetSystemLib.c
rename {ArmVirtPkg => OvmfPkg}/PlatformHasAcpiDtDxe/PlatformHasAcpiDtDxe.c (100%)
rename OvmfPkg/PlatformPei/{ => Ia32X64}/AmdSev.c (100%)
rename OvmfPkg/PlatformPei/{ => Ia32X64}/ClearCache.c (100%)
rename OvmfPkg/PlatformPei/{ => Ia32X64}/FeatureControl.c (100%)
copy OvmfPkg/PlatformPei/{ => Ia32X64}/Fv.c (100%)
rename OvmfPkg/PlatformPei/{ => Ia32X64}/IntelTdx.c (100%)
rename OvmfPkg/PlatformPei/{ => Ia32X64}/MemDetect.c (100%)
rename OvmfPkg/PlatformPei/{ => Ia32X64}/MemTypeInfo.c (100%)
rename OvmfPkg/PlatformPei/{ => Ia32X64}/Platform.c (100%)
rename OvmfPkg/PlatformPei/{ => RiscV64}/Fv.c (63%)
create mode 100644 OvmfPkg/PlatformPei/RiscV64/MemDetect.c
create mode 100644 OvmfPkg/PlatformPei/RiscV64/Platform.c
rename OvmfPkg/Sec/{ => Ia32X64}/AmdSev.c (100%)
rename OvmfPkg/Sec/{ => Ia32X64}/SecMain.c (75%)
create mode 100644 OvmfPkg/Sec/RiscV64/SecMain.c
create mode 100644 OvmfPkg/Sec/SecMainCommon.c
rename UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuDxe.c (100%)
rename UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuGdt.c (100%)
rename UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuMp.c (100%)
rename UefiCpuPkg/CpuDxe/{ => Ia32X64}/CpuPageTable.c (100%)
create mode 100644 UefiCpuPkg/CpuDxe/RiscV64/CpuDxe.c
create mode 100644 UefiCpuPkg/CpuTimerDxe/RiscV64/Timer.c
rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/CpuExceptionCommon.c (100%)
rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/DxeException.c (100%)
rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/PeiCpuException.c (100%)
rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/PeiDxeSmmCpuException.c (100%)
rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/SecPeiCpuException.c (100%)
copy UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32X64}/SmmException.c (100%)
rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{SmmException.c => RiscV64/CpuExceptionHandlerLib.c} (67%)
rename UefiCpuPkg/Library/CpuTimerLib/{ => Ia32X64}/BaseCpuTimerLib.c (100%)
rename UefiCpuPkg/Library/CpuTimerLib/{ => Ia32X64}/CpuTimerLib.c (100%)
create mode 100644 UefiCpuPkg/Library/CpuTimerLib/RiscV64/CpuTimerLib.c
create mode 100644 MdePkg/Library/BaseLib/RiscV64/CpuScratch.S
create mode 100644 MdePkg/Library/BaseLib/RiscV64/ReadTimer.S
create mode 100644 OvmfPkg/Platforms/RiscVVirt/RiscVVirt.fdf.inc
create mode 100644 OvmfPkg/Platforms/RiscVVirt/VarStore.fdf.inc
create mode 100644 OvmfPkg/Sec/RiscV64/SecEntry.S
create mode 100644 UefiCpuPkg/CpuTimerDxe/CpuTimer.uni
create mode 100644 UefiCpuPkg/CpuTimerDxe/CpuTimerExtra.uni
create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/RiscV64/SupervisorTrapHandler.S
--
2.38.0
next reply other threads:[~2022-10-14 16:48 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-14 16:48 Sunil V L [this message]
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 01/34] MdePkg/Register: Add register definition header files for RISC-V Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 02/34] MdePkg: Add RISCV_EFI_BOOT_PROTOCOL related definitions Sunil V L
2022-10-15 13:28 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 03/34] MdePkg/BaseLib: RISC-V: Add few more helper functions Sunil V L
2022-10-15 13:30 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 04/34] MdePkg: Add BaseRiscVSbiLib Library for RISC-V Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 05/34] OvmfPkg/PlatformInitLib: Refactor to allow other architectures Sunil V L
2022-10-15 13:39 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 06/34] OvmfPkg/PlatformInitLib: Add support for RISC-V Sunil V L
2022-10-15 13:35 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 07/34] OvmfPkg/ResetSystemLib: Refactor to allow other architectures Sunil V L
2022-10-15 13:37 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 08/34] OvmfPkg/ResetSystemLib: Add support for RISC-V Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 09/34] OvmfPkg/Sec: Refactor to allow other architectures Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 10/34] OvmfPkg/Sec: Add RISC-V support Sunil V L
2022-10-15 15:50 ` [edk2-devel] " Chang, Abner
2022-10-17 4:53 ` Sunil V L
2022-10-17 11:26 ` Chang, Abner
2022-10-17 11:32 ` Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 11/34] OvmfPkg/PlatformPei: Refactor to allow other architectures Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 12/34] OvmfPkg/PlatformPei: Add support for RISC-V Sunil V L
2022-10-15 16:13 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 13/34] UefiCpuPkg/CpuTimerLib: Refactor to allow other architectures Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 14/34] UefiCpuPkg/CpuTimerLib: Add support for RISC-V Sunil V L
2022-10-16 13:56 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 15/34] UefiCpuPkg/CpuExceptionHandlerLib: Refactor to allow other architectures Sunil V L
2022-10-16 14:00 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 16/34] UefiCpuPkg/CpuExceptionHandlerLib: Add support for RISC-V Sunil V L
2022-10-16 14:06 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 17/34] UefiCpuPkg/CpuDxe: Refactor to allow other architectures Sunil V L
2022-10-16 14:41 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 18/34] UefiCpuPkg/CpuDxe: Add support for RISC-V Sunil V L
2022-10-16 14:26 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 19/34] UefiCpuPkg/CpuDxe: Add RISCV_EFI_BOOT_PROTOCOL support Sunil V L
2022-10-16 14:48 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 20/34] UefiCpuPkg: Add CpuTimerDxe module Sunil V L
2022-10-16 14:53 ` [edk2-devel] " Chang, Abner
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 21/34] ArmVirtPkg/PlatformHasAcpiDtDxe: Move to OvmfPkg Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 22/34] ArmVirtPkg: Fix up the location of PlatformHasAcpiDtDxe Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 23/34] ArmVirtPkg/PlatformBootManagerLib: Move to OvmfPkg Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 24/34] ArmVirtPkg: Fix up the paths to PlatformBootManagerLib Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 25/34] ArmPlatformPkg/NorFlashPlatformLib.h:Move to MdePkg Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 26/34] EmbeddedPkg/NvVarStoreFormattedLib: Migrate to MdeModulePkg Sunil V L
2022-10-19 8:54 ` Ard Biesheuvel
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 27/34] ArmVirtPkg: Update the references to NvVarStoreFormattedLib Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 28/34] OvmfPkg: Add NorFlashQemuLib library Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 29/34] OvmfPkg: Add Qemu NOR flash DXE driver Sunil V L
2022-10-19 9:00 ` Ard Biesheuvel
2022-10-19 12:41 ` Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 30/34] OvmfPkg/NorFlashDxe: Avoid switching to array mode during writes Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 31/34] OvmfPkg/NorFlashDxe: Avoid switching between modes in a tight loop Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 32/34] OvmfPkg: RiscVVirt: Add Qemu Virt platform support Sunil V L
2022-10-22 7:16 ` [edk2-devel] " Chang, Abner
2022-10-24 7:47 ` Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 33/34] Maintainers.txt: Add entry for OvmfPkg/RiscVVirt Sunil V L
2022-10-14 16:48 ` [edk2-staging/RiscV64QemuVirt PATCH V4 34/34] UefiCpuPkg/UefiCpuPkg.ci.yaml: Ignore RISC-V file Sunil V L
2022-10-22 7:01 ` [edk2-devel] " Chang, Abner
2022-10-14 16:50 ` [edk2-devel] [edk2-staging/RiscV64QemuVirt PATCH V4 00/34] Add support for RISC-V virt machine Ard Biesheuvel
2022-10-14 17:14 ` Sunil V L
2022-10-15 2:33 ` Chang, Abner
[not found] ` <171E1D672CB73789.10474@groups.io>
2022-10-22 7:21 ` Chang, Abner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-list from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221014164836.1513036-1-sunilvl@ventanamicro.com \
--to=devel@edk2.groups.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox