From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by spool.mail.gandi.net (Postfix) with ESMTPS id EAA66AC0D3B for ; Fri, 17 Nov 2023 09:57:57 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=D98Jku8lVljgO6a7K/5Z2/tYnWweBT2hib7F+ZwT6j4=; c=relaxed/simple; d=groups.io; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Transfer-Encoding; s=20140610; t=1700215076; v=1; b=Qepi0tNuN0J7+SI2IZRPtxH+bI8WSaHOFHKRDWca5bf9SC16in9jD/MaunbOMoMbffn2VniW b+rDfyuQ3zLvprnz+BwJ8hAEW3pht0bu1anOvUC7crE72WsQMheqcA7wEgV9uTJntReFIfcd+Qm Mny/viGIx+wsFCx6OGyhnJqI= X-Received: by 127.0.0.2 with SMTP id JbjxYY7687511xqtXr0GIvN3; Fri, 17 Nov 2023 01:57:56 -0800 X-Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.8295.1700215074956286003 for ; Fri, 17 Nov 2023 01:57:55 -0800 X-Received: from loongson.cn (unknown [10.2.9.245]) by gateway (Coremail) with SMTP id _____8Dx_+sfOVdle8Y6AA--.49176S3; Fri, 17 Nov 2023 17:57:51 +0800 (CST) X-Received: from code-server.gen (unknown [10.2.9.245]) by localhost.localdomain (Coremail) with SMTP id AQAAf8CxbS8bOVdlyjhFAA--.20682S2; Fri, 17 Nov 2023 17:57:47 +0800 (CST) From: "Chao Li" To: devel@edk2.groups.io Cc: Michael D Kinney , Liming Gao , Zhiguang Liu , Eric Dong , Ray Ni , Rahul Kumar , Gerd Hoffmann , Leif Lindholm , Ard Biesheuvel , Abner Chang , Daniel Schaefer , Sami Mujawar , Jiewen Yao , Jordan Justen , Andrei Warkentin , Laszlo Ersek , Sunil V L Subject: [edk2-devel] [PATCH v3 00/39] Enable LoongArch virtual machine in edk2 Date: Fri, 17 Nov 2023 17:57:42 +0800 Message-Id: <20231117095742.3605778-1-lichao@loongson.cn> MIME-Version: 1.0 X-CM-TRANSID: AQAAf8CxbS8bOVdlyjhFAA--.20682S2 X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQASCGVWzaoGGAAVsE X-Coremail-Antispam: 1Uk129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7 ZEXasCq-sGcSsGvfJ3UbIjqfuFe4nvWSU5nxnvy29KBjDU0xBIdaVrnUUvcSsGvfC2Kfnx nUUI43ZEXa7xR_UUUUUUUUU== Precedence: Bulk List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,lichao@loongson.cn List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: bUL2Ohqa5PSb8ld7jcfcUlWfx7686176AA= Content-Transfer-Encoding: 8bit X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=Qepi0tNu; dmarc=none; spf=pass (spool.mail.gandi.net: domain of bounce@groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce@groups.io 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 opinion: 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. Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Cc: Eric Dong Cc: Ray Ni Cc: Rahul Kumar Cc: Gerd Hoffmann Cc: Leif Lindholm Cc: Ard Biesheuvel Cc: Abner Chang Cc: Daniel Schaefer Cc: Sami Mujawar Cc: Jiewen Yao Cc: Jordan Justen Cc: Andrei Warkentin Cc: Laszlo Ersek Cc: Sunil V L Chao Li (39): 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 PeiServicesTablePointerLibReg MdePkg: Add method of LoongArch64 to PeiServicesTablePointerLibReg 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 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 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 ArmPkg/ArmPkg.dsc | 2 - .../Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.c | 556 ------ .../ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf | 47 - ArmVirtPkg/ArmVirt.dsc.inc | 2 +- ArmVirtPkg/ArmVirtCloudHv.dsc | 8 +- ArmVirtPkg/ArmVirtCloudHv.fdf | 2 +- ArmVirtPkg/ArmVirtKvmTool.dsc | 8 +- ArmVirtPkg/ArmVirtKvmTool.fdf | 2 +- ArmVirtPkg/ArmVirtPkg.dec | 21 - ArmVirtPkg/ArmVirtQemu.dsc | 10 +- ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 2 +- ArmVirtPkg/ArmVirtQemuKernel.dsc | 10 +- ArmVirtPkg/ArmVirtXen.dsc | 4 +- .../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 +- .../Library/PeiServicesTablePointerLib.h | 37 +- MdePkg/Include/Protocol/DebugSupport.h | 76 +- 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 + .../LoongArch64/PeiServicesTablePointerReg.c | 47 + .../PeiServicesTablePointer.c | 86 + .../PeiServicesTablePointerLib.uni | 20 + .../PeiServicesTablePointerLibReg.inf | 43 + MdePkg/MdePkg.ci.yaml | 3 +- MdePkg/MdePkg.dec | 6 + MdePkg/MdePkg.dsc | 1 + .../Include/Library/FdtSerialPortAddressLib.h | 0 .../FdtSerialPortAddressLib.c | 0 .../FdtSerialPortAddressLib.inf | 2 +- .../PlatformBootManagerLibLight}/PlatformBm.c | 0 .../PlatformBootManagerLibLight}/PlatformBm.h | 0 .../PlatformBootManagerLib.inf | 4 +- .../PlatformBootManagerLibLight}/QemuKernel.c | 0 .../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 | 816 +++++++++ .../EarlyFdtSerialPortLib16550.inf | 47 + .../EarlyFdt16550SerialPortHookLib.c | 55 + .../EarlyFdt16550SerialPortHookLib.inf | 37 + .../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 + .../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 | 679 +++++++ OvmfPkg/LoongArchVirt/LoongArchVirtQemu.fdf | 313 ++++ OvmfPkg/LoongArchVirt/PlatformPei/Fv.c | 40 + OvmfPkg/LoongArchVirt/PlatformPei/MemDetect.c | 201 +++ OvmfPkg/LoongArchVirt/PlatformPei/Platform.c | 393 ++++ OvmfPkg/LoongArchVirt/PlatformPei/Platform.h | 127 ++ .../LoongArchVirt/PlatformPei/PlatformPei.inf | 72 + OvmfPkg/LoongArchVirt/Readme.md | 67 + 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 | 22 + OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.c | 557 ------ .../RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf | 48 - OvmfPkg/RiscVVirt/RiscVVirtQemu.dsc | 4 +- OvmfPkg/RiscVVirt/RiscVVirtQemu.fdf | 2 +- 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/CpuIo2Dxe/CpuIo2Dxe.c | 147 +- UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.h | 2 + UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf | 8 +- UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.uni | 2 + UefiCpuPkg/Include/Library/CpuMmuLib.h | 155 ++ .../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 | 965 ++++++++++ .../LoongArch64CpuMmuLib/CommonMmuLib.h | 43 + .../LoongArch64CpuMmuLib/DxeCpuMmuLib.inf | 37 + .../LoongArch64CpuMmuLib/DxeCpuMmuLib.uni | 14 + .../LoongArch64CpuMmuLib/CommonMmuLib.c | 964 ++++++++++ .../LoongArch64CpuMmuLib/CommonMmuLib.h | 43 + .../LoongArch64CpuMmuLib/DxeCpuMmuLib.inf | 37 + .../LoongArch64CpuMmuLib/DxeCpuMmuLib.uni | 14 + .../LoongArch64CpuMmuLib/Page.h | 279 +++ .../LoongArch64CpuMmuLib/PeiCpuMmuLib.c | 165 ++ .../LoongArch64CpuMmuLib/PeiCpuMmuLib.inf | 44 + .../LoongArch64CpuMmuLib/PeiCpuMmuLib.uni | 14 + .../LoongArch64CpuMmuLib/Tlb.h | 48 + .../LoongArch64CpuMmuLib/TlbOperation.S | 44 + .../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 + 159 files changed, 18704 insertions(+), 1375 deletions(-) delete mode 100644 ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.c delete mode 100644 ArmPkg/Drivers/ArmPciCpuIo2Dxe/ArmPciCpuIo2Dxe.inf 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/PeiServicesTablePointerLibReg/LoongArch64/PeiServicesTablePointerReg.c create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/PeiServicesTablePointer.c create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/PeiServicesTablePointerLib.uni create mode 100644 MdePkg/Library/PeiServicesTablePointerLibReg/PeiServicesTablePointerLibReg.inf 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 (90%) 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 delete mode 100644 OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.c delete mode 100644 OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf 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/LoongArch64CpuMmuLib/CommonMmuLib.c create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/CommonMmuLib.h create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/DxeCpuMmuLib.inf create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/DxeCpuMmuLib.uni create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/Page.h create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/PeiCpuMmuLib.c create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/PeiCpuMmuLib.inf create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/PeiCpuMmuLib.uni create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/Tlb.h create mode 100644 UefiCpuPkg/Library/LoongArch64CpuMmuLib/LoongArch64CpuMmuLib/TlbOperation.S 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 (#111353): https://edk2.groups.io/g/devel/message/111353 Mute This Topic: https://groups.io/mt/102644735/7686176 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [rebecca@openfw.io] -=-=-=-=-=-=-=-=-=-=-=-