From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from walk.intel-email.com (walk.intel-email.com [101.227.64.242]) by mx.groups.io with SMTP id smtpd.web10.14839.1665534065750533629 for ; Tue, 11 Oct 2022 17:21:08 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@byosoft.com.cn header.s=cloud-union header.b=MjQ9iptl; spf=pass (domain: byosoft.com.cn, ip: 101.227.64.242, mailfrom: gaoliming@byosoft.com.cn) Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 200C8CD1F70A for ; Wed, 12 Oct 2022 08:21:03 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=byosoft.com.cn; s=cloud-union; t=1665534063; bh=PJYarSkoVZF0e/Skrce1cV8JiO+a3gohE+TTagOPepA=; h=From:To:Cc:References:In-Reply-To:Subject:Date; b=MjQ9iptlbgJu/Q+EgsVrWpV14vOxcQZBMJwIf+/vqWcWODT6weM26PYkqWOgvjC82 r0EUCNgkKLASOghERutdNw2HjclaTdeOaxcVZQnkucn9a7sXFVCYstlo2GqhxARPC+ Yjy1XK4jBjnF0IVtQ/D53FGGetcic88fpXf+/XaI= Received: from localhost (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 1BEA3CD1F63E for ; Wed, 12 Oct 2022 08:21:03 +0800 (CST) Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id D7202CD1F670 for ; Wed, 12 Oct 2022 08:21:02 +0800 (CST) Authentication-Results: walk.intel-email.com; none Received: from mail.byosoft.com.cn (mail.byosoft.com.cn [58.240.74.242]) by walk.intel-email.com (Postfix) with SMTP id 7C34BCD1F64B for ; Wed, 12 Oct 2022 08:20:59 +0800 (CST) Received: from DESKTOPS6D0PVI ([58.246.60.130]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Wed, 12 Oct 2022 08:20:57 +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" To: , Cc: "'\"Ray_Ni\"'" , "'\"Michael_D_Kinney\"'" , "'\"Guomin_Jiang\"'" , "'\"Wei6_Xu\"'" , "'\"Maciej_Rabeda\"'" , "'\"Jiaxin_Wu\"'" , "'\"Siyuan_Fu\"'" , "'\"Jiewen_Yao\"'" , "'\"Jian_J_Wang\"'" , "'\"Xiaoyu_Lu\"'" , "'\"Zhiguang_Liu\"'" , "'\"Zhichao_Gao\"'" , "'\"Bob_Feng\"'" , "'\"Yuwei_Chen\"'" References: <171BFD106AA206F3.26570@groups.io> <8E708030-54F4-491F-8A87-08A00CC89660@getmailspring.com> In-Reply-To: <8E708030-54F4-491F-8A87-08A00CC89660@getmailspring.com> Subject: =?UTF-8?B?5Zue5aSNOiBbZWRrMi1kZXZlbF0gW1BBVENIIHYzIDAwLzM0XSBBZGQgYSBuZXcgYXJjaGl0ZWN0dXJlIGNhbGxlZCBMb29uZ0FyY2ggaW4gRURLIElJ?= Date: Wed, 12 Oct 2022 08:20:58 +0800 Message-ID: <01b501d8ddd0$80a06140$81e123c0$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQHoiOGPpQTqwskwSUaeCxHw/yEsCgIcVzjrrdmsV+A= Sender: "gaoliming" Content-Type: multipart/alternative; boundary="----=_NextPart_000_01B6_01D8DE13.8EC74AC0" Content-Language: zh-cn ------=_NextPart_000_01B6_01D8DE13.8EC74AC0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Chao: I will check this PR, and merge it this week if no other comment. =20 Thanks Liming =E5=8F=91=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io = =E4=BB=A3=E8=A1=A8 Chao Li =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2022=E5=B9=B410=E6=9C=8811=E6=97=A5 1= 1:33 =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io; lichao@loongson.cn =E6=8A=84=E9=80=81: " devel@edk2.groups.io " ; "Ray_N= i" ; "Liming_Gao" ; "Michael_D_= Kinney" ; "Guomin_Jiang" ; "Wei6_Xu" ; "Maciej_Rabeda" ; "Jiaxin_Wu" ; "Siyuan_Fu" ; "Jiewen_Yao" ; "Jian_J_Wang" ; "Xiaoyu_Lu" ; "Zhiguang_Liu" ; "Zhichao_Gao" ; "Bob_Feng" ; "Yuwei_Chen" =E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v3 00/34] Add a new architectur= e called LoongArch in EDK II =20 Hi All, I have created a PR in EDK2 repo: https://github.com/tianocore/edk2/pull/34= 57 , and all the E= DK2 CI passed, so I think LoongArch port is ready to be enabled, I request = to merge the LoongArch base code into EDK2 master branch.=20 =20 Thanks, Chao -------- On 10=E6=9C=88 8 2022, at 12:18 =E4=B8=AD=E5=8D=88, "Chao Li" > wrote: Hi All, I have updated LoongArch repo, the CI has passed, please check again: https://dev.azure.com/kilaterlee/LoongArch_edk2/_build/results?buildId=3D77= &v= iew=3Dresults =20 =20 Thanks, Chao -------- =20 On 10=E6=9C=88 1 2022, at 8:54 =E6=97=A9=E4=B8=8A, "Chao Li" > wrote: Hi All, Today, all of LoongArch patches have been approved, a big thank you to all = the maintainers! =20 I have updated the LoongArch code repo to the EDK2 latest commit, applied t= he LoongArch patches based on it, and CI passed. =20 LoongArch repo URL: https://github.com/loongson/edk2/tree/LoongArch CI results: https://dev.azure.com/kilaterlee/LoongArch_edk2/_build/results?= buildId=3D75 &view=3Dresults =20 I think the LoongArch port is ready to merge into the EDK2 master branch, i= f so please help me merge them. Please let me know if something should I do= next. =20 -- Thanks, Chao =20 > -----=E5=8E=9F=E5=A7=8B=E9=82=AE=E4=BB=B6----- > =E5=8F=91=E4=BB=B6=E4=BA=BA: "Chao Li" > > =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4:2022-09-27 19:13:20 (=E6=98=9F=E6=9C= =9F=E4=BA=8C) > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io =20 > =E6=8A=84=E9=80=81: "Ray Ni" = >, "Liming Gao" = >, "Michael D Kinney" >, "Guomin Jiang" >, "Wei6 Xu" >, "M= aciej Rabeda" >, "Jiaxin Wu" >= , "Siyuan Fu" >, "Jiewen = Yao" >, "Jian J Wang" <= jian.j.wang@intel.com >, "Xiaoyu Lu" >, "Zhiguang Liu" >, "Zhichao Gao" >, "Bob Feng" >, "Yuwei Chen" > > =E4=B8=BB=E9=A2=98: [edk2-devel] [PATCH v3 00/34] Add a new architecture = called LoongArch in EDK II >=20 > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 >=20 > UEFI Spec V2.10 already supports LoongArch and all changes of this > commit passwed Azure CI testing, so let's enable it in EDK2. This commit > contains 35 patches, with patch 0 is the cover and the rest being the > LoongArch base code. >=20 > Changes from v1 to v2: > 1. For patch 0008, added IANA website link in the commit message and > Dhcp.h. > 2. Added IANA, Microsft and UEFI specification links in every patch > commit message that uses them. > 3. For patch 0023, LoongArch64 supports unaligned access operations, so > use the unaligned read/write generic implementation. Added Barrier.S > file to provide barrier operations for LoongArch. > 4. For patch 0024, convert inline assembly code to ASM code. > 5. Added the BZ link in every patch commit message. >=20 > Changes from v2 to v3: > 1. Added all reviewer in the correspondings patches. > 2. For patch 0029, converted LoongArch synchronization operations from > inline assembly code to ASM code. > 3. For patch 0015, 0016, 0017, changed the commit message for more > clarity. > 4. For patch 0034, move it to patch 0018, as it also changes the BaseTool= s. >=20 > Please refer to this URL for the code repo of LoongArch64: > https://github.com/loongson/edk2/tree/LoongArch >=20 > Fore more documents of LoongArch please refer to following URL: > https://loongson.github.io/LoongArch-Documentation/README-EN.html >=20 > Modified modules: FatPkg, FmpDevicePkg, NetworkPkg, > NetworkPkg/HttpBootDxe, CryptoPkg, MdePkg/Include, SecurityPkg, > ShellPkg, UnitTestFrameworkPkg, MdePkg/DxeServicesLib, MdeModulePkg, > .python/SpellCheck, BaseTools, .azurepipelines, .pytool, MdePkg, > MdeModulePkg and MdePkg/MdePkg.ci.yaml. >=20 > Cc: Ray Ni > > Cc: Liming Gao > > Cc: Michael D Kinney > > Cc: Guomin Jiang = > > Cc: Wei6 Xu > > Cc: Maciej Rabeda > > Cc: Jiaxin Wu > > Cc: Siyuan Fu > > Cc: Jiewen Yao > > Cc: Jian J Wang > > Cc: Xiaoyu Lu > > Cc: Zhiguang Liu = > > Cc: Zhichao Gao > > Cc: Bob Feng > > Cc: Yuwei Chen > >=20 > Chao Li (34): > MdePkg: Added file of DebugSupport.h to MdePkg.ci.yaml > MdePkg: Added LoongArch jump buffer register definition to > MdePkg.ci.yaml > FatPkg: Add LOONGARCH64 architecture for EDK2 CI. > FmpDevicePkg: Add LOONGARCH64 architecture for EDK2 CI. > NetworkPkg: Add LOONGARCH64 architecture for EDK2 CI. > NetworkPkg/HttpBootDxe: Add LOONGARCH64 architecture for EDK2 CI. > CryptoPkg: Add LOONGARCH64 architecture for EDK2 CI. > MdePkg/Include: Add LOONGARCH related definitions EDK2 CI. > SecurityPkg: Add LOONGARCH64 architecture for EDK2 CI. > ShellPkg: Add LOONGARCH64 architecture for EDK2 CI. > UnitTestFrameworkPkg: Add LOONGARCH64 architecture for EDK2 CI. > MdePkg/DxeServicesLib: Add LOONGARCH64 architecture > MdeModulePkg: Use LockBoxNullLib for LOONGARCH64 > .python/SpellCheck: Add "Loongson" and "LOONGARCH" to "words" section > BaseTools: Update GenFw/GenFv to support LoongArch platform. > BaseTools: Updated for GCC5 tool chain for LoongArch platfrom. > BaseTools: Updated build tools to support new LoongArch. > BaseTools: Add LoongArch64 binding. > BaseTools: Enable LoongArch64 architecture for LoongArch64 EDK2 CI. > .azurepipelines: Add LoongArch64 architecture on LoongArch64 EDK2 CI. > .pytool: Add LoongArch64 architecture on LoongArch64 EDK2 CI. > MdePkg: Add LoongArch LOONGARCH64 binding > MdePkg/Include: LoongArch definitions. > MdePkg/BaseLib: BaseLib for LOONGARCH64 architecture. > MdePkg/BaseCacheMaintenanceLib: LoongArch cache maintenance > implementation. > MdePkg/BaseIoLibIntrinsic: IoLibNoIo for LoongArch architecture. > MdePkg/BasePeCoff: Add LoongArch PE/Coff related code. > MdePkg/BaseCpuLib: LoongArch Base CPU library implementation. > MdePkg/BaseSynchronizationLib: LoongArch cache related code. > MdePkg/BaseSafeIntLib: Add LoongArch64 architecture for > BaseSafeIntLib. > MdeModulePkg/Logo: Add LoongArch64 architecture. > MdeModulePkg/CapsuleRuntimeDxe: Add LoongArch64 architecture. > MdeModulePkg/DxeIplPeim : LoongArch DxeIPL implementation. > NetworkPkg: Add LoongArch64 architecture. >=20 > .azurepipelines/Ubuntu-GCC5.yml | 3 +- > .pytool/CISettings.py | 5 +- > .pytool/Plugin/SpellCheck/cspell.base.yaml | 4 +- > ...gcc_loongarch64_unknown_linux_ext_dep.yaml | 22 ++ > BaseTools/Conf/tools_def.template | 54 +++- > .../LinuxGcc5ToolChain/LinuxGcc5ToolChain.py | 31 ++ > BaseTools/Source/C/Common/BasePeCoff.c | 15 +- > BaseTools/Source/C/Common/PeCoffLoaderEx.c | 79 +++++ > BaseTools/Source/C/GNUmakefile | 3 + > BaseTools/Source/C/GenFv/GenFvInternalLib.c | 125 +++++++- > BaseTools/Source/C/GenFw/Elf64Convert.c | 293 +++++++++++++++++- > BaseTools/Source/C/GenFw/elf_common.h | 94 ++++++ > .../C/Include/IndustryStandard/PeImage.h | 57 ++-- > .../C/Include/LoongArch64/ProcessorBind.h | 80 +++++ > BaseTools/Source/C/Makefiles/header.makefile | 6 + > BaseTools/Source/Python/Common/DataType.py | 21 +- > .../Source/Python/UPT/Library/DataType.py | 24 +- > BaseTools/Source/Python/build/buildoptions.py | 3 +- > CryptoPkg/CryptoPkg.dsc | 3 +- > .../Library/BaseCryptLib/BaseCryptLib.inf | 6 +- > .../Library/BaseCryptLib/RuntimeCryptLib.inf | 4 + > .../BaseCryptLibNull/BaseCryptLibNull.inf | 3 +- > .../BaseCryptLibOnProtocolPpi/DxeCryptLib.inf | 3 +- > .../BaseCryptLibOnProtocolPpi/PeiCryptLib.inf | 3 +- > CryptoPkg/Library/Include/CrtLibSupport.h | 3 +- > CryptoPkg/Library/OpensslLib/OpensslLib.inf | 2 + > .../Library/OpensslLib/OpensslLibCrypto.inf | 2 + > CryptoPkg/Library/TlsLib/TlsLib.inf | 3 +- > CryptoPkg/Library/TlsLibNull/TlsLibNull.inf | 3 +- > FatPkg/FatPkg.dsc | 3 +- > FmpDevicePkg/FmpDevicePkg.dsc | 3 +- > MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 6 +- > .../Core/DxeIplPeim/LoongArch64/DxeLoadFunc.c | 63 ++++ > MdeModulePkg/Logo/Logo.inf | 3 +- > MdeModulePkg/MdeModulePkg.dsc | 4 +- > .../CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | 9 +- > MdePkg/Include/IndustryStandard/Dhcp.h | 45 +-- > MdePkg/Include/IndustryStandard/PeImage.h | 9 + > MdePkg/Include/Library/BaseLib.h | 24 ++ > MdePkg/Include/LoongArch64/ProcessorBind.h | 120 +++++++ > MdePkg/Include/Protocol/DebugSupport.h | 107 ++++++- > MdePkg/Include/Protocol/PxeBaseCode.h | 3 + > MdePkg/Include/Uefi/UefiBaseType.h | 14 + > MdePkg/Include/Uefi/UefiSpec.h | 16 +- > .../BaseCacheMaintenanceLib.inf | 6 +- > .../BaseCacheMaintenanceLib/LoongArchCache.c | 254 +++++++++++++++ > MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 7 +- > MdePkg/Library/BaseCpuLib/BaseCpuLib.uni | 5 +- > .../BaseCpuLib/LoongArch/CpuFlushTlb.S | 15 + > .../Library/BaseCpuLib/LoongArch/CpuSleep.S | 15 + > .../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf | 10 +- > MdePkg/Library/BaseIoLibIntrinsic/IoLibNoIo.c | 3 +- > MdePkg/Library/BaseLib/BaseLib.inf | 16 +- > MdePkg/Library/BaseLib/LoongArch64/Barrier.S | 28 ++ > .../BaseLib/LoongArch64/CpuBreakpoint.S | 24 ++ > MdePkg/Library/BaseLib/LoongArch64/CpuPause.S | 31 ++ > .../BaseLib/LoongArch64/DisableInterrupts.S | 21 ++ > .../BaseLib/LoongArch64/EnableInterrupts.S | 21 ++ > .../BaseLib/LoongArch64/GetInterruptState.S | 35 +++ > .../BaseLib/LoongArch64/InternalSwitchStack.c | 58 ++++ > .../Library/BaseLib/LoongArch64/MemoryFence.S | 18 ++ > .../BaseLib/LoongArch64/SetJumpLongJump.S | 49 +++ > .../Library/BaseLib/LoongArch64/SwitchStack.S | 39 +++ > MdePkg/Library/BasePeCoffLib/BasePeCoff.c | 3 +- > .../Library/BasePeCoffLib/BasePeCoffLib.inf | 5 + > .../Library/BasePeCoffLib/BasePeCoffLib.uni | 2 + > .../BasePeCoffLib/LoongArch/PeCoffLoaderEx.c | 137 ++++++++ > .../Library/BaseSafeIntLib/BaseSafeIntLib.inf | 9 +- > .../BaseSynchronizationLib.inf | 6 + > .../LoongArch64/AsmSynchronization.S | 122 ++++++++ > .../LoongArch64/Synchronization.c | 233 ++++++++++++++ > .../Library/DxeServicesLib/DxeServicesLib.inf | 4 +- > MdePkg/MdePkg.ci.yaml | 13 + > MdePkg/MdePkg.dec | 4 + > MdePkg/MdePkg.dsc | 3 +- > NetworkPkg/HttpBootDxe/HttpBootDhcp4.h | 3 + > NetworkPkg/Network.dsc.inc | 3 +- > NetworkPkg/NetworkPkg.dsc | 3 +- > SecurityPkg/SecurityPkg.dsc | 3 +- > ShellPkg/ShellPkg.dsc | 3 +- > UnitTestFrameworkPkg/UnitTestFrameworkPkg.dsc | 3 +- > 81 files changed, 2478 insertions(+), 119 deletions(-) > create mode 100644 BaseTools/Bin/gcc_loongarch64_unknown_linux_ext_dep.ya= ml > create mode 100644 BaseTools/Source/C/Include/LoongArch64/ProcessorBind.h > create mode 100644 MdeModulePkg/Core/DxeIplPeim/LoongArch64/DxeLoadFunc.c > create mode 100644 MdePkg/Include/LoongArch64/ProcessorBind.h > create mode 100644 MdePkg/Library/BaseCacheMaintenanceLib/LoongArchCache.= c > create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/CpuFlushTlb.S > create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/CpuSleep.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Barrier.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/CpuBreakpoint.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/CpuPause.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/DisableInterrupts.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/EnableInterrupts.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/GetInterruptState.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/InternalSwitchStack= .c > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/MemoryFence.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/SetJumpLongJump.S > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/SwitchStack.S > create mode 100644 MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.= c > create mode 100644 MdePkg/Library/BaseSynchronizationLib/LoongArch64/AsmS= ynchronization.S > create mode 100644 MdePkg/Library/BaseSynchronizationLib/LoongArch64/Sync= hronization.c >=20 > -- > 2.27.0 >=20 >=20 >=20 >=20 >=20 =20 =E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E5=90=AB=E6= =9C=89=E9=BE=99=E8=8A=AF=E4=B8=AD=E7=A7=91=E7=9A=84=E5=95=86=E4=B8=9A=E7=A7= =98=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB=85=E9=99=90=E4=BA=8E=E5=8F=91= =E9=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0=E5=9D=80=E4=B8=AD=E5=88=97=E5= =87=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7=BE=A4=E7=BB=84=E3=80=82=E7=A6= =81=E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB=96=E4=BA=BA=E4=BB=A5=E4=BB=BB= =E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8=EF=BC=88=E5=8C=85=E6=8B=AC=E4= =BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9=83=A8=E6=88=96=E9=83=A8=E5=88= =86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4=8D=E5=88=B6=E6=88=96=E6=95=A3= =E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6=E9=99=84=E4= =BB=B6=E4=B8=AD=E7=9A=84=E4=BF=A1=E6=81=AF=E3=80=82=E5=A6=82=E6=9E=9C=E6=82= =A8=E9=94=99=E6=94=B6=E6=9C=AC=E9=82=AE=E4=BB=B6=EF=BC=8C=E8=AF=B7=E6=82=A8= =E7=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96=E9=82=AE=E4=BB=B6=E9=80=9A=E7= =9F=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5=88=A0=E9=99=A4=E6=9C=AC=E9=82= =AE=E4=BB=B6=E3=80=82 This email and its attachments contain confidential information from Loongs= on Technology , which is intended only for the person or entity whose addre= ss is listed above. Any use of the information contained herein in any way = (including, but not limited to, total or partial disclosure, reproduction o= r dissemination) by persons other than the intended recipient(s) is prohibi= ted. If you receive this email in error, please notify the sender by phone = or email immediately and delete it. =20 ------=_NextPart_000_01B6_01D8DE13.8EC74AC0 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Chao:

=C2=A0I= will check this PR, and merge it this week if no other comment.=

 

Thanks

Liming

=E5=8F=91=E4=BB=B6=E4=BA= =BA: devel@edk2.groups.io <devel@= edk2.groups.io> =E4=BB=A3=E8=A1=A8 Chao Li
<= span style=3D'font-size:11.0pt;font-family:=E7=AD=89=E7=BA=BF'>=E5=8F=91=E9= =80=81=E6=97=B6=E9=97=B4: 2022=E5=B9=B4<= span lang=3DEN-US>10=E6=9C=8811=E6=97=A5 11:33
=E6=94=B6=E4=BB=B6=E4=BA=BA: devel@edk2.groups.io; lichao@loong= son.cn
=E6=8A=84=E9=80=81: " devel@edk2.groups.io " <devel@edk2.groups.io&g= t;; "Ray_Ni" <ray.ni@intel.com>; "Liming_Gao" <= ;gaoliming@byosoft.com.cn>; "Michael_D_Kinney" <michael.d.k= inney@intel.com>; "Guomin_Jiang" <guomin.jiang@intel.com>= ;; "Wei6_Xu" <wei6.xu@intel.com>; "Maciej_Rabeda"= <maciej.rabeda@linux.intel.com>; "Jiaxin_Wu" <jiaxin.wu= @intel.com>; "Siyuan_Fu" <siyuan.fu@intel.com>; "Ji= ewen_Yao" <jiewen.yao@intel.com>; "Jian_J_Wang" <ji= an.j.wang@intel.com>; "Xiaoyu_Lu" <xiaoyu1.lu@intel.com>= ; "Zhiguang_Liu" <zhiguang.liu@intel.com>; "Zhichao_Ga= o" <zhichao.gao@intel.com>; "Bob_Feng" <bob.c.feng@= intel.com>; "Yuwei_Chen" <yuwei.chen@intel.com>
=E4=B8=BB=E9=A2=98: R= e: [edk2-devel] [PATCH v3 00/34] Add a new architecture called LoongArch in= EDK II

 

Hi All,

I have created a PR in EDK2 repo: https://github.com/tianocore/edk2/pull/3457, a= nd all the EDK2 CI passed, so I think LoongArch port is ready to be enabled= , I request to merge the LoongArch base code into EDK2 master branch. =

 <= /o:p>


Thanks,
Chao
--------

On 10=E6=9C=88 8 2022, at 12:18 =E4=B8=AD=E5=8D=88, "Chao Li" <lichao@loongson.cn> wrote:

Hi All,

I have updated LoongArch repo, the CI has passed,= please check again:

 

 

Thanks,

Chao=

--------

 

On 10=E6= =9C=88 1 2022, at 8:54 =E6=97=A9=E4=B8=8A, "Chao Li" <= lichao@loongson.cn> wrote:

Hi All,

Today, all of LoongArch patches have been approved= , a big thank you to all the maintainers!

 

I have updated the LoongArch code repo to t= he EDK2 latest commit, applied the LoongArch patches based on it, and CI pa= ssed.

 

Loon= gArch repo URL: https://github.com/loongson/edk2/tree/LoongArch

<= /div>

 

I think the LoongArch port is ready to mer= ge into the EDK2 master branch, if so please help me merge them. Please let= me know if something should I do next.

 <= /o:p>

--<= /span>

Thanks,

Chao=

 <= /o:p>

> -----=E5=8E=9F=E5=A7=8B=E9=82=AE=E4=BB=B6-----<= /span>

> = =E5=8F=91=E4=BB=B6=E4=BA=BA: "Chao Li" <lichao@loongson.cn>

> =E5= =8F=91=E9=80=81=E6=97=B6=E9=97=B4:2022-09-27 19:13:20 (<= /span>=E6=98=9F=E6=9C=9F=E4=BA=8C)

=

> =E6=94=B6=E4= =BB=B6=E4=BA=BA: devel@edk2.groups.io

> =E6=8A=84=E9=80=81: &= quot;Ray Ni" <ray.ni@intel.com<= /a>>, "Liming Gao" <gaoliming@byosoft.com.cn>, "Michael D Kinney" <michael.d.kinney@intel.com&g= t;, "Guomin Jiang" <= guomin.jiang@intel.com>, "Wei6 Xu" <wei6.xu@intel.com>, "Maciej Rabeda" <= maciej.rabeda@linux.intel.= com>, "Jiaxin Wu" <jiaxin.wu@intel.com>, "Siyuan Fu" <siyuan.fu@intel.com>, "Jiewen Yao" &= lt;jiewen.yao@intel.com>, &q= uot;Jian J Wang" <jian.j.w= ang@intel.com>, "Xiaoyu Lu" <xiaoyu1.lu@intel.com>, "Zhiguang Liu" <zhiguang.liu@intel.com>, &qu= ot;Zhichao Gao" <zhichao.g= ao@intel.com>, "Bob Feng" <bob.c.feng@intel.com>, "Yuwei Chen" <yuwei.chen@intel.com>

> =E4= =B8=BB=E9=A2=98: [edk2-devel] [PATCH v3 00/34] Add a new= architecture called LoongArch in EDK II

> 

> 

> UEFI Spec V2.10 already supports Lo= ongArch and all changes of this

> commit passwed Azure CI testing, so let's= enable it in EDK2. This commit

> contains 35 patches, with patch 0 is the = cover and the rest being the

> LoongArch base code.

> 

> Changes from = v1 to v2:

> 1. For patch 0008, added IANA website link in the commit mess= age and

> Dhcp.h.

> 2. Added IANA, Microsft and UEFI specification links in= every patch

> commit message that uses them.

> 3. For patch 0023, LoongArc= h64 supports unaligned access operations, so

> use the unaligned read/write= generic implementation. Added Barrier.S

> file to provide barrier operatio= ns for LoongArch.

> 4. For patch 0024, convert inline assembly code to ASM = code.

> 5. Added the BZ link in every patch commit message.

> 

> Chang= es from v2 to v3:

> 1. Added all reviewer in the correspondings patches.

> = 2. For patch 0029, converted LoongArch synchronization operations from=

> in= line assembly code to ASM code.

> 3. For patch 0015, 0016, 0017, changed th= e commit message for more

> clarity.

> 4. For patch 0034, move it to patch = 0018, as it also changes the BaseTools.

> 

=

> Please refer to this URL = for the code repo of LoongArch64:

>=  

> Fore more documents of LoongArch please refer to following URL:

><= o:p> 

> Modified modules: FatPkg, FmpDevicePkg, NetworkPkg,

> NetworkPkg/Ht= tpBootDxe, CryptoPkg, MdePkg/Include, SecurityPkg,

> ShellPkg, UnitTestFram= eworkPkg, MdePkg/DxeServicesLib, MdeModulePkg,

<= div>

> .python/SpellCheck, BaseTo= ols, .azurepipelines, .pytool, MdePkg,

> MdeModulePkg and MdePkg/MdePkg.ci.= yaml.

> 

> Cc: Ray Ni <ray.ni@i= ntel.com>

> Cc: Liming Gao <gaoliming@byosoft.com.cn>

> Cc: Michael D Kinney <michael.d.kinney@intel.com>

>= Cc: Guomin Jiang <guomin.jian= g@intel.com>

> Cc: Wei6 Xu <= wei6.xu@intel.com>

> Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>

> Cc: Jiaxin = Wu <jiaxin.wu@intel.com>

>= Cc: Siyuan Fu <siyuan.fu@intel.c= om>

> Cc: Jiewen Yao <ji= ewen.yao@intel.com>

> Cc: Jian J Wang <jian.j.wang@intel.com>

> Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com>

> Cc: Zhiguang L= iu <zhiguang.liu@intel.com= >

> Cc: Zhichao Gao <zhichao= .gao@intel.com>

> Cc: Bob Feng <bob.c.feng@intel.com>

> Cc: Yuwei Chen <yuwei.chen@intel.com>

> 

> Chao Li (34):<= o:p>

>= ; MdePkg: Added file of DebugSupport.h to MdePkg.ci.yaml<= /p>

> MdePkg: Added Lo= ongArch jump buffer register definition to

=

> MdePkg.ci.yaml

> FatPkg: Add L= OONGARCH64 architecture for EDK2 CI.

> FmpDevicePkg: Add LOONGARCH64 archit= ecture for EDK2 CI.

> NetworkPkg: Add LOONGARCH64 architecture for EDK2 CI.=

&g= t; NetworkPkg/HttpBootDxe: Add LOONGARCH64 architecture for EDK2 CI.

> Cryp= toPkg: Add LOONGARCH64 architecture for EDK2 CI.

> MdePkg/Include: Add LOON= GARCH related definitions EDK2 CI.

> SecurityPkg: Add LOONGARCH64 architect= ure for EDK2 CI.

> ShellPkg: Add LOONGARCH64 architecture for EDK2 CI.=

> Un= itTestFrameworkPkg: Add LOONGARCH64 architecture for EDK2 CI.

> MdePkg/DxeS= ervicesLib: Add LOONGARCH64 architecture

> MdeModulePkg: Use LockBoxNullLib= for LOONGARCH64

> .python/SpellCheck: Add "Loongson" and "L= OONGARCH" to "words" section

> BaseTools: Update GenFw/GenFv= to support LoongArch platform.

> BaseTools: Updated for GCC5 tool chain fo= r LoongArch platfrom.

= > BaseTools: Updated build tools to support new Loong= Arch.

> BaseTools: Add LoongArch64 binding.

> BaseTools: Enable LoongArch64= architecture for LoongArch64 EDK2 CI.

> .azurepipelines: Add LoongArch64 a= rchitecture on LoongArch64 EDK2 CI.

> .pytool: Add LoongArch64 architecture= on LoongArch64 EDK2 CI.

> MdePkg: Add LoongArch LOONGARCH64 binding

> MdeP= kg/Include: LoongArch definitions.

> MdePkg/BaseLib: BaseLib for LOONGARCH6= 4 architecture.

> MdePkg/BaseCacheMaintenanceLib: LoongArch cache maintenan= ce

= > implementation.

<= span lang=3DEN-US>> MdePkg/BaseIoLibIntrinsic: IoLibNoIo for LoongArch a= rchitecture.

> MdePkg/BasePeCoff: Add LoongArch PE/Coff related code.<= /o:p>

> Mde= Pkg/BaseCpuLib: LoongArch Base CPU library implementation.

> MdePkg/BaseSyn= chronizationLib: LoongArch cache related code.

<= div>

> MdePkg/BaseSafeIntLib: Add= LoongArch64 architecture for

> BaseSafeIntLib.

=

> MdeModulePkg/Logo: Add Lo= ongArch64 architecture.

> MdeModulePkg/CapsuleRuntimeDxe: Add LoongArch64 a= rchitecture.

> MdeModulePkg/DxeIplPeim : LoongArch DxeIPL implementation.

>= NetworkPkg: Add LoongArch64 architecture.

=

> 

> .azurepipelines/Ubuntu= -GCC5.yml | 3 +-

> .pytool/CISettings.py | 5 +-

=

> .pytool/Plugin/SpellCheck= /cspell.base.yaml | 4 +-

> ...gcc_loongarch64_unknown_linux_ext_dep.yaml | = 22 ++

> BaseTools/Conf/tools_def.template | 54 +++-

> .../LinuxGcc5ToolChai= n/LinuxGcc5ToolChain.py | 31 ++

> BaseTools/Source/C/Common/BasePeCoff.c | = 15 +-

> BaseTools/Source/C/Common/PeCoffLoaderEx.c | 79 +++++

> BaseTools/S= ource/C/GNUmakefile | 3 +

> BaseTools/Source/C/GenFv/GenFvInternalLib.c | 1= 25 +++++++-

> BaseTools/Source/C/GenFw/Elf64Convert.c | 293 +++++++++++++++= ++-

> BaseTools/Source/C/GenFw/elf_common.h | 94 ++++++

> .../C/Include/Ind= ustryStandard/PeImage.h | 57 ++--

> .../C/Include/LoongArch64/ProcessorBin= d.h | 80 +++++

> BaseTools/Source/C/Makefiles/header.makefile | 6 +

> BaseT= ools/Source/Python/Common/DataType.py | 21 +-

> .../Source/Python/UPT/Libra= ry/DataType.py | 24 +-

> BaseTools/Source/Python/build/buildoptions.py | 3 = +-

= > CryptoPkg/CryptoPkg.dsc | 3 +-

> .../Library/BaseCryptLib/BaseCryptLib= .inf | 6 +-

> .../Library/BaseCryptLib/RuntimeCryptLib.inf | 4 +=

> .../Base= CryptLibNull/BaseCryptLibNull.inf | 3 +-

> .../BaseCryptLibOnProtocolPpi/Dx= eCryptLib.inf | 3 +-

<= span lang=3DEN-US>> .../BaseCryptLibOnProtocolPpi/PeiCryptLib.inf | 3 +-=

&g= t; CryptoPkg/Library/Include/CrtLibSupport.h | 3 +-

> CryptoPkg/Library/Ope= nsslLib/OpensslLib.inf | 2 +

> .../Library/OpensslLib/OpensslLibCrypto.inf = | 2 +

> CryptoPkg/Library/TlsLib/TlsLib.inf | 3 +-

> CryptoPkg/Library/TlsL= ibNull/TlsLibNull.inf | 3 +-

> FatPkg/FatPkg.dsc | 3 +-

> FmpDevicePkg/FmpD= evicePkg.dsc | 3 +-

> MdeModulePkg/Core/DxeIplPeim/DxeIpl.inf | 6 +-

> .../= Core/DxeIplPeim/LoongArch64/DxeLoadFunc.c | 63 ++++

> MdeModulePkg/Logo/Log= o.inf | 3 +-

> MdeModulePkg/MdeModulePkg.dsc | 4 +-

> .../CapsuleRuntimeDxe= /CapsuleRuntimeDxe.inf | 9 +-

> MdePkg/Include/IndustryStandard/Dhcp.h | 45= +--

> MdePkg/Include/IndustryStandard/PeImage.h | 9 +

> MdePkg/Include/Lib= rary/BaseLib.h | 24 ++

> MdePkg/Include/LoongArch64/ProcessorBind.h | 120 += ++++++

> MdePkg/Include/Protocol/DebugSupport.h | 107 ++++++-

> MdePkg/Incl= ude/Protocol/PxeBaseCode.h | 3 +

> MdePkg/Include/Uefi/UefiBaseType.h | 1= 4 +

> MdePkg/Include/Uefi/UefiSpec.h | 16 +-

> .../BaseCacheMaintenanceLib.= inf | 6 +-

> .../BaseCacheMaintenanceLib/LoongArchCache.c | 254 ++++++++++= +++++

> MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 7 +-

> MdePkg/Library/Ba= seCpuLib/BaseCpuLib.uni | 5 +-

> .../BaseCpuLib/LoongArch/CpuFlushTlb.S | 1= 5 +

> .../Library/BaseCpuLib/LoongArch/CpuSleep.S | 15 +<= /p>

> .../BaseIoLibInt= rinsic/BaseIoLibIntrinsic.inf | 10 +-

> MdePkg/Library/BaseIoLibIntrinsic/I= oLibNoIo.c | 3 +-

> MdePkg/Library/BaseLib/BaseLib.inf | 16 +-

> MdePkg/Lib= rary/BaseLib/LoongArch64/Barrier.S | 28 ++

=

> .../BaseLib/LoongArch64/CpuBre= akpoint.S | 24 ++

> MdePkg/Library/BaseLib/LoongArch64/CpuPause.S | 31 ++

>= .../BaseLib/LoongArch64/DisableInterrupts.S | 21 ++

<= /div>

> .../BaseLib/LoongArc= h64/EnableInterrupts.S | 21 ++

> .../BaseLib/LoongArch64/GetInterruptState.= S | 35 +++

> .../BaseLib/LoongArch64/InternalSwitchStack.c | 58 ++++<= /o:p>

> ...= /Library/BaseLib/LoongArch64/MemoryFence.S | 18 ++

> .../BaseLib/LoongArch6= 4/SetJumpLongJump.S | 49 +++

> .../Library/BaseLib/LoongArch64/SwitchStack.= S | 39 +++

> MdePkg/Library/BasePeCoffLib/BasePeCoff.c | 3 +-

> .../Librar= y/BasePeCoffLib/BasePeCoffLib.inf | 5 +

> .../Library/BasePeCoffLib/BasePeC= offLib.uni | 2 +

> .../BasePeCoffLib/LoongArch/PeCoffLoaderEx.c | 137 +++++= +++

> .../Library/BaseSafeIntLib/BaseSafeIntLib.inf | 9 +-

> .../BaseSynchr= onizationLib.inf | 6 +

> .../LoongArch64/AsmSynchronization.S | 122 +++++++= +

&= gt; .../LoongArch64/Synchronization.c | 233 ++++++++++++++

> .../Library/Dx= eServicesLib/DxeServicesLib.inf | 4 +-

> MdePkg/MdePkg.ci.yaml | 13 +<= /o:p>

> Mde= Pkg/MdePkg.dec | 4 +

<= span lang=3DEN-US>> MdePkg/MdePkg.dsc | 3 +-

=

> NetworkPkg/HttpBootDxe/Ht= tpBootDhcp4.h | 3 +

> NetworkPkg/Network.dsc.inc | 3 +-

> NetworkPkg/Networ= kPkg.dsc | 3 +-

> SecurityPkg/SecurityPkg.dsc | 3 +-

<= /div>

> ShellPkg/ShellPkg.ds= c | 3 +-

> UnitTestFrameworkPkg/UnitTestFrameworkPkg.dsc | 3 +-<= /span>

> 81 files = changed, 2478 insertions(+), 119 deletions(-)

> create mode 100644 BaseTool= s/Bin/gcc_loongarch64_unknown_linux_ext_dep.yaml

> create mode 100644 BaseT= ools/Source/C/Include/LoongArch64/ProcessorBind.h

> create mode 100644 MdeM= odulePkg/Core/DxeIplPeim/LoongArch64/DxeLoadFunc.c

> create mode 100644 Mde= Pkg/Include/LoongArch64/ProcessorBind.h

> create mode 100644 MdePkg/Library= /BaseCacheMaintenanceLib/LoongArchCache.c

<= p class=3DMsoNormal>> create mode 100644 MdePkg/Libra= ry/BaseCpuLib/LoongArch/CpuFlushTlb.S

> create mode 100644 MdePkg/Library/B= aseCpuLib/LoongArch/CpuSleep.S

> create mode 100644 MdePkg/Library/BaseLib/= LoongArch64/Barrier.S

= > create mode 100644 MdePkg/Library/BaseLib/LoongArch= 64/CpuBreakpoint.S

> create mode 100644 MdePkg/Library/BaseLib/LoongArch64/= CpuPause.S

> create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Disable= Interrupts.S

> create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Enable= Interrupts.S

> create mode 100644 MdePkg/Library/BaseLib/LoongArch64/GetInt= erruptState.S

> create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Inter= nalSwitchStack.c

> create mode 100644 MdePkg/Library/BaseLib/LoongArch64/Me= moryFence.S

> create mode 100644 MdePkg/Library/BaseLib/LoongArch64/SetJump= LongJump.S

> create mode 100644 MdePkg/Library/BaseLib/LoongArch64/SwitchS= tack.S

> create mode 100644 MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLo= aderEx.c

> create mode 100644 MdePkg/Library/BaseSynchronizationLib/LoongAr= ch64/AsmSynchronization.S

> create mode 100644 MdePkg/Library/BaseSynchroni= zationLib/LoongArch64/Synchronization.c

> 

=

> --

<= /div>

> 2.27.0

> <= /o:p>

> 

= > 

> 

> 

 =

=E6=9C=AC=E9=82=AE=E4=BB=B6=E5=8F=8A=E5=85=B6= =E9=99=84=E4=BB=B6=E5=90=AB=E6=9C=89=E9=BE=99=E8=8A=AF=E4=B8=AD=E7=A7=91=E7= =9A=84=E5=95=86=E4=B8=9A=E7=A7=98=E5=AF=86=E4=BF=A1=E6=81=AF=EF=BC=8C=E4=BB= =85=E9=99=90=E4=BA=8E=E5=8F=91=E9=80=81=E7=BB=99=E4=B8=8A=E9=9D=A2=E5=9C=B0= =E5=9D=80=E4=B8=AD=E5=88=97=E5=87=BA=E7=9A=84=E4=B8=AA=E4=BA=BA=E6=88=96=E7= =BE=A4=E7=BB=84=E3=80=82=E7=A6=81=E6=AD=A2=E4=BB=BB=E4=BD=95=E5=85=B6=E4=BB= =96=E4=BA=BA=E4=BB=A5=E4=BB=BB=E4=BD=95=E5=BD=A2=E5=BC=8F=E4=BD=BF=E7=94=A8= =EF=BC=88=E5=8C=85=E6=8B=AC=E4=BD=86=E4=B8=8D=E9=99=90=E4=BA=8E=E5=85=A8=E9= =83=A8=E6=88=96=E9=83=A8=E5=88=86=E5=9C=B0=E6=B3=84=E9=9C=B2=E3=80=81=E5=A4= =8D=E5=88=B6=E6=88=96=E6=95=A3=E5=8F=91=EF=BC=89=E6=9C=AC=E9=82=AE=E4=BB=B6= =E5=8F=8A=E5=85=B6=E9=99=84=E4=BB=B6=E4=B8=AD=E7=9A=84=E4=BF=A1=E6=81=AF=E3= =80=82=E5=A6=82=E6=9E=9C=E6=82=A8=E9=94=99=E6=94=B6=E6=9C=AC=E9=82=AE=E4=BB= =B6=EF=BC=8C=E8=AF=B7=E6=82=A8=E7=AB=8B=E5=8D=B3=E7=94=B5=E8=AF=9D=E6=88=96= =E9=82=AE=E4=BB=B6=E9=80=9A=E7=9F=A5=E5=8F=91=E4=BB=B6=E4=BA=BA=E5=B9=B6=E5= =88=A0=E9=99=A4=E6=9C=AC=E9=82=AE=E4=BB=B6=E3=80=82=

This em= ail and its attachments contain confidential information from Loongson Tech= nology , which is intended only for the person or entity whose address is l= isted above. Any use of the information contained herein in any way (includ= ing, but not limited to, total or partial disclosure, reproduction or disse= mination) by persons other than the intended recipient(s) is prohibited. If= you receive this email in error, please notify the sender by phone or emai= l immediately and delete it.

 

<= /html> ------=_NextPart_000_01B6_01D8DE13.8EC74AC0--