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 38D577803CC for ; Mon, 8 Jan 2024 01:36:10 +0000 (UTC) DKIM-Signature: a=rsa-sha256; bh=5SEyAsq53mh/vJyyumarlsXTc7bUdcWxSKBB1pBb1n4=; c=relaxed/simple; d=groups.io; h=From:To:Cc:References:In-Reply-To:Subject:Date:Message-ID:MIME-Version:Thread-Index:Precedence:List-Subscribe:List-Help:Sender:List-Id:Mailing-List:Delivered-To:Reply-To:List-Unsubscribe-Post:List-Unsubscribe:Content-Type:Content-Transfer-Encoding:Content-Language; s=20140610; t=1704677769; v=1; b=fvZ3H0PeuLGLHvOnYZksfUqcdRAX+8LWicVDabEhOfzvHbRWs/ugCK4VNqJjtdsgg1vRv4NB 0nGRXtyOKKJudm41KPfOHRL8RpFt/uGIXxe5e7xEsw/e8VRCQt7QbgZfeWgNzb2riFB9guz0U7P gHMSj2i7Z5f+eCtIrhCOwDjs= X-Received: by 127.0.0.2 with SMTP id trTAYY7687511x6wejT4ajoL; Sun, 07 Jan 2024 17:36:09 -0800 X-Received: from zrleap.intel-email.com (zrleap.intel-email.com [114.80.218.36]) by mx.groups.io with SMTP id smtpd.web11.30135.1704677767219688509 for ; Sun, 07 Jan 2024 17:36:09 -0800 X-Received: from zrleap.intel-email.com (localhost [127.0.0.1]) by zrleap.intel-email.com (Postfix) with ESMTP id 07D7AA32DFD7 for ; Mon, 8 Jan 2024 09:36:05 +0800 (CST) X-Received: from localhost (localhost [127.0.0.1]) by zrleap.intel-email.com (Postfix) with ESMTP id DBEE9A32E017 for ; Mon, 8 Jan 2024 09:36:04 +0800 (CST) X-Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by zrleap.intel-email.com (Postfix) with SMTP id 0CBD5A32E078 for ; Mon, 8 Jan 2024 09:36:01 +0800 (CST) X-Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP(SSL) for ; Mon, 08 Jan 2024 09:35:49 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 58.246.60.130 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming via groups.io" To: "'Chao Li'" , Cc: "'Michael D Kinney'" , "'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'" , "'Bibo Mao'" References: <20240105094118.2279380-1-lichao@loongson.cn> In-Reply-To: <20240105094118.2279380-1-lichao@loongson.cn> Subject: =?UTF-8?B?W2VkazItZGV2ZWxdIOWbnuWkjTogW1BBVENIIHY2IDAwLzM2XSBFbmFibGUgTG9vbmdBcmNoIHZpcnR1YWwgbWFjaGluZSBpbiBlZGsy?= Date: Mon, 8 Jan 2024 09:35:50 +0800 Message-ID: <02b101da41d3$0376e780$0a64b680$@byosoft.com.cn> MIME-Version: 1.0 Thread-Index: AQF/Ka2OXJC5a05pL3oWgdyzpCRCP7GFUarw 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,gaoliming@byosoft.com.cn List-Unsubscribe-Post: List-Unsubscribe=One-Click List-Unsubscribe: X-Gm-Message-State: EwivR8dY9TYVs52ecJ3Ss08yx7686176AA= Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: quoted-printable Content-Language: zh-cn X-GND-Status: LEGIT Authentication-Results: spool.mail.gandi.net; dkim=pass header.d=groups.io header.s=20140610 header.b=fvZ3H0Pe; 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 Chao: Thanks for your update. The changes in MdePkg are good to me. Reviewed-by= : Liming Gao But, I still have one minor comment on [PATCH v6 11/36] UefiCpuPkg: Add CPU exception library for LoongArch.=20 =20 Can you separate the change in MdePkg to another single commit?=20 Thanks Liming > -----=D3=CA=BC=FE=D4=AD=BC=FE----- > =B7=A2=BC=FE=C8=CB: Chao Li > =B7=A2=CB=CD=CA=B1=BC=E4: 2024=C4=EA1=D4=C25=C8=D5 17:41 > =CA=D5=BC=FE=C8=CB: devel@edk2.groups.io > =B3=AD=CB=CD: 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 > ; Bibo Mao > =D6=F7=CC=E2: [PATCH v6 00/36] Enable LoongArch virtual machine in edk2 >=20 > 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. >=20 > 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. >=20 > Patch15-Patch16: Add PrePiCpuIoSize for LoongArch64. and move ArmVirtPkg > two PCDs into OvmfPkg for easier use by other architectures. >=20 > Patch17-Patch29: LoongArch virtual machine private code, include SEC and > PEI phase code, some library and drivers. >=20 > Patch30: Add LoongArchVirt's self introduction-file. >=20 > Modfied modues: MdePkg, UefiCpuPkg, EmbeddedPkg, ArmVirtPkg, OvmfPkg. >=20 > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4584 >=20 > PR: https://github.com/tianocore/edk2/pull/5208 >=20 > **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. >=20 > **Changes from V2 to V3:** > Compared with V2, there are 9 more patches, removed 2 libraries and 1 > driver from OvmfPkg/LoongArchVrt. >=20 > 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 >=20 > 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. >=20 > 2. Move the FdtSerialProtAddressLib to OvmfPkg and enabled it on ARM and > LOONGARCH64. Questioner: Gerd, Laszlo. >=20 > 3. Add a new library in MdePkg named PeiServiceTablePointerLibReg for > the Register Mechanism and enabled it on LOONGARCH64. Questioner: > Laszlo. >=20 > 4. Moved the ARM version of PlatformBootManagerLib to OvmfPkg/Library, > and > enabled it on ARM and LOONGARCH64. Questioner: Laszlo, Gerd. >=20 > 5. Adjust the order of some inf file in ArmVirtPkg. Questioner: Sami. >=20 > 6. Move the CpuMmuLib.h some architecture-specific PTE #defines into > Csr.h. Questioner: Andrei. >=20 > **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. >=20 > 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. >=20 > 2. Renamed the PeiServiceTablePointLibReg to PeiServiceTablePointLibKs0. > Currently, this library is specific to LoongArch architecture. > Questioner: Laszlo, Liming. >=20 > 3. Adjust some logic of LoongArch64 CPU timer library. Using the safe > INT library and adjust the bit width of stable counter. Questioner: Laszlo. >=20 > 4. Removed some APIs from CpuMmuLib. Change some APIs to private. > Questioner: Ray. >=20 > **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. >=20 > For the review opinions: > 1. Copy ArmPciCpuIo2Dxe to UefiCpuPkg so that more other ARCHs can use > it easily. Questioner: Ray, Ard. >=20 > 2. Restore the changes of MdePkg/Include/Protocol/DebugSupport.h. > Questioner: Liming. >=20 > 3. Ia32 X64 and LoongArch64 use a same API definition, > InitializeFloatingPointUnits in CpuLib.h. Questioner: Liming. >=20 > 4. Adjust API definition in CpuMmuLib.h. Questioner: Ray. >=20 > **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. >=20 > 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 > Cc: Bibo Mao >=20 > 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 >=20 > 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 =3D> OvmfPkg}/Include/Library/FdtSerialPortAddressLib= .h > (100%) > rename {ArmVirtPkg =3D> > OvmfPkg}/Library/FdtSerialPortAddressLib/FdtSerialPortAddressLib.c (100%) > rename {ArmVirtPkg =3D> > OvmfPkg}/Library/FdtSerialPortAddressLib/FdtSerialPortAddressLib.inf (90%= ) > rename {ArmVirtPkg/Library/PlatformBootManagerLib =3D> > OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBm.c (100%) > rename {ArmVirtPkg/Library/PlatformBootManagerLib =3D> > OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBm.h (100%) > rename {ArmVirtPkg/Library/PlatformBootManagerLib =3D> > OvmfPkg/Library/PlatformBootManagerLibLight}/PlatformBootManagerLib.in > f (87%) > rename {ArmVirtPkg/Library/PlatformBootManagerLib =3D> > 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/EarlyFdtSerialPo= r > tLib16550.c > create mode 100644 > OvmfPkg/LoongArchVirt/Library/EarlyFdtSerialPortLib16550/EarlyFdtSerialPo= r > 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 =3D> > UefiCpuPkg/CpuMmio2Dxe/CpuMmio2Dxe.c (96%) > rename OvmfPkg/RiscVVirt/PciCpuIo2Dxe/PciCpuIo2Dxe.inf =3D> > 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 >=20 > -- > 2.27.0 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- 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] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-