Ping for reviewing, Any comments is welcome. >From edk2 mailing list, Soft Feature Freeze start on 2022-11-07 for >edk2-stable202211, is edk2-platform is affected also?
And there are series of submition for Riscv ovmf supports recently, we will adopt the new multi-arch schemes on Loongarch virt machine also after both Riscv virt machine and Loongarch virt machine code are merged. Is that ok? regards bibo, mao 在 2022/11/11 17:12, xianglai li 写道: > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4054 > > The uploaded code generates firmware to support Linux launching on the > LoongArch platform under qemu, > So it will run in a virtual machine. > > LoongArch is the general processor architecture of Loongson. > You can get the latest LoongArch documents or LoongArch tools at > https://github.com/loongson/. > > You can also view the code through the Loongson community. > The edk2 code in Loongson community: > https://github.com/loongson/edk2/tree/LoongArch > The edk2-platform code in Loonson community: > https://github.com/loongson/edk2-platforms > The qemu code in Loongson community: > https://gitlab.com/qemu-project/qemu.git > The LoongArch Documentation in Loongson community: > https://github.com/loongson/LoongArch-Documentation/tree/main/docs > The all patches at: > https://github.com/loongson/edk2-platforms/tree/devel-LoongArch-patch > > v2 changes: > - Remove the inline assembly from StableTimerLib. > - troubleshoot TAB strings, convert TAB characters to spaces. > - remove smm related code, loongarch has no smm mode. > > v3 changes: > - delete ExtractHandler related code. > - Boot UEFI with low 256M memory. > - Modify common interrupt handling. > > v4 changes: > - Remove qemu flash related code. > - Modify fdt base address. > > v5 changes: > - Add Udf driver support. > - Split readme file into a separate patch. > - Modify the code style > - delete extra blank lines > - use the assembly function definition macros in MdePkg > - sort out the PCD variable Token value. > > Cc: Bibo Mao <maob...@loongson.cn> > Cc: Chao Li <lic...@loongson.cn> > Cc: Leif Lindholm <quic_llind...@quicinc.com> > Cc: Liming Gao <gaolim...@byosoft.com.cn> > Cc: Michael D Kinney <michael.d.kin...@intel.com> > > xianglai li (15): > Platform/Loongson: Add Serial Port library > Platform/Loongson: Support SEC > Platform/Loongson: Add PeiServicesTablePointerLib. > Platform/Loongson: Add QemuFwCfgLib. > Platform/Loongson: Add MmuLib. > Platform/Loongson: Add StableTimerLib. > Platform/Loongson: Support PEI phase. > Platform/Loongson: Add CPU DXE driver. > Platform/Loongson: Add PciCpuIoDxe driver. > Platform/Loongson: Add timer Dxe driver. > Platform/Loongson: Add RealTime Clock lib. > Platform/Loongson: Add Platform Boot Manager Lib. > Platform/Loongson: Add Reset System Lib. > Platform/Loongson: Support Dxe > Platform/Loongson: Add Readme. > > .../LoongArchQemuPkg/Drivers/CpuDxe/CpuDxe.c | 367 ++++++++ > .../LoongArchQemuPkg/Drivers/CpuDxe/CpuDxe.h | 199 +++++ > .../Drivers/CpuDxe/CpuDxe.inf | 59 ++ > .../Drivers/CpuDxe/LoongArch64/Exception.c | 335 +++++++ > .../Drivers/CpuDxe/LoongArch64/Fpu.S | 97 ++ > .../Drivers/CpuDxe/LoongArch64/LoongArch.S | 321 +++++++ > .../Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.c | 538 ++++++++++++ > .../Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.h | 207 +++++ > .../Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf | 44 + > .../Drivers/StableTimerDxe/Timer.c | 388 ++++++++ > .../Drivers/StableTimerDxe/Timer.h | 172 ++++ > .../Drivers/StableTimerDxe/TimerConfig.S | 38 + > .../Drivers/StableTimerDxe/TimerDxe.inf | 44 + > .../LoongArchQemuPkg/Include/Library/Cpu.h | 237 +++++ > .../LoongArchQemuPkg/Include/Library/MmuLib.h | 85 ++ > .../Include/Library/QemuFwCfgLib.h | 174 ++++ > .../Include/Library/StableTimer.h | 59 ++ > .../Include/LoongArchQemuPlatform.h | 95 ++ > .../LsRealTimeClockLib/LsRealTimeClock.h | 40 + > .../LsRealTimeClockLib/LsRealTimeClockLib.c | 335 +++++++ > .../LsRealTimeClockLib/LsRealTimeClockLib.inf | 44 + > .../LoongArchQemuPkg/Library/MmuLib/Mmu.S | 155 ++++ > .../Library/MmuLib/MmuBaseLib.inf | 40 + > .../Library/MmuLib/MmuBaseLibPei.inf | 47 + > .../Library/MmuLib/MmuLibCore.c | 831 ++++++++++++++++++ > .../Library/MmuLib/MmuLibCore.h | 40 + > .../Library/MmuLib/MmuLibCorePei.c | 231 +++++ > .../LoongArchQemuPkg/Library/MmuLib/mmu.h | 190 ++++ > .../LoongArchQemuPkg/Library/MmuLib/page.h | 280 ++++++ > .../LoongArchQemuPkg/Library/MmuLib/pte.h | 57 ++ > .../PeiServicesTablePointer.c | 79 ++ > .../PeiServicesTablePointer.h | 39 + > .../PeiServicesTablePointerLib.S | 40 + > .../PeiServicesTablePointerLib.inf | 32 + > .../PlatformBootManagerLib/PlatformBm.c | 742 ++++++++++++++++ > .../PlatformBootManagerLib/PlatformBm.h | 112 +++ > .../PlatformBootManagerLib.inf | 75 ++ > .../PlatformBootManagerLib/QemuKernel.c | 81 ++ > .../QemuFwCfgLib/QemuFwCfgLibInternal.h | 63 ++ > .../Library/QemuFwCfgLib/QemuFwCfgPei.c | 117 +++ > .../Library/QemuFwCfgLib/QemuFwCfgPeiLib.c | 463 ++++++++++ > .../Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf | 46 + > .../BaseResetSystemAcpiGed.c | 146 +++ > .../BaseResetSystemAcpiGedLib.inf | 37 + > .../DxeResetSystemAcpiGed.c | 257 ++++++ > .../DxeResetSystemAcpiGedLib.inf | 41 + > .../ResetSystemAcpiLib/ResetSystemAcpiGed.c | 128 +++ > .../ResetSystemAcpiLib/ResetSystemAcpiGed.h | 23 + > .../Library/SerialPortLib/SerialPortLib.c | 593 +++++++++++++ > .../Library/SerialPortLib/SerialPortLib.inf | 39 + > .../Library/StableTimerLib/Count.S | 52 ++ > .../Library/StableTimerLib/TimerLib.c | 236 +++++ > .../Library/StableTimerLib/TimerLib.inf | 32 + > .../Loongson/LoongArchQemuPkg/Loongson.dec | 74 ++ > .../Loongson/LoongArchQemuPkg/Loongson.dsc | 607 +++++++++++++ > .../Loongson/LoongArchQemuPkg/Loongson.fdf | 349 ++++++++ > .../LoongArchQemuPkg/Loongson.fdf.inc | 63 ++ > .../LoongArchQemuPkg/PlatformPei/Fv.c | 58 ++ > .../LoongArchQemuPkg/PlatformPei/MemDetect.c | 104 +++ > .../LoongArchQemuPkg/PlatformPei/Platform.c | 261 ++++++ > .../LoongArchQemuPkg/PlatformPei/Platform.h | 86 ++ > .../PlatformPei/PlatformPei.inf | 72 ++ > Platform/Loongson/LoongArchQemuPkg/Readme.md | 60 ++ > .../LoongArchQemuPkg/Sec/LoongArch64/Start.S | 84 ++ > .../Loongson/LoongArchQemuPkg/Sec/SecMain.c | 494 +++++++++++ > .../Loongson/LoongArchQemuPkg/Sec/SecMain.inf | 51 ++ > Readme.md | 9 + > 67 files changed, 11594 insertions(+) > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/CpuDxe.c > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/CpuDxe.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/CpuDxe.inf > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/LoongArch64/Exception.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/LoongArch64/Fpu.S > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/CpuDxe/LoongArch64/LoongArch.S > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/StableTimerDxe/Timer.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/StableTimerDxe/Timer.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/StableTimerDxe/TimerConfig.S > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Drivers/StableTimerDxe/TimerDxe.inf > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Include/Library/Cpu.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Include/Library/MmuLib.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Include/Library/QemuFwCfgLib.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Include/Library/StableTimer.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Include/LoongArchQemuPlatform.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/LsRealTimeClockLib/LsRealTimeClock.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/LsRealTimeClockLib/LsRealTimeClockLib.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/LsRealTimeClockLib/LsRealTimeClockLib.inf > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/Mmu.S > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuBaseLib.inf > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuBaseLibPei.inf > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCore.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/MmuLibCorePei.c > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/mmu.h > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/page.h > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Library/MmuLib/pte.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointer.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.S > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/PlatformBootManagerLib/PlatformBm.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/PlatformBootManagerLib/PlatformBm.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/PlatformBootManagerLib/QemuKernel.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/QemuFwCfgLib/QemuFwCfgLibInternal.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/QemuFwCfgLib/QemuFwCfgPei.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/ResetSystemAcpiLib/BaseResetSystemAcpiGed.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/ResetSystemAcpiLib/BaseResetSystemAcpiGedLib.inf > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/ResetSystemAcpiLib/DxeResetSystemAcpiGed.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/ResetSystemAcpiLib/DxeResetSystemAcpiGedLib.inf > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/ResetSystemAcpiLib/ResetSystemAcpiGed.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/ResetSystemAcpiLib/ResetSystemAcpiGed.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/SerialPortLib/SerialPortLib.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/SerialPortLib/SerialPortLib.inf > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/StableTimerLib/Count.S > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/StableTimerLib/TimerLib.c > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/Library/StableTimerLib/TimerLib.inf > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Loongson.dec > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Loongson.dsc > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Loongson.fdf > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Loongson.fdf.inc > create mode 100644 Platform/Loongson/LoongArchQemuPkg/PlatformPei/Fv.c > create mode 100644 Platform/Loongson/LoongArchQemuPkg/PlatformPei/MemDetect.c > create mode 100644 Platform/Loongson/LoongArchQemuPkg/PlatformPei/Platform.c > create mode 100644 Platform/Loongson/LoongArchQemuPkg/PlatformPei/Platform.h > create mode 100644 > Platform/Loongson/LoongArchQemuPkg/PlatformPei/PlatformPei.inf > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Readme.md > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Sec/LoongArch64/Start.S > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Sec/SecMain.c > create mode 100644 Platform/Loongson/LoongArchQemuPkg/Sec/SecMain.inf > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#96339): https://edk2.groups.io/g/devel/message/96339 Mute This Topic: https://groups.io/mt/94954835/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-