public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [edk2-staging/RiscV64QemuVirt PATCH V3 00/34] Add support for RISC-V virt machine
@ 2022-10-13  9:57 Sunil V L
  2022-10-13  9:57 ` [edk2-staging/RiscV64QemuVirt PATCH V3 01/34] MdePkg/Register: Add register definition header files for RISC-V Sunil V L
                   ` (33 more replies)
  0 siblings, 34 replies; 48+ messages in thread
From: Sunil V L @ 2022-10-13  9:57 UTC (permalink / raw)
  To: devel
  Cc: Abner Chang, Daniel Schaefer, Michael D Kinney, Liming Gao,
	Zhiguang Liu, Ard Biesheuvel, Jiewen Yao, Jordan Justen,
	Gerd Hoffmann, Rebecca Cran, Peter Grehan, Brijesh Singh,
	Erdem Aktas, James Bottomley, Min Xu, Tom Lendacky, Eric Dong,
	Ray Ni, Rahul Kumar, Leif Lindholm, Sami Mujawar, Andrew Fish,
	Jian J Wang, Anup Patel, Heinrich Schuchardt

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 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

Cc: Abner Chang <abner.chang@amd.com>
Cc: Daniel Schaefer <git@danielschaefer.me>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Rebecca Cran <rebecca@bsdio.com>
Cc: Peter Grehan <grehan@freebsd.org>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Cc: Erdem Aktas <erdemaktas@google.com>
Cc: James Bottomley <jejb@linux.ibm.com>
Cc: Min Xu <min.m.xu@intel.com>
Cc: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Andrew Fish <afish@apple.com>
Cc: Jian J Wang <jian.j.wang@intel.com>
Cc: Anup Patel <apatel@ventanamicro.com>
Cc: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>

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 RISC-V 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                             |  14 +
 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 ++++++++
 .../CloudHvHasAcpiDtDxe.inf                   |   2 +-
 .../KvmtoolPlatformDxe/KvmtoolPlatformDxe.inf |   2 +-
 .../NvVarStoreFormattedLib.inf                |   1 -
 MdePkg/Library/BaseLib/BaseLib.inf            |   2 +
 .../BaseRiscVSbiLib/BaseRiscVSbiLib.inf       |  25 +
 .../NorFlashPlatformLibNull.inf               |  22 +
 OvmfPkg/Drivers/NorFlashDxe/NorFlashDxe.inf   |  67 ++
 .../NorFlashDxe/NorFlashStandaloneMm.inf      |  61 ++
 .../NorFlashQemuLib/NorFlashQemuLib.inf       |  40 +
 .../NorFlashQemuUnifiedLib.inf                |  30 +
 .../PlatformBootManagerLib.inf                |   3 +-
 .../PlatformInitLib/PlatformInitLib.inf       |  31 +-
 .../ResetSystemLib/BaseResetSystemLib.inf     |  12 +-
 .../BaseResetSystemLibBhyve.inf               |   4 +-
 .../BaseResetSystemLibMicrovm.inf             |   2 +-
 .../ResetSystemLib/DxeResetSystemLib.inf      |  15 +-
 .../DxeResetSystemLibMicrovm.inf              |   4 +-
 .../PlatformHasAcpiDtDxe.inf                  |   3 +-
 OvmfPkg/PlatformPei/PlatformPei.inf           |  43 +-
 OvmfPkg/Sec/SecMain.inf                       |  34 +-
 UefiCpuPkg/CpuDxe/CpuDxe.inf                  |  39 +-
 UefiCpuPkg/CpuTimerDxe/CpuTimerDxe.inf        |  51 +
 .../DxeCpuExceptionHandlerLib.inf             |  21 +-
 .../PeiCpuExceptionHandlerLib.inf             |   8 +-
 .../SecPeiCpuExceptionHandlerLib.inf          |  19 +-
 .../SmmCpuExceptionHandlerLib.inf             |   8 +-
 .../Xcode5SecPeiCpuExceptionHandlerLib.inf    |   6 +-
 .../Library/CpuTimerLib/BaseCpuTimerLib.inf   |   9 +-
 .../Include/Guid/NvVarStoreFormatted.h        |   0
 MdePkg/Include/Library/BaseLib.h              |  50 +
 MdePkg/Include/Library/BaseRiscVSbiLib.h      | 127 +++
 .../Include/Library/NorFlashPlatformLib.h     |   0
 MdePkg/Include/Protocol/RiscVBootProtocol.h   |  32 +
 .../Include/Register/RiscV64/RiscVEncoding.h  | 125 +++
 MdePkg/Include/Register/RiscV64/RiscVImpl.h   |  25 +
 OvmfPkg/Drivers/NorFlashDxe/NorFlash.h        | 422 ++++++++
 OvmfPkg/Include/Library/PlatformInitLib.h     |   6 +
 .../PlatformBootManagerLibVirt}/PlatformBm.h  |   0
 OvmfPkg/PlatformPei/{ => Ia32_X64}/Platform.h |   0
 OvmfPkg/PlatformPei/RiscV64/Platform.h        |  97 ++
 OvmfPkg/Sec/{ => Ia32_X64}/AmdSev.h           |   0
 OvmfPkg/Sec/RiscV64/SecMain.h                 |  65 ++
 OvmfPkg/Sec/SecMainCommon.h                   |  73 ++
 UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuDxe.h     |   0
 UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuGdt.h     |   0
 UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuMp.h      |   0
 .../CpuDxe/{ => Ia32_X64}/CpuPageTable.h      |   0
 UefiCpuPkg/CpuDxe/{ => RiscV64}/CpuDxe.h      | 122 +--
 UefiCpuPkg/CpuTimerDxe/RiscV64/Timer.h        | 177 ++++
 .../{ => Ia32_X64}/CpuExceptionCommon.h       |   0
 .../RiscV64/CpuExceptionHandlerLib.h          | 116 +++
 .../NvVarStoreFormattedLib.c                  |   0
 .../Library/BaseRiscVSbiLib/BaseRiscVSbiLib.c | 227 +++++
 .../NorFlashPlatformLibNull.c                 |  26 +
 OvmfPkg/Drivers/NorFlashDxe/NorFlash.c        | 908 ++++++++++++++++++
 .../Drivers/NorFlashDxe/NorFlashBlockIoDxe.c  | 123 +++
 OvmfPkg/Drivers/NorFlashDxe/NorFlashDxe.c     | 509 ++++++++++
 OvmfPkg/Drivers/NorFlashDxe/NorFlashFvb.c     | 777 +++++++++++++++
 .../NorFlashDxe/NorFlashStandaloneMm.c        | 386 ++++++++
 .../Library/NorFlashQemuLib/NorFlashQemuLib.c | 136 +++
 .../NorFlashQemuLib/NorFlashQemuUnifiedLib.c  |  40 +
 .../PlatformBootManagerLibVirt}/PlatformBm.c  |   0
 .../PlatformBootManagerLibVirt}/QemuKernel.c  |   0
 .../PlatformInitLib/{ => Ia32_X64}/Cmos.c     |   0
 .../PlatformInitLib/{ => Ia32_X64}/IntelTdx.c |   0
 .../{ => Ia32_X64}/IntelTdxNull.c             |   0
 .../{ => Ia32_X64}/MemDetect.c                |   0
 .../PlatformInitLib/{ => Ia32_X64}/Platform.c |   0
 .../PlatformInitLib/RiscV64/PlatformPeiLib.c  |  73 ++
 .../{ => Ia32_X64}/BaseResetShutdown.c        |   0
 .../{ => Ia32_X64}/BaseResetShutdownBhyve.c   |   0
 .../{ => Ia32_X64}/DxeResetShutdown.c         |   0
 .../{ => Ia32_X64}/DxeResetSystemLibMicrovm.c |   0
 .../{ => Ia32_X64}/ResetSystemLib.c           |   0
 .../{ => Ia32_X64}/ResetSystemLibMicrovm.c    |   0
 .../ResetSystemLib/RiscV64/DxeResetShutdown.c |  20 +
 .../ResetSystemLib/RiscV64/ResetSystemLib.c   | 128 +++
 .../PlatformHasAcpiDtDxe.c                    |   0
 OvmfPkg/PlatformPei/{ => Ia32_X64}/AmdSev.c   |   0
 .../PlatformPei/{ => Ia32_X64}/ClearCache.c   |   0
 .../{ => Ia32_X64}/FeatureControl.c           |   0
 OvmfPkg/PlatformPei/{ => Ia32_X64}/Fv.c       |   0
 OvmfPkg/PlatformPei/{ => Ia32_X64}/IntelTdx.c |   0
 .../PlatformPei/{ => Ia32_X64}/MemDetect.c    |   0
 .../PlatformPei/{ => Ia32_X64}/MemTypeInfo.c  |   0
 OvmfPkg/PlatformPei/{ => Ia32_X64}/Platform.c |   0
 OvmfPkg/PlatformPei/{ => RiscV64}/Fv.c        |  43 +-
 OvmfPkg/PlatformPei/RiscV64/MemDetect.c       | 212 ++++
 OvmfPkg/PlatformPei/RiscV64/Platform.c        | 372 +++++++
 OvmfPkg/Sec/{ => Ia32_X64}/AmdSev.c           |   0
 OvmfPkg/Sec/{ => Ia32_X64}/SecMain.c          | 227 +----
 OvmfPkg/Sec/RiscV64/SecMain.c                 | 573 +++++++++++
 OvmfPkg/Sec/SecMainCommon.c                   | 238 +++++
 UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuDxe.c     |   0
 UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuGdt.c     |   0
 UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuMp.c      |   0
 .../CpuDxe/{ => Ia32_X64}/CpuPageTable.c      |   0
 UefiCpuPkg/CpuDxe/RiscV64/CpuDxe.c            | 365 +++++++
 UefiCpuPkg/CpuTimerDxe/RiscV64/Timer.c        | 294 ++++++
 .../{ => Ia32_X64}/CpuExceptionCommon.c       |   0
 .../{ => Ia32_X64}/DxeException.c             |   0
 .../{ => Ia32_X64}/PeiCpuException.c          |   0
 .../{ => Ia32_X64}/PeiDxeSmmCpuException.c    |   0
 .../{ => Ia32_X64}/SecPeiCpuException.c       |   0
 .../{ => Ia32_X64}/SmmException.c             |   0
 .../CpuExceptionHandlerLib.c}                 |  83 +-
 .../{ => Ia32_X64}/BaseCpuTimerLib.c          |   0
 .../CpuTimerLib/{ => Ia32_X64}/CpuTimerLib.c  |   0
 .../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    |  24 +
 .../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           |  15 +
 UefiCpuPkg/CpuTimerDxe/CpuTimerExtra.uni      |  13 +
 .../RiscV64/SupervisorTrapHandler.S           | 105 ++
 UefiCpuPkg/UefiCpuPkg.ci.yaml                 |   1 +
 138 files changed, 9073 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/{ => Ia32_X64}/Platform.h (100%)
 create mode 100644 OvmfPkg/PlatformPei/RiscV64/Platform.h
 rename OvmfPkg/Sec/{ => Ia32_X64}/AmdSev.h (100%)
 create mode 100644 OvmfPkg/Sec/RiscV64/SecMain.h
 create mode 100644 OvmfPkg/Sec/SecMainCommon.h
 copy UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuDxe.h (100%)
 rename UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuGdt.h (100%)
 rename UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuMp.h (100%)
 rename UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuPageTable.h (100%)
 rename UefiCpuPkg/CpuDxe/{ => RiscV64}/CpuDxe.h (69%)
 create mode 100644 UefiCpuPkg/CpuTimerDxe/RiscV64/Timer.h
 rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32_X64}/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/{ => Ia32_X64}/Cmos.c (100%)
 rename OvmfPkg/Library/PlatformInitLib/{ => Ia32_X64}/IntelTdx.c (100%)
 rename OvmfPkg/Library/PlatformInitLib/{ => Ia32_X64}/IntelTdxNull.c (100%)
 rename OvmfPkg/Library/PlatformInitLib/{ => Ia32_X64}/MemDetect.c (100%)
 rename OvmfPkg/Library/PlatformInitLib/{ => Ia32_X64}/Platform.c (100%)
 create mode 100644 OvmfPkg/Library/PlatformInitLib/RiscV64/PlatformPeiLib.c
 rename OvmfPkg/Library/ResetSystemLib/{ => Ia32_X64}/BaseResetShutdown.c (100%)
 rename OvmfPkg/Library/ResetSystemLib/{ => Ia32_X64}/BaseResetShutdownBhyve.c (100%)
 rename OvmfPkg/Library/ResetSystemLib/{ => Ia32_X64}/DxeResetShutdown.c (100%)
 rename OvmfPkg/Library/ResetSystemLib/{ => Ia32_X64}/DxeResetSystemLibMicrovm.c (100%)
 rename OvmfPkg/Library/ResetSystemLib/{ => Ia32_X64}/ResetSystemLib.c (100%)
 rename OvmfPkg/Library/ResetSystemLib/{ => Ia32_X64}/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/{ => Ia32_X64}/AmdSev.c (100%)
 rename OvmfPkg/PlatformPei/{ => Ia32_X64}/ClearCache.c (100%)
 rename OvmfPkg/PlatformPei/{ => Ia32_X64}/FeatureControl.c (100%)
 copy OvmfPkg/PlatformPei/{ => Ia32_X64}/Fv.c (100%)
 rename OvmfPkg/PlatformPei/{ => Ia32_X64}/IntelTdx.c (100%)
 rename OvmfPkg/PlatformPei/{ => Ia32_X64}/MemDetect.c (100%)
 rename OvmfPkg/PlatformPei/{ => Ia32_X64}/MemTypeInfo.c (100%)
 rename OvmfPkg/PlatformPei/{ => Ia32_X64}/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/{ => Ia32_X64}/AmdSev.c (100%)
 rename OvmfPkg/Sec/{ => Ia32_X64}/SecMain.c (75%)
 create mode 100644 OvmfPkg/Sec/RiscV64/SecMain.c
 create mode 100644 OvmfPkg/Sec/SecMainCommon.c
 rename UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuDxe.c (100%)
 rename UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuGdt.c (100%)
 rename UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuMp.c (100%)
 rename UefiCpuPkg/CpuDxe/{ => Ia32_X64}/CpuPageTable.c (100%)
 create mode 100644 UefiCpuPkg/CpuDxe/RiscV64/CpuDxe.c
 create mode 100644 UefiCpuPkg/CpuTimerDxe/RiscV64/Timer.c
 rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32_X64}/CpuExceptionCommon.c (100%)
 rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32_X64}/DxeException.c (100%)
 rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32_X64}/PeiCpuException.c (100%)
 rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32_X64}/PeiDxeSmmCpuException.c (100%)
 rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32_X64}/SecPeiCpuException.c (100%)
 copy UefiCpuPkg/Library/CpuExceptionHandlerLib/{ => Ia32_X64}/SmmException.c (100%)
 rename UefiCpuPkg/Library/CpuExceptionHandlerLib/{SmmException.c => RiscV64/CpuExceptionHandlerLib.c} (67%)
 rename UefiCpuPkg/Library/CpuTimerLib/{ => Ia32_X64}/BaseCpuTimerLib.c (100%)
 rename UefiCpuPkg/Library/CpuTimerLib/{ => Ia32_X64}/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.25.1


