Acked-by: Ard Biesheuvel <a...@kernel.org> I can go and merge this if desired: what is the situation wrt the stable tag?
On Fri, 10 Feb 2023 at 14:21, Yao, Jiewen <jiewen....@intel.com> wrote: > > OvmfPkg: Acked-by: Jiewen Yao <jiewen....@intel.com> > > > -----Original Message----- > > From: Sunil V L <suni...@ventanamicro.com> > > Sent: Friday, February 10, 2023 8:30 PM > > To: devel@edk2.groups.io > > Cc: Abner Chang <abner.ch...@amd.com>; Daniel Schaefer > > <g...@danielschaefer.me>; Kinney, Michael D <michael.d.kin...@intel.com>; > > Gao, Liming <gaolim...@byosoft.com.cn>; Ard Biesheuvel > > <ardb+tianoc...@kernel.org>; Yao, Jiewen <jiewen....@intel.com>; Justen, > > Jordan L <jordan.l.jus...@intel.com>; Gerd Hoffmann <kra...@redhat.com>; > > Sami Mujawar <sami.muja...@arm.com>; Leif Lindholm > > <quic_llind...@quicinc.com>; Dong, Eric <eric.d...@intel.com>; Ni, Ray > > <ray...@intel.com>; Kumar, Rahul R <rahul.r.ku...@intel.com>; Liu, Zhiguang > > <zhiguang....@intel.com>; Anup Patel <apa...@ventanamicro.com>; Heinrich > > Schuchardt <heinrich.schucha...@canonical.com>; Warkentin, Andrei > > <andrei.warken...@intel.com> > > Subject: [edk2-staging/RiscV64QemuVirt PATCH V8 00/19] Add support for RISC- > > V virt machine > > > > 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 added qemu specific libraries under OvmfPkg. > > > > The series has passed CI tests (https://github.com/tianocore/edk2/pull/4023) > > > > These changes are available at: > > https://github.com/vlsunil/edk2/tree/RiscV64QemuVirt_V8 > > > > The series can be tested as per instructions @ > > https://github.com/vlsunil/riscv-uefi-edk2-docs/wiki/RISC-V-Qemu-Virt-support > > > > Changes since V7: > > 1) Addressed feedbacks from Mike and Ray. > > 2) Added Anrdrei as another reviewer for RiscVVirt > > 3) Rebased > > 4) Added RB and ACK tags > > > > Changes since V6: > > 1) Took inspiration from IntelTdx and added all RISC-V qemu related > > libraries and > > modules in OvmfPkg/RiscVVirt instead of directly under > > OvmfPkg/Library. Hoping for > > quicker review since now it shouldn't affect the existing OvmfPkg > > libraries/modules. > > 2) Dropped migration of NvVarStoreFormattedLib for now to avoid > > MdeModulePkg changes. > > Currently RISC-V Qemu doesn't support separate variable flash. So, > > it > > can be taken > > as a separate activity in future when required. > > 3) Rebased and new CI test request passed > > > > Changes since V5: > > 1) Avoided editing the existing INF files (as per feedback from Ray > > Ni). > > This reduced > > several refactor patches. > > 2) Moved to PEI less design (as per suggestion from Andrei Warkentin) > > 3) Added PciCpuIO2Dxe driver in OvmfPkg. > > 4) Removed APRIORI requirement in DSC/FDF infrastructure files. Now > > they > > are very similar to ArmVirtQemu. > > 5) Addressed Heinrich's feedback. > > 6) Rebased and added ack tags > > > > Changes since V4: > > 1) Rebased and added ACKs > > 2) Dropped few patches related to VirtNorFlashDxe since they are > > already taken care by Ard. > > > > 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 > > 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 > > > > > > Cc: Abner Chang <abner.ch...@amd.com> > > Cc: Daniel Schaefer <g...@danielschaefer.me> > > Cc: Michael D Kinney <michael.d.kin...@intel.com> > > Cc: Liming Gao <gaolim...@byosoft.com.cn> > > Cc: Ard Biesheuvel <ardb+tianoc...@kernel.org> > > Cc: Jiewen Yao <jiewen....@intel.com> > > Cc: Jordan Justen <jordan.l.jus...@intel.com> > > Cc: Gerd Hoffmann <kra...@redhat.com> > > Cc: Sami Mujawar <sami.muja...@arm.com> > > Cc: Leif Lindholm <quic_llind...@quicinc.com> > > Cc: Eric Dong <eric.d...@intel.com> > > Cc: Ray Ni <ray...@intel.com> > > Cc: Rahul Kumar <rahul1.ku...@intel.com> > > Cc: Zhiguang Liu <zhiguang....@intel.com> > > Cc: Anup Patel <apa...@ventanamicro.com> > > Cc: Heinrich Schuchardt <heinrich.schucha...@canonical.com> > > Cc: Andrei Warkentin <andrei.warken...@intel.com> > > > > Sunil V L (19): > > MdePkg/Register: Add register definition header files for RISC-V > > MdePkg/BaseLib: RISC-V: Add few more helper functions > > MdePkg: Add BaseRiscVSbiLib Library for RISC-V > > UefiCpuPkg: Add RISCV_EFI_BOOT_PROTOCOL related definitions > > UefiCpuPkg: Add BaseRiscV64CpuExceptionHandlerLib > > UefiCpuPkg: Add BaseRiscV64CpuTimerLib library > > UefiCpuPkg: Add CpuTimerDxeRiscV64 module > > UefiCpuPkg: Add CpuDxeRiscV64 module > > UefiCpuPkg/UefiCpuPkg.ci.yaml: Ignore RISC-V file > > ArmVirtPkg/PlatformHasAcpiDtDxe: Move to OvmfPkg > > ArmVirtPkg: Fix up the location of PlatformHasAcpiDtDxe > > OvmfPkg/RiscVVirt: Add PlatformBootManagerLib library > > OvmfPkg/RiscVVirt: Add PrePiHobListPointerLib library > > OvmfPkg/RiscVVirt: Add ResetSystemLib library > > OvmfPkg/RiscVVirt: Add VirtNorFlashPlatformLib library > > OvmfPkg/RiscVVirt: Add PciCpuIo2Dxe module > > OvmfPkg/RiscVVirt: Add SEC module > > OvmfPkg/RiscVVirt: Add build files for Qemu Virt platform > > Maintainers.txt: Add entry for OvmfPkg/RiscVVirt > > > > 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/BaseRiscV64CpuExce > > ptionHandlerLib.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/CpuExceptionHandler > > Lib.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/CpuExceptionHandler > > Lib.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/BaseRiscV64CpuExce > > ptionHandlerLib.uni | 13 + > > > > UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/SupervisorTrapHandle > > r.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/BaseRiscV64CpuExce > > ptionHandlerLib.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/CpuExceptionHandler > > Lib.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/CpuExceptionHandler > > Lib.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/BaseRiscV64CpuExce > > ptionHandlerLib.uni > > create mode 100644 > > UefiCpuPkg/Library/BaseRiscV64CpuExceptionHandlerLib/SupervisorTrapHandle > > r.S > > create mode 100644 > > UefiCpuPkg/Library/BaseRiscV64CpuTimerLib/BaseRiscV64CpuTimerLib.uni > > > > -- > > 2.34.1 > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#100018): https://edk2.groups.io/g/devel/message/100018 Mute This Topic: https://groups.io/mt/96874977/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-