public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Chao Li" <lichao@loongson.cn>
To: devel@edk2.groups.io, ray.ni@intel.com
Cc: "Kinney, Michael D" <michael.d.kinney@intel.com>,
	"Gao, Liming" <gaoliming@byosoft.com.cn>,
	"Liu, Zhiguang" <zhiguang.liu@intel.com>,
	"Dong, Eric" <eric.dong@intel.com>,
	"Kumar, Rahul R" <rahul.r.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>,
	"Yao, Jiewen" <jiewen.yao@intel.com>,
	"Justen, Jordan L" <jordan.l.justen@intel.com>
Subject: Re: [edk2-devel] [PATCH v1 00/29] Enable LoongArch virtual machine in edk2
Date: Fri, 3 Nov 2023 15:08:13 +0800	[thread overview]
Message-ID: <0a6b9701-4e48-451e-bc7e-3a683abc2246@loongson.cn> (raw)
In-Reply-To: <MN6PR11MB824416759900E6FABD3690028CA5A@MN6PR11MB8244.namprd11.prod.outlook.com>

[-- Attachment #1: Type: text/plain, Size: 23024 bytes --]

Hi Ray,

Thanks for review.


I think the MpInitLib is necessary, because this library will serve PEI 
and DEX phases. In LoongArch, the MP initialization function will be  
called first in the PEI phase. It will wake up all of AP, collect 
accurate online cores, and all APs will fill in their self information 
to prepare for next wakeup.

The second time the MP initialization function is called will in DXE 
phase, usually located CpuDxe, I guess you are checked this code. This 
time the MP service HOB will be brought from PEI to DXE phase, and the 
MP protocal will be registered to prepare for service DXE phase.

Like you saied, why not use the MP PPI? I think it's just that the code 
hasn't been added yet, and I think LoongArch will definitely need the MP 
PPI in the future, like memory trainning, configure APs local registers, 
etc.


Thanks,
Chao
在 2023/11/3 13:10, Ni, Ray 写道:
> Chao,
> MpInitLib is to avoid code duplication between CpuMpPeim and CpuDxe.
> If you only need MP protocol but not MP PPI, do you still need to add 
> MpInitLib?
> Can MpInitLib code be included in CpuDxe folder?
>
> Thanks,
> Ray
> ------------------------------------------------------------------------
> *From:* Chao Li <lichao@loongson.cn>
> *Sent:* Friday, November 3, 2023 9:03 AM
> *To:* devel@edk2.groups.io <devel@edk2.groups.io>
> *Cc:* Kinney, Michael D <michael.d.kinney@intel.com>; Gao, Liming 
> <gaoliming@byosoft.com.cn>; Liu, Zhiguang <zhiguang.liu@intel.com>; 
> Dong, Eric <eric.dong@intel.com>; Ni, Ray <ray.ni@intel.com>; Kumar, 
> Rahul R <rahul.r.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>; 
> Yao, Jiewen <jiewen.yao@intel.com>; Justen, Jordan L 
> <jordan.l.justen@intel.com>
> *Subject:* [PATCH v1 00/29] Enable LoongArch virtual machine in edk2
> 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.
>
> Modfied modues: MdePkg, UefiCpuPkg, EmbeddedPkg, ArmVirtPkg, OvmfPkg.
>
> BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4584
>
> 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>
>
> Chao Li (29):
>   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
>   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
>   OvmfPkg/LoongArchVirt: Add PciCpuIo2Dxe module
>   OvmfPkg/LoongArchVirt: Add stable timer driver
>   OvmfPkg/LoongArchVirt: Add a NULL library named
>     CollectApResouceLibNull
>   OvmfPkg/LoongArchVirt: Add serial port library
>   OvmfPkg/LoongArchVirt: Add real time clock library
>   OvmfPkg/LoongArchVirt: Add NorFlashQemuLib
>   OvmfPkg/LoongArchVirt: Add PeiServiceTablePointerLib
>   OvmfPkg/LoongArchVirt: Add platform boot manager library
>   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
>
>  ArmVirtPkg/ArmVirtCloudHv.dsc                 |    2 +-
>  ArmVirtPkg/ArmVirtKvmTool.dsc                 |    2 +-
>  ArmVirtPkg/ArmVirtPkg.dec                     |   14 -
>  ArmVirtPkg/ArmVirtQemu.dsc                    |    2 +-
>  ArmVirtPkg/ArmVirtQemuKernel.dsc              |    2 +-
>  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               |   37 +-
>  MdePkg/Include/Protocol/DebugSupport.h        |   76 +-
>  MdePkg/Include/Register/LoongArch64/Cpucfg.h  |  565 ++++++
>  MdePkg/Include/Register/LoongArch64/Csr.h     |  221 +++
>  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 +
>  MdePkg/MdePkg.ci.yaml                         |    3 +-
>  .../Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.c       |  547 ++++++
>  .../Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf     |   45 +
>  .../Drivers/StableTimerDxe/Timer.c            |  381 ++++
>  .../Drivers/StableTimerDxe/Timer.h            |  127 ++
>  .../Drivers/StableTimerDxe/TimerDxe.inf       |   41 +
>  .../CollectApResourceLibNull.c                |   35 +
>  .../CollectApResourceLibNull.inf              |   32 +
>  .../CollectApResourceLibNull.uni              |    9 +
>  .../EarlyFdtSerialPortLib16550.c              |  824 +++++++++
>  .../EarlyFdtSerialPortLib16550.inf            |   47 +
>  .../EarlyFdt16550SerialPortHookLib.c          |  136 ++
>  .../EarlyFdt16550SerialPortHookLib.inf        |   36 +
>  .../Fdt16550SerialPortHookLib.c               |   41 +
>  .../Fdt16550SerialPortHookLib.inf             |   33 +
>  .../Fdt16550SerialPortHookLib.uni             |   13 +
>  .../FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.c      |  505 ++++++
>  .../FdtQemuFwCfgLib/FdtQemuFwCfgPeiLib.inf    |   42 +
>  .../FdtQemuFwCfgLib/QemuFwCfgLibInternal.h    |   73 +
>  .../Library/FdtQemuFwCfgLib/QemuFwCfgPei.c    |  117 ++
>  .../DxeLsRealTimeClockLib.c                   |  333 ++++
>  .../DxeLsRealTimeClockLib.inf                 |   42 +
>  .../LsRealTimeClockLib/LsRealTimeClock.h      |   47 +
>  .../PeiLsRealTimeClockLib.c                   |   31 +
>  .../PeiLsRealTimeClockLib.inf                 |   29 +
>  .../Library/NorFlashQemuLib/NorFlashQemuLib.c |  140 ++
>  .../NorFlashQemuLib/NorFlashQemuLib.inf       |   43 +
>  .../PeiServicesTablePointer.c                 |   75 +
>  .../PeiServicesTablePointerLib.inf            |   31 +
>  .../PlatformBootManagerLib/PlatformBm.c       |  829 +++++++++
>  .../PlatformBootManagerLib/PlatformBm.h       |  112 ++
>  .../PlatformBootManagerLib.inf                |   73 +
>  .../PlatformBootManagerLib/QemuKernel.c       |   81 +
>  .../BaseResetSystemAcpiGed.c                  |  148 ++
>  .../BaseResetSystemAcpiGedLib.inf             |   37 +
>  .../DxeResetSystemAcpiGed.c                   |  259 +++
>  .../DxeResetSystemAcpiGedLib.inf              |   41 +
>  .../ResetSystemAcpiLib/ResetSystemAcpiGed.c   |  128 ++
>  .../ResetSystemAcpiLib/ResetSystemAcpiGed.h   |   23 +
>  OvmfPkg/LoongArchVirt/LoongArchVirt.fdf.inc   |   34 +
>  OvmfPkg/LoongArchVirt/LoongArchVirtQemu.dsc   |  675 +++++++
>  OvmfPkg/LoongArchVirt/LoongArchVirtQemu.fdf   |  313 ++++
>  OvmfPkg/LoongArchVirt/PlatformPei/Fv.c        |   40 +
>  OvmfPkg/LoongArchVirt/PlatformPei/MemDetect.c |  203 +++
>  OvmfPkg/LoongArchVirt/PlatformPei/Platform.c  |  393 ++++
>  OvmfPkg/LoongArchVirt/PlatformPei/Platform.h  |  128 ++
>  .../LoongArchVirt/PlatformPei/PlatformPei.inf |   72 +
>  OvmfPkg/LoongArchVirt/Sec/LoongArch64/Start.S |  176 ++
>  OvmfPkg/LoongArchVirt/Sec/SecMain.c           |  507 ++++++
>  OvmfPkg/LoongArchVirt/Sec/SecMain.inf         |   53 +
>  OvmfPkg/LoongArchVirt/VarStore.fdf.inc        |   67 +
>  OvmfPkg/OvmfPkg.dec                           |   15 +
>  UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.c         |  440 +++++
>  UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.h         |  261 +++
>  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 ++
>  UefiCpuPkg/Include/Library/CpuMmuLib.h        |  194 ++
>  .../BaseLoongArch64CpuTimerLib.inf            |   30 +
>  .../BaseLoongArch64CpuTimerLib.uni            |   15 +
>  .../BaseLoongArch64CpuTimerLib/CpuTimerLib.c  |  226 +++
>  .../DxeCpuExceptionHandlerLib.inf             |   45 +
>  .../DxeCpuExceptionHandlerLib.uni             |   15 +
>  .../DxeExceptionLib.c                         |  202 +++
>  .../ExceptionCommon.c                         |  170 ++
>  .../ExceptionCommon.h                         |  111 ++
>  .../LoongArch64/ArchExceptionHandler.c        |  214 +++
>  .../LoongArch64/ExceptionHandlerAsm.S         |  320 ++++
>  .../SecPeiCpuExceptionHandlerLib.inf          |   45 +
>  .../SecPeiCpuExceptionHandlerLib.uni          |   15 +
>  .../SecPeiExceptionLib.c                      |   90 +
>  .../LoongArch64CpuMmuLib/CommonMmuLib.c       |  963 ++++++++++
>  .../LoongArch64CpuMmuLib/CommonMmuLib.h       |   43 +
>  .../LoongArch64CpuMmuLib/DxeCpuMmuLib.inf     |   37 +
>  .../LoongArch64CpuMmuLib/DxeCpuMmuLib.uni     |   14 +
>  .../Library/LoongArch64CpuMmuLib/Page.h       |  279 +++
>  .../LoongArch64CpuMmuLib/PeiCpuMmuLib.c       |  165 ++
>  .../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   |  481 +++++
>  .../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 +
>  127 files changed, 18478 insertions(+), 84 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 
> OvmfPkg/LoongArchVirt/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.c
>  create mode 100644 
> OvmfPkg/LoongArchVirt/Drivers/PciCpuIo2Dxe/PciCpuIo2Dxe.inf
>  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/PeiServicesTablePointerLib/PeiServicesTablePointer.c
>  create mode 100644 
> OvmfPkg/LoongArchVirt/Library/PeiServicesTablePointerLib/PeiServicesTablePointerLib.inf
>  create mode 100644 
> OvmfPkg/LoongArchVirt/Library/PlatformBootManagerLib/PlatformBm.c
>  create mode 100644 
> OvmfPkg/LoongArchVirt/Library/PlatformBootManagerLib/PlatformBm.h
>  create mode 100644 
> OvmfPkg/LoongArchVirt/Library/PlatformBootManagerLib/PlatformBootManagerLib.inf
>  create mode 100644 
> OvmfPkg/LoongArchVirt/Library/PlatformBootManagerLib/QemuKernel.c
>  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/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
>  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
>


-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#110611): https://edk2.groups.io/g/devel/message/110611
Mute This Topic: https://groups.io/mt/102355705/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



[-- Attachment #2: Type: text/html, Size: 34682 bytes --]

  reply	other threads:[~2023-11-03  7:08 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-11-03  1:03 [edk2-devel] [PATCH v1 00/29] Enable LoongArch virtual machine in edk2 Chao Li
2023-11-03  5:10 ` Ni, Ray
2023-11-03  7:08   ` Chao Li [this message]
2023-11-03  7:51     ` maobibo
2023-11-03  8:09       ` Chao Li
2023-11-03  8:16         ` maobibo
2023-11-03  7:07 ` Laszlo Ersek
2023-11-03  7:32   ` Chao Li
2023-11-03  7:40     ` Laszlo Ersek

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=0a6b9701-4e48-451e-bc7e-3a683abc2246@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