^ permalink raw reply	[flat|nested] 48+ messages in thread

end of thread, other threads:[~2022-10-14 16:16 UTC | newest]

Thread overview: 48+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-13  9:57 [edk2-staging/RiscV64QemuVirt PATCH V3 00/34] Add support for RISC-V virt machine Sunil V L
2022-10-13  9:57 ` [edk2-staging/RiscV64QemuVirt PATCH V3 01/34] MdePkg/Register: Add register definition header files for RISC-V Sunil V L
2022-10-13 12:59   ` [edk2-devel] " Chang, Abner
2022-10-13 16:30     ` Sunil V L
2022-10-13  9:57 ` [edk2-staging/RiscV64QemuVirt PATCH V3 02/34] MdePkg: Add RISCV_EFI_BOOT_PROTOCOL related definitions Sunil V L
2022-10-13 12:40   ` [edk2-devel] " Chang, Abner
2022-10-13 16:29     ` Sunil V L
2022-10-14  1:02       ` Chang, Abner
2022-10-14  1:02   ` Chang, Abner
2022-10-13  9:57 ` [edk2-staging/RiscV64QemuVirt PATCH V3 03/34] MdePkg/BaseLib: RISC-V: Add few more helper functions Sunil V L
2022-10-13 14:10   ` [edk2-devel] " Chang, Abner
2022-10-13 16:32     ` Sunil V L
2022-10-13  9:57 ` [edk2-staging/RiscV64QemuVirt PATCH V3 04/34] MdePkg: Add BaseRiscVSbiLib Library for RISC-V Sunil V L
2022-10-13 14:24   ` [edk2-devel] " Chang, Abner
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 05/34] OvmfPkg/PlatformInitLib: Refactor to allow other architectures Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 06/34] OvmfPkg/PlatformInitLib: Add support for RISC-V Sunil V L
2022-10-13 14:58   ` [edk2-devel] " Chang, Abner
2022-10-13 16:34     ` Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 07/34] OvmfPkg/ResetSystemLib: Refactor to allow other architectures Sunil V L
2022-10-14 13:59   ` [edk2-devel] " Chang, Abner
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 08/34] OvmfPkg/ResetSystemLib: Add support for RISC-V Sunil V L
2022-10-14 16:16   ` [edk2-devel] " Chang, Abner
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 09/34] OvmfPkg/Sec: Refactor to allow other architectures Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 10/34] OvmfPkg/Sec: Add RISC-V support Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 11/34] OvmfPkg/PlatformPei: Refactor to allow other architectures Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 12/34] OvmfPkg/PlatformPei: Add support for RISC-V Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 13/34] UefiCpuPkg/CpuTimerLib: Refactor to allow other architectures Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 14/34] UefiCpuPkg/CpuTimerLib: Add support for RISC-V Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 15/34] UefiCpuPkg/CpuExceptionHandlerLib: Refactor to allow other architectures Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 16/34] UefiCpuPkg/CpuExceptionHandlerLib: Add support for RISC-V Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 17/34] UefiCpuPkg/CpuDxe: Refactor to allow other architectures Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 18/34] UefiCpuPkg/CpuDxe: Add support for RISC-V Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 19/34] UefiCpuPkg/CpuDxe: Add RISC-V Boot protocol support Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 20/34] UefiCpuPkg: Add CpuTimerDxe module Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 21/34] ArmVirtPkg/PlatformHasAcpiDtDxe: Move to OvmfPkg Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 22/34] ArmVirtPkg: Fix up the location of PlatformHasAcpiDtDxe Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 23/34] ArmVirtPkg/PlatformBootManagerLib: Move to OvmfPkg Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 24/34] ArmVirtPkg: Fix up the paths to PlatformBootManagerLib Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 25/34] ArmPlatformPkg/NorFlashPlatformLib.h:Move to MdePkg Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 26/34] EmbeddedPkg/NvVarStoreFormattedLib: Migrate to MdeModulePkg Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 27/34] ArmVirtPkg: Update the references to NvVarStoreFormattedLib Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 28/34] OvmfPkg: Add NorFlashQemuLib library Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 29/34] OvmfPkg: Add Qemu NOR flash DXE driver Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 30/34] OvmfPkg/NorFlashDxe: Avoid switching to array mode during writes Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 31/34] OvmfPkg/NorFlashDxe: Avoid switching between modes in a tight loop Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 32/34] OvmfPkg: RiscVVirt: Add Qemu Virt platform support Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 33/34] Maintainers.txt: Add entry for OvmfPkg/RiscVVirt Sunil V L
2022-10-13  9:58 ` [edk2-staging/RiscV64QemuVirt PATCH V3 34/34] UefiCpuPkg/UefiCpuPkg.ci.yaml: Ignore RISC-V file Sunil V L

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox