From: "Chao Li" <lichao@loongson.cn>
To: devel@edk2.groups.io, gaoliming@byosoft.com.cn
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: Re: [edk2-devel] 回复: [PATCH v6 00/36] Enable LoongArch virtual machine in edk2
Date: Mon, 8 Jan 2024 10:41:55 +0800 [thread overview]
Message-ID: <c0da3dbc-4bf6-4c0b-9631-5e6dbbe0010b@loongson.cn> (raw)
In-Reply-To: <02b101da41d3$0376e780$0a64b680$@byosoft.com.cn>
[-- Attachment #1: Type: text/plain, Size: 27740 bytes --]
Hi Liming,
Thanks,
Chao
On 2024/1/8 09:35, gaoliming via groups.io wrote:
> 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?
Of course, let me separate them in V7 and submit in a few days.
>
> 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 (#113342): https://edk2.groups.io/g/devel/message/113342
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]
-=-=-=-=-=-=-=-=-=-=-=-
[-- Attachment #2: Type: text/html, Size: 30676 bytes --]
next prev parent reply other threads:[~2024-01-08 2:42 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 ` [edk2-devel] 回复: [PATCH v6 00/36] Enable LoongArch virtual machine in edk2 gaoliming via groups.io
2024-01-08 2:41 ` Chao Li [this message]
[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=c0da3dbc-4bf6-4c0b-9631-5e6dbbe0010b@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