Hi Ray and Laszlo, Sorry, I was busy the past few days, so V8 was late. Ray, I *removed* your review message in patches 11, 12, 24, 15 and 16, because our adjusted the folders layout, so please review again, thanks. Laszlo, I did what you pointed out, please refer the cover letter, please review, thanks. Thanks, Chao On 2024/1/26 14:27, Chao Li wrote: > This patch set will enable LoongArch virtual machine in edk2, the new > LoongArch virtual machine is located in OvmfPkg/LoongArchVirt/, it is a > generic platform that dose not require any actual hardware. > > Patch1-Patch14: Submit the common library and driver for LoongArch > virtual machine and real hardware. Such as base help functions, > exception handel, MMU library, multiprocessor library etc. > > Patch15-Patch16: Add PrePiCpuIoSize for LoongArch64. and move ArmVirtPkg > two PCDs into OvmfPkg for easier use by other architectures. > > Patch17-Patch29: LoongArch virtual machine private code, include SEC and > PEI phase code, some library and drivers. > > Patch30: Add LoongArchVirt's self introduction-file. > > Modfied modues: MdePkg, UefiCpuPkg, EmbeddedPkg, ArmVirtPkg, OvmfPkg. > > BZ:https://bugzilla.tianocore.org/show_bug.cgi?id=4584 > > PR:https://github.com/tianocore/edk2/pull/5208 > > **Changes from V1 to V2:** > 1. Add Ray's Ack signature to patch 13. > 2. Add LoongArchVirt's self introduction-file. And made a standalone > patch for this change. > > **Changes from V2 to V3:** > Compared with V2, there are 9 more patches, removed 2 libraries and 1 > driver from OvmfPkg/LoongArchVrt. > > New patches: > MdePkg: Add a new library named PeiServicesTablePointerLibReg > MdePkg: Add method of LoongArch64 to PeiServicesTablePointerLibReg > MdePkg: Add a PCD feature flag named PcdPciIoTranslationIsEnabled > UefiCpuPkg: Add MMIO method in CpuIo2Dxe > ArmVirtPkg: Enable UefiCpuPkg version CpuIo2Dxe > ArmPkg: Remove ArmPciCpuIo2Dxe from ArmPkg > OvmfPkg/RiscVVirt: Enable UefiCpuPkg version CpuIo2Dxe > OvmfPkg/RiscVVirt: Remove PciCpuIo2Dxe from RiscVVirt > ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg > ArmVirtPkg: Move the PcdTerminalTypeGuidBuffer into OvmfPkg > ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg > > For the review opinions: > 1. Add MMIO method to CpuIo2Dxe driver to accommodate more ARCH that > require MMIO method, enable it on ARM, RISCV64 and LOONGARCH64. > Questioner: Gerd, Sunil. > > 2. Move the FdtSerialProtAddressLib to OvmfPkg and enabled it on ARM and > LOONGARCH64. Questioner: Gerd, Laszlo. > > 3. Add a new library in MdePkg named PeiServiceTablePointerLibReg for > the Register Mechanism and enabled it on LOONGARCH64. Questioner: Laszlo. > > 4. Moved the ARM version of PlatformBootManagerLib to OvmfPkg/Library, and > enabled it on ARM and LOONGARCH64. Questioner: Laszlo, Gerd. > > 5. Adjust the order of some inf file in ArmVirtPkg. Questioner: Sami. > > 6. Move the CpuMmuLib.h some architecture-specific PTE #defines into > Csr.h. Questioner: Andrei. > > **Changes from V3 to V4:** > Compared with V3, 1 patch moving ArmPciCpuIo2Dxe has been removed. > Adjusted the code of the LoongArch64 CPU timer library. Rename > PeiServiceTablePointerLibReg to PeiServiceTablePointerLibKs0. Fixed some > typos. Remove some APIs of CpuMmuLib. > > For the review opinions: > 1. Removed the patch that removed ArmPciCpuIo2Dxe, there are 15 platforms > in edk2-platforms were affected, so wait for this patch series to be > merged, then submit a patch to remove it. Questioner: Leif. > > 2. Renamed the PeiServiceTablePointLibReg to PeiServiceTablePointLibKs0. > Currently, this library is specific to LoongArch architecture. > Questioner: Laszlo, Liming. > > 3. Adjust some logic of LoongArch64 CPU timer library. Using the safe > INT library and adjust the bit width of stable counter. Questioner: Laszlo. > > 4. Removed some APIs from CpuMmuLib. Change some APIs to private. > Questioner: Ray. > > **Changes from V4 to V5:** > Compared with V4, 1 patch adding PcdPciIoTranslationIsEnabled in MdePkg > has been removed. > Copy ArmPciCpuIo2Dxe to UefiCpuPkg and renamed it to CpuMmio2Dxe. > Restore the definitions in MdePkg/Include/Protocol/DebugSupport.h, and > just add some comments. > > For the review opinions: > 1. Copy ArmPciCpuIo2Dxe to UefiCpuPkg so that more other ARCHs can use > it easily. Questioner: Ray, Ard. > > 2. Restore the changes of MdePkg/Include/Protocol/DebugSupport.h. > Questioner: Liming. > > 3. Ia32 X64 and LoongArch64 use a same API definition, > InitializeFloatingPointUnits in CpuLib.h. Questioner: Liming. > > 4. Adjust API definition in CpuMmuLib.h. Questioner: Ray. > > **Changes from V5 to V6:** > 1. Added Sunil "Reviewed-by" message to patches 20 and 21. > 2. Added Bibo "Reviced-by" message to patches 27, 29, 32 and 34. > 3. Added the IPI handler in SEC and PEI stage. Modified patches 11 and > 15. > 4. Adjust some code styles to suit CI ECC. > 5. Adjust the way of AP wakeup from IPI. > 6. Adjust the order between setting exceptions and copying exception > handlers. > > **Changes from V6 to V7:** > Compared with V6, 1 patch has been added. > > Added Bibo "Reviewed-by" message to new patches 26, 27, 29, 31, 32, 36, > 37. > > Added Liming "Reviewed-by" message to all MdePkg changes. > > For the review opinions: > 1. Moved the changes to OvmfPkg.dec from old patch 24 to new patch 23. > Questioner: Laszlo. > > 2. Separate the changes to DebugSupport.h from old patch 11 and > create a new patch 10. Questioner: Liming. > > **Changes from V7 to V8:** > Adjusted the folders layout in UefiCpuPkg, most LoongArch64 libraries and > drivers have been placed in current matching folders. > > Removed Ray "Reviewed-by" message to patches 11, 12, 14, 15, 16. Because > them are moved to other current matching folders in UefiCpuPkg, they > need to be reviewed again. > > For the review opinions: > 1. Moved remove FdtSerialPortAddressLib action in ArmVirtPkg.dec from > patch 25 to 23. Questioner: Laszlo. > > 2. Moved removal of ArmVirtPkg.dec dependency in > PlatformBootManagerLib.inf from patch 25 to 24. Questioner: Laszlo. > > Cc: Michael D Kinney > Cc: Liming Gao > Cc: Zhiguang Liu > Cc: Eric Dong > Cc: Ray Ni > Cc: Rahul Kumar > Cc: Gerd Hoffmann > Cc: Leif Lindholm > Cc: Ard Biesheuvel > Cc: Abner Chang > Cc: Daniel Schaefer > Cc: Sami Mujawar > Cc: Jiewen Yao > Cc: Jordan Justen > Cc: Andrei Warkentin > Cc: Laszlo Ersek > Cc: Sunil V L > Cc: Bibo Mao > > Chao Li (37): > MdePkg: Add the header file named Csr.h for LoongArch64 > MdePkg: Add LoongArch64 FPU function set into BaseCpuLib > MdePkg: Add LoongArch64 exception function set into BaseLib > MdePkg: Add LoongArch64 local interrupt function set into BaseLib > MdePkg: Add LoongArch Cpucfg function > MdePkg: Add read stable counter operation for LoongArch > MdePkg: Add CSR operation for LoongArch > MdePkg: Add IOCSR operation for LoongArch > MdePkg: Add a new library named PeiServicesTablePointerLibKs0 > MdePkg: Add some comments for LoongArch exceptions > UefiCpuPkg: Add LoongArch64 CPU Timer instance > UefiCpuPkg: Add CPU exception library for LoongArch > UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg > UefiCpuPkg: Add CpuMmuLib to UefiCpuPkg > UefiCpuPkg: Add multiprocessor library for LoongArch64 > UefiCpuPkg: Add CpuDxe driver for LoongArch64 > EmbeddedPkg: Add PcdPrePiCpuIoSize width for LOONGARCH64 > ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg > UefiCpuPkg: Add a new CPU IO 2 driver named CpuMmio2Dxe > ArmVirtPkg: Enable CpuMmio2Dxe > OvmfPkg/RiscVVirt: Enable CpuMmio2Dxe > OvmfPkg/RiscVVirt: Remove PciCpuIo2Dxe from RiscVVirt > ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg > ArmVirtPkg: Move two PCD variables into OvmfPkg > ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg > OvmfPkg/LoongArchVirt: Add stable timer driver > OvmfPkg/LoongArchVirt: Add a NULL library named > CollectApResouceLibNull > OvmfPkg/LoongArchVirt: Add serial port hook library > OvmfPkg/LoongArchVirt: Add the early serial port output library > OvmfPkg/LoongArchVirt: Add real time clock library > OvmfPkg/LoongArchVirt: Add NorFlashQemuLib > OvmfPkg/LoongArchVirt: Add FdtQemuFwCfgLib > OvmfPkg/LoongArchVirt: Add reset system library > OvmfPkg/LoongArchVirt: Support SEC phase > OvmfPkg/LoongArchVirt: Support PEI phase > OvmfPkg/LoongArchVirt: Add build file > OvmfPkg/LoongArchVirt: Add self introduction file > > ArmVirtPkg/ArmVirt.dsc.inc | 2 +- > ArmVirtPkg/ArmVirtCloudHv.dsc | 4 +- > ArmVirtPkg/ArmVirtCloudHv.fdf | 2 +- > ArmVirtPkg/ArmVirtKvmTool.dsc | 4 +- > ArmVirtPkg/ArmVirtKvmTool.fdf | 2 +- > ArmVirtPkg/ArmVirtPkg.ci.yaml | 1 - > ArmVirtPkg/ArmVirtPkg.dec | 28 - > ArmVirtPkg/ArmVirtQemu.dsc | 8 +- > ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 2 +- > ArmVirtPkg/ArmVirtQemuKernel.dsc | 8 +- > ArmVirtPkg/ArmVirtXen.dsc | 2 +- > .../ArmVirtPsciResetSystemPeiLib.inf | 3 +- > .../CloudHvVirtMemInfoPeiLib.inf | 3 +- > .../DebugLibFdtPL011UartFlash.inf | 3 +- > .../EarlyFdt16550SerialPortHookLib.inf | 3 +- > .../EarlyFdtPL011SerialPortLib.inf | 3 +- > .../KvmtoolPlatformPeiLib.inf | 5 +- > .../Library/PlatformPeiLib/PlatformPeiLib.inf | 10 +- > .../QemuVirtMemInfoPeiLib.inf | 3 +- > .../PrePi/ArmVirtPrePiUniCoreRelocatable.inf | 3 +- > EmbeddedPkg/EmbeddedPkg.dec | 3 + > MdePkg/Include/Library/BaseLib.h | 221 +++ > MdePkg/Include/Library/CpuLib.h | 43 +- > .../Library/PeiServicesTablePointerLib.h | 9 +- > MdePkg/Include/Protocol/DebugSupport.h | 14 + > MdePkg/Include/Register/LoongArch64/Cpucfg.h | 565 ++++++ > MdePkg/Include/Register/LoongArch64/Csr.h | 263 +++ > MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 7 +- > .../Library/BaseCpuLib/LoongArch/DisableFpu.S | 17 + > .../Library/BaseCpuLib/LoongArch/EnableFpu.S | 17 + > .../BaseCpuLib/LoongArch/InitializeFpu.S | 51 + > MdePkg/Library/BaseLib/BaseLib.inf | 6 + > MdePkg/Library/BaseLib/LoongArch64/AsmCsr.S | 422 +++++ > MdePkg/Library/BaseLib/LoongArch64/Cpucfg.S | 26 + > MdePkg/Library/BaseLib/LoongArch64/Csr.c | 81 + > .../BaseLib/LoongArch64/DisableInterrupts.S | 22 +- > .../BaseLib/LoongArch64/EnableInterrupts.S | 22 +- > .../BaseLib/LoongArch64/ExceptionBase.S | 41 + > MdePkg/Library/BaseLib/LoongArch64/IoCsr.S | 120 ++ > .../BaseLib/LoongArch64/ReadStableCounter.S | 24 + > .../PeiServicesTablePointer.c | 87 + > .../PeiServicesTablePointerLibKs0.inf | 37 + > .../PeiServicesTablePointerLibKs0.uni | 20 + > MdePkg/MdePkg.ci.yaml | 3 +- > MdePkg/MdePkg.dsc | 3 + > .../Include/Library/FdtSerialPortAddressLib.h | 0 > .../FdtSerialPortAddressLib.c | 0 > .../FdtSerialPortAddressLib.inf | 2 +- > .../PlatformBootManagerLibLight}/PlatformBm.c | 0 > .../PlatformBootManagerLibLight}/PlatformBm.h | 0 > .../PlatformBootManagerLib.inf | 7 +- > .../PlatformBootManagerLibLight}/QemuKernel.c | 0 > .../Drivers/StableTimerDxe/Timer.c | 381 ++++ > .../Drivers/StableTimerDxe/Timer.h | 127 ++ > .../Drivers/StableTimerDxe/TimerDxe.inf | 41 + > .../CollectApResourceLibNull.c | 38 + > .../CollectApResourceLibNull.inf | 31 + > .../CollectApResourceLibNull.uni | 9 + > .../EarlyFdtSerialPortLib16550.c | 815 +++++++++ > .../EarlyFdtSerialPortLib16550.inf | 46 + > .../EarlyFdt16550SerialPortHookLib.c | 52 + > .../EarlyFdt16550SerialPortHookLib.inf | 37 + > .../Fdt16550SerialPortHookLib.c | 39 + > .../Fdt16550SerialPortHookLib.inf | 33 + > .../Fdt16550SerialPortHookLib.uni | 14 + > .../FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.c | 504 +++++ > .../FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.inf | 42 + > .../FdtQemuFwCfgLib/QemuFwCfgLibInternal.h | 73 + > .../Library/FdtQemuFwCfgLib/QemuFwCfgPei.c | 117 ++ > .../DxeLsRealTimeClockLib.c | 327 ++++ > .../DxeLsRealTimeClockLib.inf | 41 + > .../LsRealTimeClockLib/LsRealTimeClock.h | 47 + > .../PeiLsRealTimeClockLib.c | 31 + > .../PeiLsRealTimeClockLib.inf | 29 + > .../Library/NorFlashQemuLib/NorFlashQemuLib.c | 140 ++ > .../NorFlashQemuLib/NorFlashQemuLib.inf | 43 + > .../BaseResetSystemAcpiGed.c | 148 ++ > .../BaseResetSystemAcpiGedLib.inf | 36 + > .../DxeResetSystemAcpiGed.c | 259 +++ > .../DxeResetSystemAcpiGedLib.inf | 41 + > .../ResetSystemAcpiLib/ResetSystemAcpiGed.c | 125 ++ > .../ResetSystemAcpiLib/ResetSystemAcpiGed.h | 23 + > OvmfPkg/LoongArchVirt/LoongArchVirt.fdf.inc | 34 + > OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc | 679 +++++++ > OvmfPkg/LoongArchVirt/LoongArchVirtQemu.fdf | 313 ++++ > OvmfPkg/LoongArchVirt/PlatformPei/Fv.c | 39 + > OvmfPkg/LoongArchVirt/PlatformPei/MemDetect.c | 201 ++ > OvmfPkg/LoongArchVirt/PlatformPei/Platform.c | 393 ++++ > OvmfPkg/LoongArchVirt/PlatformPei/Platform.h | 146 ++ > .../LoongArchVirt/PlatformPei/PlatformPei.inf | 72 + > OvmfPkg/LoongArchVirt/Readme.md | 67 + > OvmfPkg/LoongArchVirt/Sec/LoongArch64/Start.S | 184 ++ > OvmfPkg/LoongArchVirt/Sec/SecMain.c | 507 ++++++ > OvmfPkg/LoongArchVirt/Sec/SecMain.inf | 53 + > OvmfPkg/LoongArchVirt/VarStore.fdf.inc | 67 + > OvmfPkg/OvmfPkg.dec | 32 + > OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc | 2 +- > OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf | 2 +- > UefiCpuPkg/CpuDxe/CpuDxe.inf | 23 +- > UefiCpuPkg/CpuDxe/LoongArch64/CpuDxe.c | 454 +++++ > UefiCpuPkg/CpuDxe/LoongArch64/CpuDxe.h | 288 +++ > UefiCpuPkg/CpuDxe/LoongArch64/CpuMp.c | 544 ++++++ > UefiCpuPkg/CpuDxe/LoongArch64/Exception.c | 159 ++ > .../CpuMmio2Dxe/CpuMmio2Dxe.c | 8 +- > .../CpuMmio2Dxe/CpuMmio2Dxe.inf | 16 +- > UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.uni | 18 + > UefiCpuPkg/Include/Library/CpuMmuLib.h | 62 + > .../DxeCpuExceptionHandlerLib.inf | 34 +- > .../LoongArch/DxeExceptionLib.c | 198 ++ > .../LoongArch/ExceptionCommon.c | 171 ++ > .../LoongArch/ExceptionCommon.h | 131 ++ > .../LoongArch64/ArchExceptionHandler.c | 268 +++ > .../LoongArch64/ExceptionHandlerAsm.S | 366 ++++ > .../LoongArch/SecPeiExceptionLib.c | 102 ++ > .../SecPeiCpuExceptionHandlerLib.inf | 29 +- > UefiCpuPkg/Library/CpuMmuLib/DxeCpuMmuLib.inf | 36 + > UefiCpuPkg/Library/CpuMmuLib/DxeCpuMmuLib.uni | 14 + > .../CpuMmuLib/LoongArch64/CommonMmuLib.c | 988 ++++++++++ > .../CpuMmuLib/LoongArch64/CommonMmuLib.h | 43 + > .../Library/CpuMmuLib/LoongArch64/Page.h | 279 +++ > .../CpuMmuLib/LoongArch64/PeiCpuMmuLib.c | 178 ++ > .../Library/CpuMmuLib/LoongArch64/Tlb.h | 48 + > .../CpuMmuLib/LoongArch64/TlbOperation.S | 44 + > UefiCpuPkg/Library/CpuMmuLib/PeiCpuMmuLib.inf | 44 + > UefiCpuPkg/Library/CpuMmuLib/PeiCpuMmuLib.uni | 14 + > .../Library/CpuTimerLib/BaseCpuTimerLib.inf | 9 +- > .../CpuTimerLib/LoongArch64/CpuTimerLib.c | 251 +++ > UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf | 27 +- > .../Library/MpInitLib/LoongArch64/DxeMpLib.c | 480 +++++ > .../Library/MpInitLib/LoongArch64/MpLib.c | 1621 +++++++++++++++++ > .../Library/MpInitLib/LoongArch64/MpLib.h | 361 ++++ > .../Library/MpInitLib/LoongArch64/PeiMpLib.c | 404 ++++ > UefiCpuPkg/Library/MpInitLib/PeiMpInitLib.inf | 27 +- > UefiCpuPkg/UefiCpuPkg.dec | 9 + > UefiCpuPkg/UefiCpuPkg.dsc | 6 + > 135 files changed, 16320 insertions(+), 146 deletions(-) > create mode 100644 MdePkg/Include/Register/LoongArch64/Cpucfg.h > create mode 100644 MdePkg/Include/Register/LoongArch64/Csr.h > create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/DisableFpu.S > create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/EnableFpu.S > create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/InitializeFpu.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/AsmCsr.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Cpucfg.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Csr.c > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/ExceptionBase.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/IoCsr.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/ReadStableCounter.S > create mode 100644 MdePkg/Library/PeiServicesTablePointerLibKs0/PeiServicesTablePointer.c > create mode 100644 MdePkg/Library/PeiServicesTablePointerLibKs0/PeiServicesTablePointerLibKs0.inf > create mode 100644 MdePkg/Library/PeiServicesTablePointerLibKs0/PeiServicesTablePointerLibKs0.uni > rename {ArmVirtPkg => OvmfPkg}/Include/Library/FdtSerialPortAddressLib.h (100%) > rename {ArmVirtPkg => OvmfPkg}/Library/FdtSerialPortAddressLib/FdtSerialPortAddressLib.c (100%) > rename {ArmVirtPkg => OvmfPkg}/Library/FdtSerialPortAddressLib/FdtSerialPortAddressLib.inf (90%) > rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBm.c (100%) > rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBm.h (100%) > rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBootManagerLib.inf (87%) > rename {ArmVirtPkg/Library/PlatformBootManagerLib => OvmfPkg/Library/PlatformBootManagerLibLight}/QemuKernel.c (100%) > create mode 100644 OvmfPkg/LoongArchVirt/Drivers/StableTimerDxe/Timer.c > create mode 100644 OvmfPkg/LoongArchVirt/Drivers/StableTimerDxe/Timer.h > create mode 100644 OvmfPkg/LoongArchVirt/Drivers/StableTimerDxe/TimerDxe.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResourceLibNull.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResourceLibNull.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResourceLibNull.uni > create mode 100644 OvmfPkg/LoongArchVirt/Library/EarlyFdtSerialPortLib16550/EarlyFdtSerialPortLib16550.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/EarlyFdtSerialPortLib16550/EarlyFdtSerialPortLib16550.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/EarlyFdt16550SerialPortHookLib.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialPortHookLib.uni > create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/QemuFwCfgLibInternal.h > create mode 100644 OvmfPkg/LoongArchVirt/Library/FdtQemuFwCfgLib/QemuFwCfgPei.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/DxeLsRealTimeClockLib.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/DxeLsRealTimeClockLib.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/LsRealTimeClock.h > create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/PeiLsRealTimeClockLib.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/LsRealTimeClockLib/PeiLsRealTimeClockLib.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/NorFlashQemuLib/NorFlashQemuLib.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/NorFlashQemuLib/NorFlashQemuLib.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/BaseResetSystemAcpiGed.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/BaseResetSystemAcpiGedLib.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/DxeResetSystemAcpiGed.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/DxeResetSystemAcpiGedLib.inf > create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/ResetSystemAcpiGed.c > create mode 100644 OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/ResetSystemAcpiGed.h > create mode 100644 OvmfPkg/LoongArchVirt/LoongArchVirt.fdf.inc > create mode 100644 OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc > create mode 100644 OvmfPkg/LoongArchVirt/LoongArchVirtQemu.fdf > create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/Fv.c > create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/MemDetect.c > create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/Platform.c > create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/Platform.h > create mode 100644 OvmfPkg/LoongArchVirt/PlatformPei/PlatformPei.inf > create mode 100644 OvmfPkg/LoongArchVirt/Readme.md > create mode 100644 OvmfPkg/LoongArchVirt/Sec/LoongArch64/Start.S > create mode 100644 OvmfPkg/LoongArchVirt/Sec/SecMain.c > create mode 100644 OvmfPkg/LoongArchVirt/Sec/SecMain.inf > create mode 100644 OvmfPkg/LoongArchVirt/VarStore.fdf.inc > create mode 100644 UefiCpuPkg/CpuDxe/LoongArch64/CpuDxe.c > create mode 100644 UefiCpuPkg/CpuDxe/LoongArch64/CpuDxe.h > create mode 100644 UefiCpuPkg/CpuDxe/LoongArch64/CpuMp.c > create mode 100644 UefiCpuPkg/CpuDxe/LoongArch64/Exception.c > rename OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.c => UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.c (96%) > rename OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf => UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.inf (61%) > create mode 100644 UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.uni > create mode 100644 UefiCpuPkg/Include/Library/CpuMmuLib.h > create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/DxeExceptionLib.c > create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/ExceptionCommon.c > create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/ExceptionCommon.h > create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/LoongArch64/ArchExceptionHandler.c > create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/LoongArch64/ExceptionHandlerAsm.S > create mode 100644 UefiCpuPkg/Library/CpuExceptionHandlerLib/LoongArch/SecPeiExceptionLib.c > create mode 100644 UefiCpuPkg/Library/CpuMmuLib/DxeCpuMmuLib.inf > create mode 100644 UefiCpuPkg/Library/CpuMmuLib/DxeCpuMmuLib.uni > create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/CommonMmuLib.c > create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/CommonMmuLib.h > create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/Page.h > create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/PeiCpuMmuLib.c > create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/Tlb.h > create mode 100644 UefiCpuPkg/Library/CpuMmuLib/LoongArch64/TlbOperation.S > create mode 100644 UefiCpuPkg/Library/CpuMmuLib/PeiCpuMmuLib.inf > create mode 100644 UefiCpuPkg/Library/CpuMmuLib/PeiCpuMmuLib.uni > create mode 100644 UefiCpuPkg/Library/CpuTimerLib/LoongArch64/CpuTimerLib.c > create mode 100644 UefiCpuPkg/Library/MpInitLib/LoongArch64/DxeMpLib.c > create mode 100644 UefiCpuPkg/Library/MpInitLib/LoongArch64/MpLib.c > create mode 100644 UefiCpuPkg/Library/MpInitLib/LoongArch64/MpLib.h > create mode 100644 UefiCpuPkg/Library/MpInitLib/LoongArch64/PeiMpLib.c > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#114564): https://edk2.groups.io/g/devel/message/114564 Mute This Topic: https://groups.io/mt/103971622/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-