public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "gaoliming via groups.io" <gaoliming=byosoft.com.cn@groups.io>
To: "'Chao Li'" <lichao@loongson.cn>, <devel@edk2.groups.io>
Cc: "'Michael D Kinney'" <michael.d.kinney@intel.com>,
	"'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>,
	"'Bibo Mao'" <maobibo@loongson.cn>
Subject: [edk2-devel] 回复: [PATCH v6 00/36] Enable LoongArch virtual machine in edk2
Date: Mon, 8 Jan 2024 09:35:50 +0800	[thread overview]
Message-ID: <02b101da41d3$0376e780$0a64b680$@byosoft.com.cn> (raw)
In-Reply-To: <20240105094118.2279380-1-lichao@loongson.cn>

Chao:
  Thanks for your update. The changes in MdePkg are good to me. Reviewed-by:
Liming Gao <gaoliming@byosoft.com.cn>

  But, I still have one minor comment on [PATCH v6 11/36] UefiCpuPkg: Add
CPU exception library for LoongArch. 
  
  Can you separate the change in MdePkg to another single commit? 

Thanks
Liming
> -----邮件原件-----
> 发件人: Chao Li <lichao@loongson.cn>
> 发送时间: 2024年1月5日 17:41
> 收件人: devel@edk2.groups.io
> 抄送: 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>; Bibo Mao <maobibo@loongson.cn>
> 主题: [PATCH v6 00/36] 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.
> 
> 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.
> 
> 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>
> Cc: Bibo Mao <maobibo@loongson.cn>
> 
> 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               |   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 |  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         |  414 +++++
>  UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.h         |  288 +++
>  UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.inf       |   60 +
>  UefiCpuPkg/CpuDxeLoongArch64/CpuDxe.uni       |   15 +
>  UefiCpuPkg/CpuDxeLoongArch64/CpuMp.c          |  544 ++++++
>  UefiCpuPkg/CpuDxeLoongArch64/CpuMp.h          |  469 +++++
>  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                         |  209 +++
>  .../ExceptionCommon.h                         |  132 ++
>  .../LoongArch64/ArchExceptionHandler.c        |  213 +++
>  .../LoongArch64/ExceptionHandlerAsm.S         |  320 ++++
>  .../SecPeiCpuExceptionHandlerLib.inf          |   45 +
>  .../SecPeiCpuExceptionHandlerLib.uni          |   15 +
>  .../SecPeiExceptionLib.c                      |  102 ++
>  .../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                     |   12 +
>  142 files changed, 16904 insertions(+), 101 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/PeiServicesTablePointerLibKs
> 0.inf
>  create mode 100644
> MdePkg/Library/PeiServicesTablePointerLibKs0/PeiServicesTablePointerLibKs
> 0.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.in
> f (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/CollectApResource
> LibNull.c
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResource
> LibNull.inf
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/CollectApResouceLibNull/CollectApResource
> LibNull.uni
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/EarlyFdtSerialPortLib16550/EarlyFdtSerialPor
> tLib16550.c
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/EarlyFdtSerialPortLib16550/EarlyFdtSerialPor
> tLib16550.inf
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/EarlyFdt16550Se
> rialPortHookLib.c
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/EarlyFdt16550Se
> rialPortHookLib.inf
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialP
> ortHookLib.c
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialP
> ortHookLib.inf
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/Fdt16550SerialPortHookLib/Fdt16550SerialP
> ortHookLib.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.i
> nf
>  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/BaseResetSystemAcpiG
> ed.c
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/BaseResetSystemAcpiG
> edLib.inf
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/DxeResetSystemAcpiGe
> d.c
>  create mode 100644
> OvmfPkg/LoongArchVirt/Library/ResetSystemAcpiLib/DxeResetSystemAcpiGe
> dLib.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/BaseLoongArch64CpuTim
> erLib.inf
>  create mode 100644
> UefiCpuPkg/Library/BaseLoongArch64CpuTimerLib/BaseLoongArch64CpuTim
> erLib.uni
>  create mode 100644
> UefiCpuPkg/Library/BaseLoongArch64CpuTimerLib/CpuTimerLib.c
>  create mode 100644
> UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeCpuExceptionH
> andlerLib.inf
>  create mode 100644
> UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/DxeCpuExceptionH
> andlerLib.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/Arch
> ExceptionHandler.c
>  create mode 100644
> UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/LoongArch64/Exce
> ptionHandlerAsm.S
>  create mode 100644
> UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiCpuExceptio
> nHandlerLib.inf
>  create mode 100644
> UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiCpuExceptio
> nHandlerLib.uni
>  create mode 100644
> UefiCpuPkg/Library/LoongArch64CpuExceptionHandlerLib/SecPeiExceptionLi
> b.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 (#113341): https://edk2.groups.io/g/devel/message/113341
Mute This Topic: https://groups.io/mt/103589722/7686176
Group Owner: devel+owner@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io]
-=-=-=-=-=-=-=-=-=-=-=-



  parent reply	other threads:[~2024-01-08  1:36 UTC|newest]

Thread overview: 59+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-05  9:41 [edk2-devel] [PATCH v6 00/36] Enable LoongArch virtual machine in edk2 Chao Li
2024-01-05  9:42 ` [edk2-devel] [PATCH v6 01/36] MdePkg: Add the header file named Csr.h for LoongArch64 Chao Li
2024-01-05  9:42 ` [edk2-devel] [PATCH v6 02/36] MdePkg: Add LoongArch64 FPU function set into BaseCpuLib Chao Li
2024-01-05  9:42 ` [edk2-devel] [PATCH v6 03/36] MdePkg: Add LoongArch64 exception function set into BaseLib Chao Li
2024-01-05  9:42 ` [edk2-devel] [PATCH v6 04/36] MdePkg: Add LoongArch64 local interrupt " Chao Li
2024-01-05  9:42 ` [edk2-devel] [PATCH v6 05/36] MdePkg: Add LoongArch Cpucfg function Chao Li
2024-01-05  9:43 ` [edk2-devel] [PATCH v6 06/36] MdePkg: Add read stable counter operation for LoongArch Chao Li
2024-01-05  9:43 ` [edk2-devel] [PATCH v6 07/36] MdePkg: Add CSR " Chao Li
2024-01-05  9:43 ` [edk2-devel] [PATCH v6 08/36] MdePkg: Add IOCSR " Chao Li
2024-01-05  9:43 ` [edk2-devel] [PATCH v6 09/36] MdePkg: Add a new library named PeiServicesTablePointerLibKs0 Chao Li
2024-01-05  9:43 ` [edk2-devel] [PATCH v6 10/36] UefiCpuPkg: Add LoongArch64 CPU Timer library Chao Li
2024-01-05  9:43 ` [edk2-devel] [PATCH v6 11/36] UefiCpuPkg: Add CPU exception library for LoongArch Chao Li
2024-01-05  9:43 ` [edk2-devel] [PATCH v6 12/36] UefiCpuPkg: Add CpuMmuLib.h to UefiCpuPkg Chao Li
2024-01-05 12:49   ` Ni, Ray
2024-01-05  9:43 ` [edk2-devel] [PATCH v6 13/36] UefiCpuPkg: Add LoongArch64CpuMmuLib " Chao Li
2024-01-05 12:50   ` Ni, Ray
2024-01-05  9:44 ` [edk2-devel] [PATCH v6 14/36] UefiCpuPkg: Add multiprocessor library for LoongArch64 Chao Li
2024-01-05  9:44 ` [edk2-devel] [PATCH v6 15/36] UefiCpuPkg: Add CpuDxe driver " Chao Li
2024-01-05  9:44 ` [edk2-devel] [PATCH v6 16/36] EmbeddedPkg: Add PcdPrePiCpuIoSize width for LOONGARCH64 Chao Li
2024-01-05  9:44 ` [edk2-devel] [PATCH v6 17/36] ArmVirtPkg: Move PCD of FDT base address and FDT padding to OvmfPkg Chao Li
2024-01-05  9:44 ` [edk2-devel] [PATCH v6 18/36] UefiCpuPkg: Add a new CPU IO 2 driver named CpuMmio2Dxe Chao Li
2024-01-06  3:20   ` Ni, Ray
2024-01-05  9:44 ` [edk2-devel] [PATCH v6 19/36] ArmVirtPkg: Enable CpuMmio2Dxe Chao Li
2024-01-05  9:44 ` [edk2-devel] [PATCH v6 20/36] OvmfPkg/RiscVVirt: " Chao Li
2024-01-05  9:44 ` [edk2-devel] [PATCH v6 21/36] OvmfPkg/RiscVVirt: Remove PciCpuIo2Dxe from RiscVVirt Chao Li
2024-01-05  9:44 ` [edk2-devel] [PATCH v6 22/36] ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg Chao Li
2024-01-05  9:45 ` [edk2-devel] [PATCH v6 23/36] ArmVirtPkg: Move two PCD variables into OvmfPkg Chao Li
2024-01-05  9:45 ` [edk2-devel] [PATCH v6 24/36] ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg Chao Li
2024-01-08 14:02   ` Laszlo Ersek
2024-01-09  6:40     ` Chao Li
2024-01-09  8:00       ` Laszlo Ersek
2024-01-05  9:45 ` [edk2-devel] [PATCH v6 25/36] OvmfPkg/LoongArchVirt: Add stable timer driver Chao Li
2024-01-12  7:05   ` maobibo
2024-01-05  9:45 ` [edk2-devel] [PATCH v6 26/36] OvmfPkg/LoongArchVirt: Add a NULL library named CollectApResouceLibNull Chao Li
2024-01-10  1:24   ` maobibo
2024-01-10  2:47     ` Chao Li
2024-01-10  9:35       ` maobibo
2024-01-05  9:45 ` [edk2-devel] [PATCH v6 27/36] OvmfPkg/LoongArchVirt: Add serial port hook library Chao Li
2024-01-05  9:45 ` [edk2-devel] [PATCH v6 28/36] OvmfPkg/LoongArchVirt: Add the early serial port output library Chao Li
2024-01-10  1:25   ` maobibo
2024-01-05  9:46 ` [edk2-devel] [PATCH v6 29/36] OvmfPkg/LoongArchVirt: Add real time clock library Chao Li
2024-01-05  9:46 ` [edk2-devel] [PATCH v6 30/36] OvmfPkg/LoongArchVirt: Add NorFlashQemuLib Chao Li
2024-01-10  1:26   ` maobibo
2024-01-05  9:46 ` [edk2-devel] [PATCH v6 31/36] OvmfPkg/LoongArchVirt: Add FdtQemuFwCfgLib Chao Li
2024-01-10  1:27   ` maobibo
2024-01-05  9:46 ` [edk2-devel] [PATCH v6 32/36] OvmfPkg/LoongArchVirt: Add reset system library Chao Li
2024-01-05  9:46 ` [edk2-devel] [PATCH v6 33/36] OvmfPkg/LoongArchVirt: Support SEC phase Chao Li
2024-01-08  6:51   ` maobibo
2024-01-05  9:46 ` [edk2-devel] [PATCH v6 34/36] OvmfPkg/LoongArchVirt: Support PEI phase Chao Li
2024-01-05  9:46 ` [edk2-devel] [PATCH v6 35/36] OvmfPkg/LoongArchVirt: Add build file Chao Li
2024-01-10  1:28   ` maobibo
2024-01-05  9:46 ` [edk2-devel] [PATCH v6 36/36] OvmfPkg/LoongArchVirt: Add self introduction file Chao Li
2024-01-10  1:28   ` maobibo
2024-01-08  1:35 ` gaoliming via groups.io [this message]
2024-01-08  2:41   ` [edk2-devel] 回复: [PATCH v6 00/36] Enable LoongArch virtual machine in edk2 Chao Li
     [not found] ` <17A76A50519959EC.16812@groups.io>
2024-01-08  3:21   ` [edk2-devel] [PATCH v6 19/36] ArmVirtPkg: Enable CpuMmio2Dxe Chao Li
     [not found] ` <17A76A543E440C35.16812@groups.io>
2024-01-08  3:24   ` [edk2-devel] [PATCH v6 22/36] ArmVirtPkg: Move the FdtSerialPortAddressLib to OvmfPkg Chao Li
     [not found] ` <17A76A5F07C7435C.16812@groups.io>
2024-01-08  3:24   ` [edk2-devel] [PATCH v6 23/36] ArmVirtPkg: Move two PCD variables into OvmfPkg Chao Li
     [not found] ` <17A76A601F9A93F4.25044@groups.io>
2024-01-08  3:25   ` [edk2-devel] [PATCH v6 24/36] ArmVirtPkg: Move PlatformBootManagerLib to OvmfPkg 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='02b101da41d3$0376e780$0a64b680$@byosoft.com.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