From: "maobibo" <maobibo@loongson.cn>
To: devel@edk2.groups.io, Leif Lindholm <quic_llindhol@quicinc.com>,
Michael D Kinney <michael.d.kinney@intel.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Ard Biesheuvel <ardb@kernel.org>
Cc: Chao Li <lichao@loongson.cn>, xianglai li <lixianglai@loongson.cn>
Subject: Re: [edk2-platforms][PATCH V5 00/15] Platform: Add Loongson support.
Date: Mon, 14 Nov 2022 11:50:57 +0800 [thread overview]
Message-ID: <bb6f4b87-0596-4555-6994-089705667580@loongson.cn> (raw)
In-Reply-To: <cover.1668157715.git.lixianglai@loongson.cn>
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 <maobibo@loongson.cn>
> Cc: Chao Li <lichao@loongson.cn>
> Cc: Leif Lindholm <quic_llindhol@quicinc.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Michael D Kinney <michael.d.kinney@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
>
next prev parent reply other threads:[~2022-11-14 3:51 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-11 9:12 [edk2-platforms][PATCH V5 00/15] Platform: Add Loongson support xianglai
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 01/15] Platform/Loongson: Add Serial Port library xianglai
2022-11-11 9:34 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 02/15] Platform/Loongson: Support SEC xianglai
2022-11-11 9:35 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 03/15] Platform/Loongson: Add PeiServicesTablePointerLib xianglai
2022-11-11 9:36 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 04/15] Platform/Loongson: Add QemuFwCfgLib xianglai
2022-11-11 9:36 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 05/15] Platform/Loongson: Add MmuLib xianglai
2022-11-11 9:42 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 06/15] Platform/Loongson: Add StableTimerLib xianglai
2022-11-11 9:43 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 07/15] Platform/Loongson: Support PEI phase xianglai
2022-11-11 9:43 ` [edk2-devel] " Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 08/15] Platform/Loongson: Add CPU DXE driver xianglai
2022-11-11 9:44 ` Chao Li
2022-11-11 9:46 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 09/15] Platform/Loongson: Add PciCpuIoDxe driver xianglai
2022-11-11 9:46 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 10/15] Platform/Loongson: Add timer Dxe driver xianglai
2022-11-11 9:47 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 11/15] Platform/Loongson: Add RealTime Clock lib xianglai
2022-11-11 9:47 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 12/15] Platform/Loongson: Add Platform Boot Manager Lib xianglai
2022-11-11 9:48 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 13/15] Platform/Loongson: Add Reset System Lib xianglai
2022-11-11 9:49 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 14/15] Platform/Loongson: Support Dxe xianglai
2022-11-11 9:50 ` Chao Li
2022-11-11 9:12 ` [edk2-platforms][PATCH V5 15/15] Platform/Loongson: Add Readme xianglai
2022-11-14 3:50 ` maobibo [this message]
-- strict thread matches above, loose matches on Subject: below --
2022-11-11 8:25 [edk2-platforms][PATCH V5 00/15] Platform: Add Loongson support xianglai
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=bb6f4b87-0596-4555-6994-089705667580@loongson.cn \
--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