From: "Chao Li" <lichao@loongson.cn>
To: devel@edk2.groups.io
Cc: Michael D Kinney <michael.d.kinney@intel.com>,
Liming Gao <gaoliming@byosoft.com.cn>,
Zhiguang Liu <zhiguang.liu@intel.com>,
Eric Dong <eric.dong@intel.com>, Ray Ni <ray.ni@intel.com>,
Rahul Kumar <rahul1.kumar@intel.com>,
Gerd Hoffmann <kraxel@redhat.com>,
Leif Lindholm <quic_llindhol@quicinc.com>,
Ard Biesheuvel <ardb+tianocore@kernel.org>,
Abner Chang <abner.chang@amd.com>,
Daniel Schaefer <git@danielschaefer.me>,
Sami Mujawar <sami.mujawar@arm.com>,
Jiewen Yao <jiewen.yao@intel.com>,
Jordan Justen <jordan.l.justen@intel.com>,
Andrei Warkentin <andrei.warkentin@intel.com>,
Laszlo Ersek <lersek@redhat.com>,
Sunil V L <sunilvl@ventanamicro.com>
Subject: [edk2-devel] [PATCH v5 00/36] Enable LoongArch virtual machine in edk2
Date: Thu, 28 Dec 2023 18:03:51 +0800 [thread overview]
Message-ID: <20231228100351.1756165-1-lichao@loongson.cn> (raw)
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
**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.
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Liming Gao <gaoliming@byosoft.com.cn>
Cc: Zhiguang Liu <zhiguang.liu@intel.com>
Cc: Eric Dong <eric.dong@intel.com>
Cc: Ray Ni <ray.ni@intel.com>
Cc: Rahul Kumar <rahul1.kumar@intel.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Leif Lindholm <quic_llindhol@quicinc.com>
Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Abner Chang <abner.chang@amd.com>
Cc: Daniel Schaefer <git@danielschaefer.me>
Cc: Sami Mujawar <sami.mujawar@arm.com>
Cc: Jiewen Yao <jiewen.yao@intel.com>
Cc: Jordan Justen <jordan.l.justen@intel.com>
Cc: Andrei Warkentin <andrei.warkentin@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Sunil V L <sunilvl@ventanamicro.com>
Chao Li (36):
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
UefiCpuPkg: Add LoongArch64 CPU Timer library
UefiCpuPkg: Add CPU exception library for LoongArch
UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg
UefiCpuPkg: Add LoongArch64CpuMmuLib 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 PcdTerminalTypeGuidBuffer and
PcdUninstallMemAttrProtocol 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 | 41 +-
.../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 | 183 ++
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/CpuDxeLoongArch64/CpuDxe.c | 437 +++++
UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.h | 288 +++
UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.inf | 60 +
UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.uni | 15 +
UefiCpuPkg/CpuDxeLoongArch64/CpuMp.c | 544 ++++++
UefiCpuPkg/CpuDxeLoongArch64/CpuMp.h | 471 +++++
UefiCpuPkg/CpuDxeLoongArch64/Exception.c | 150 ++
.../CpuMmio2Dxe/CpuMmio2Dxe.c | 8 +-
.../CpuMmio2Dxe/CpuMmio2Dxe.inf | 16 +-
UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.uni | 18 +
UefiCpuPkg/Include/Library/CpuMmuLib.h | 62 +
.../BaseLoongArch64CpuTimerLib.inf | 29 +
.../BaseLoongArch64CpuTimerLib.uni | 15 +
.../BaseLoongArch64CpuTimerLib/CpuTimerLib.c | 251 +++
.../DxeCpuExceptionHandlerLib.inf | 45 +
.../DxeCpuExceptionHandlerLib.uni | 15 +
.../DxeExceptionLib.c | 198 ++
.../ExceptionCommon.c | 170 ++
.../ExceptionCommon.h | 118 ++
.../LoongArch64/ArchExceptionHandler.c | 213 +++
.../LoongArch64/ExceptionHandlerAsm.S | 320 ++++
.../SecPeiCpuExceptionHandlerLib.inf | 45 +
.../SecPeiCpuExceptionHandlerLib.uni | 15 +
.../SecPeiExceptionLib.c | 88 +
.../LoongArch64CpuMmuLib/CommonMmuLib.c | 986 ++++++++++
.../LoongArch64CpuMmuLib/CommonMmuLib.h | 43 +
.../LoongArch64CpuMmuLib/DxeCpuMmuLib.inf | 36 +
.../LoongArch64CpuMmuLib/DxeCpuMmuLib.uni | 14 +
.../Library/LoongArch64CpuMmuLib/Page.h | 279 +++
.../LoongArch64CpuMmuLib/PeiCpuMmuLib.c | 178 ++
.../LoongArch64CpuMmuLib/PeiCpuMmuLib.inf | 44 +
.../LoongArch64CpuMmuLib/PeiCpuMmuLib.uni | 14 +
UefiCpuPkg/Library/LoongArch64CpuMmuLib/Tlb.h | 48 +
.../LoongArch64CpuMmuLib/TlbOperation.S | 44 +
.../LoongArch64MpInitLib/DxeMpInitLib.inf | 45 +
.../LoongArch64MpInitLib/DxeMpInitLib.uni | 15 +
.../Library/LoongArch64MpInitLib/DxeMpLib.c | 480 +++++
.../Library/LoongArch64MpInitLib/MpLib.c | 1596 +++++++++++++++++
.../Library/LoongArch64MpInitLib/MpLib.h | 361 ++++
.../LoongArch64MpInitLib/PeiMpInitLib.inf | 37 +
.../LoongArch64MpInitLib/PeiMpInitLib.uni | 15 +
.../Library/LoongArch64MpInitLib/PeiMpLib.c | 404 +++++
UefiCpuPkg/UefiCpuPkg.dec | 10 +
UefiCpuPkg/UefiCpuPkg.dsc | 10 +
142 files changed, 16857 insertions(+), 102 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/CpuDxeLoongArch64/CpuDxe.c
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.h
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.inf
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.uni
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuMp.c
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/CpuMp.h
create mode 100644 UefiCpuPkg/CpuDxeLoongArch64/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/BaseLoongArch64CpuTimerLib/BaseLoongArch64CpuTimerLib.inf
create mode 100644 UefiCpuPkg/Library/BaseLoongArch64CpuTimerLib/BaseLoongArch64CpuTimerLib.uni
create mode 100644 UefiCpuPkg/Library/BaseLoongArch64CpuTimerLib/CpuTimerLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeCpuExceptionHandlerLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeExceptionLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/ExceptionCommon.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/ExceptionCommon.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/LoongArch64/ArchExceptionHandler.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/LoongArch64/ExceptionHandlerAsm.S
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiCpuExceptionHandlerLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiExceptionLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/CommonMmuLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/CommonMmuLib.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/DxeCpuMmuLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/DxeCpuMmuLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/Page.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/PeiCpuMmuLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/PeiCpuMmuLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/PeiCpuMmuLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/Tlb.h
create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/TlbOperation.S
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/DxeMpInitLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/DxeMpInitLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/DxeMpLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/MpLib.c
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/MpLib.h
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/PeiMpInitLib.inf
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/PeiMpInitLib.uni
create mode 100644 UefiCpuPkg/Library/LoongArch64MpInitLib/PeiMpLib.c
--
2.27.0
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#112944): https://edk2.groups.io/g/devel/message/112944
Mute This Topic: https://groups.io/mt/103398581/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-
next reply other threads:[~2023-12-28 10:04 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-12-28 10:03 Chao Li [this message]
2023-12-28 10:04 ` [edk2-devel] [PATCH v5 01/36] MdePkg: Add the header file named Csr.h for LoongArch64 Chao Li
2023-12-28 10:04 ` [edk2-devel] [PATCH v5 02/36] MdePkg: Add LoongArch64 FPU function set into BaseCpuLib Chao Li
2023-12-28 10:04 ` [edk2-devel] [PATCH v5 03/36] MdePkg: Add LoongArch64 exception function set into BaseLib Chao Li
2023-12-28 10:05 ` [edk2-devel] [PATCH v5 04/36] MdePkg: Add LoongArch64 local interrupt " Chao Li
2023-12-28 10:05 ` [edk2-devel] [PATCH v5 06/36] MdePkg: Add read stable counter operation for LoongArch Chao Li
2023-12-28 10:05 ` [edk2-devel] [PATCH v5 07/36] MdePkg: Add CSR " Chao Li
2023-12-28 10:05 ` [edk2-devel] [PATCH v5 08/36] MdePkg: Add IOCSR " Chao Li
2023-12-28 10:05 ` [edk2-devel] [PATCH v5 09/36] MdePkg: Add a new library named PeiServicesTablePointerLibKs0 Chao Li
2023-12-28 10:05 ` [edk2-devel] [PATCH v5 10/36] UefiCpuPkg: Add LoongArch64 CPU Timer library Chao Li
2023-12-28 10:05 ` [edk2-devel] [PATCH v5 11/36] UefiCpuPkg: Add CPU exception library for LoongArch Chao Li
2023-12-28 10:05 ` [edk2-devel] [PATCH v5 12/36] UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 13/36] UefiCpuPkg: Add LoongArch64CpuMmuLib " Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 14/36] UefiCpuPkg: Add multiprocessor library for LoongArch64 Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 15/36] UefiCpuPkg: Add CpuDxe driver " Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 16/36] EmbeddedPkg: Add PcdPrePiCpuIoSize width for LOONGARCH64 Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 17/36] ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 18/36] UefiCpuPkg: Add a new CPU IO 2 driver named CpuMmio2Dxe Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 19/36] ArmVirtPkg: Enable CpuMmio2Dxe Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 20/36] OvmfPkg/RiscVVirt: " Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 21/36] OvmfPkg/RiscVVirt: Remove PciCpuIo2Dxe from RiscVVirt Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 22/36] ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg Chao Li
2023-12-28 10:06 ` [edk2-devel] [PATCH v5 23/36] ArmVirtPkg: Move PcdTerminalTypeGuidBuffer and PcdUninstallMemAttrProtocol into OvmfPkg Chao Li
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 24/36] ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg Chao Li
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 25/36] OvmfPkg/LoongArchVirt: Add stable timer driver Chao Li
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 26/36] OvmfPkg/LoongArchVirt: Add a NULL library named CollectApResouceLibNull Chao Li
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 27/36] OvmfPkg/LoongArchVirt: Add serial port hook library Chao Li
2024-01-03 10:07 ` maobibo
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 28/36] OvmfPkg/LoongArchVirt: Add the early serial port output library Chao Li
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 29/36] OvmfPkg/LoongArchVirt: Add real time clock library Chao Li
2024-01-03 10:07 ` maobibo
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 30/36] OvmfPkg/LoongArchVirt: Add NorFlashQemuLib Chao Li
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 31/36] OvmfPkg/LoongArchVirt: Add FdtQemuFwCfgLib Chao Li
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 32/36] OvmfPkg/LoongArchVirt: Add reset system library Chao Li
2024-01-04 1:28 ` maobibo
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 33/36] OvmfPkg/LoongArchVirt: Support SEC phase Chao Li
2024-01-04 1:49 ` maobibo
2024-01-04 6:28 ` Chao Li
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 34/36] OvmfPkg/LoongArchVirt: Support PEI phase Chao Li
2024-01-03 8:12 ` maobibo
2023-12-28 10:07 ` [edk2-devel] [PATCH v5 35/36] OvmfPkg/LoongArchVirt: Add build file Chao Li
2023-12-28 10:08 ` [edk2-devel] [PATCH v5 36/36] OvmfPkg/LoongArchVirt: Add self introduction file Chao Li
[not found] ` <17A4F6E18EBFD408.18542@groups.io>
2023-12-29 6:27 ` [edk2-devel] [PATCH v5 20/36] OvmfPkg/RiscVVirt: Enable CpuMmio2Dxe Chao Li
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=20231228100351.1756165-1-lichao@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