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.5412.1662643562660642367 for ; Thu, 08 Sep 2022 06:26:03 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@byosoft.com.cn header.s=cloud-union header.b=qc0N1+BZ; 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 1BE21CD1F667 for ; Thu, 8 Sep 2022 21:25:57 +0800 (CST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=byosoft.com.cn; s=cloud-union; t=1662643557; bh=aBYplsjq1cIkk3Zh8pQ5qenYMizrqSSkqYqoFp90MlI=; h=From:To:Cc:References:In-Reply-To:Subject:Date; b=qc0N1+BZbzpTsQVLu1TCMMkPhgoiGwD1M7sjcPOgqoutOetofgwNA4HrdrJTCUGHs rAmV1hFVKwcbQUxeAO83T3GuZQQ556uZ4ptTafI65iD2kZVR9fNOjjHcUp8qeK+R9p NlIgrqwoorkJMeKsobIAie+h4h3rR+m0mJF2AXeY= Received: from localhost (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id 17482CD1F65D for ; Thu, 8 Sep 2022 21:25:57 +0800 (CST) X-Virus-Scanned: by SpamTitan at intel-email.com Received: from walk.intel-email.com (localhost [127.0.0.1]) by walk.intel-email.com (Postfix) with ESMTP id B685FCD1F63C for ; Thu, 8 Sep 2022 21:25:56 +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 47C08CD1F6B2 for ; Thu, 8 Sep 2022 21:25:53 +0800 (CST) Received: from DESKTOPS6D0PVI ([101.86.147.186]) (envelope-sender ) by 192.168.6.13 with ESMTP for ; Thu, 08 Sep 2022 21:25:51 +0800 X-WM-Sender: gaoliming@byosoft.com.cn X-Originating-IP: 101.86.147.186 X-WM-AuthFlag: YES X-WM-AuthUser: gaoliming@byosoft.com.cn From: "gaoliming" To: , "'devel'" 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: <1712C940061C7F0F.15954@groups.io> In-Reply-To: Subject: =?UTF-8?B?5Zue5aSNOiDlm57lpI3vvJpbZWRrMi1kZXZlbF0gW1BBVENIIHYxIDAwLzM0XSBBZGQgYSBuZXcgYXJjaGl0ZWN0dXJlIGNhbGxlZCBMb29uZ0FyY2ggaW4gRURLIElJ?= Date: Thu, 8 Sep 2022 21:25:53 +0800 Message-ID: <015001d8c386$85bfe790$913fb6b0$@byosoft.com.cn> MIME-Version: 1.0 X-Mailer: Microsoft Outlook 16.0 Thread-Index: AQGoRGVtuzXjLC6uJR4rQsGhaBEvJgJcvpFGriOd3fA= Sender: "gaoliming" Content-Type: multipart/alternative; boundary="----=_NextPart_000_0151_01D8C3C9.93E4D540" Content-Language: zh-cn ------=_NextPart_000_0151_01D8C3C9.93E4D540 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Chao: This is a big feature for UEFI 2.10. Is there one feature request in http= s://bugzilla.tianocore.org/? =20 Thanks Liming =E5=8F=91=E4=BB=B6=E4=BA=BA: lichao@loongson.cn =20 =E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4: 2022=E5=B9=B49=E6=9C=888=E6=97=A5 17:= 34 =E6=94=B6=E4=BB=B6=E4=BA=BA: Chao Li ; devel =E6=8A=84=E9=80=81: Ray Ni ; 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: =E5=9B=9E=E5=A4=8D=EF=BC=9A[edk2-devel] [PATCH v1 00/34= ] Add a new architecture called LoongArch in EDK II =20 Hi All, The LoongArch code repo is in GitHub, REF: https://github.com/loongson/edk2= /tree/LoongArch, there is a PR, URL: https://github.com/loongson/edk2/pull/= 1.=20 =20 Thanks, Chao -- ----------------------------=E5=8E=9F=E5=A7=8B=E9=82=AE=E4=BB=B6-----------= ----------------- =E5=8F=91=E4=BB=B6=E4=BA=BA: lichao > =E6=94=B6=E4=BB=B6=E4=BA=BA: devel > =E6=8A=84=E9=80=81: Ray Ni >,Lim= ing Gao >,Michae= l D Kinney >= ,Guomin Jiang >,Wei6= Xu >,Maciej Rabeda >,Jiaxin Wu >,Siyuan Fu >,Jiewen Yao >,Jian J Wang >,Xiaoyu Lu = >,Zhiguang Liu >,Zhi= chao Gao >,Bob Feng >,Yuwei Chen > =E4=B8=BB=E9=A2=98: [edk2-devel] [PATCH v1 00/34] Add a new architecture ca= lled LoongArch in EDK II UEFI Spec V2.10 already supports LoongArch and all changes of this commit p= asswed Azure CI testing, so let's enable it in EDK2. This commit contains 3= 5 patchs, with patch 0 is the cover and the rest being the LoongArch base c= ode. Modified modules: FatPkg, FmpDevicePkg, NetworkPkg, NetworkPkg/HttpBoo= tDxe, CryptoPkg, MdePkg/Include, SecurityPkg, ShellPkg, UnitTestFrameworkPk= g, MdePkg/DxeServicesLib, MdeModulePkg, .python/SpellCheck, BaseTools, .azu= repipelines, .pytool, MdePkg, MdeModulePkg and MdePkg/MdePkg.ci.yaml. Cc: R= ay 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 Ch= ao Li (34): MdePkg: Added file of DebugSupport.h to MdePkg.ci.yaml MdePkg: = Added LoongArch jump buffer register definition to MdePkg.ci.yaml FatPkg: A= dd LOONGARCH64 architecture for EDK2 CI. FmpDevicePkg: Add LOONGARCH64 arch= itecture for EDK2 CI. NetworkPkg: Add LOONGARCH64 architecture for EDK2 CI.= NetworkPkg/HttpBootDxe: Add LOONGARCH64 architecture for EDK2 CI. CryptoPk= g: 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. UnitTestFramew= orkPkg: Add LOONGARCH64 architecture for EDK2 CI. MdePkg/DxeServicesLib: Ad= d LOONGARCH64 architecture MdeModulePkg: Use LockBoxNullLib for LOONGARCH64= .python/SpellCheck: Add "Loongson" and "LOONGARCH" to "words" section Base= Tools: BaseTools changes for LoongArch platform. BaseTools: BaseTools chang= es for LoongArch platform. BaseTools: BaseTools changes for LoongArch platf= orm. BaseTools: Enable LoongArch64 architecture for LoongArch64 EDK2 CI. .a= zurepipelines: Add LoongArch64 architecture on LoongArch64 EDK2 CI. .pytool= : Add LoongArch64 architecture on LoongArch64 EDK2 CI. MdePkg: Add LoongArc= h LOONGARCH64 binding MdePkg/Include: LoongArch definitions. MdePkg/BaseLib= : BaseLib for LOONGARCH64 architecture. MdePkg/BaseCacheMaintenanceLib: Loo= ngArch cache maintenance implementation. MdePkg/BaseIoLibIntrinsic: IoLibNo= Io for LoongArch architecture. MdePkg/BasePeCoff: Add LoongArch PE/Coff rel= ated code. MdePkg/BaseCpuLib: LoongArch Base CPU library implementation. Md= ePkg/BaseSynchronizationLib: LoongArch cache related code. MdePkg/BaseSafeI= ntLib: Add LoongArch64 architecture for BaseSafeIntLib. MdeModulePkg/Logo: = Add LoongArch64 architecture. MdeModulePkg/CapsuleRuntimeDxe: Add LoongArch= 64 architecture. MdeModulePkg/DxeIplPeim : LoongArch DxeIPL implementation.= NetworkPkg: Add LoongArch64 architecture. BaseTools: Add LoongArch64 bindi= ng. .azurepipelines/Ubuntu-GCC5.yml | 3 +- .pytool/CISettings.py | 5 +- .py= tool/Plugin/SpellCheck/cspell.base.yaml | 4 +- ...gcc_loongarch64_unknown_l= inux_ext_dep.yaml | 22 ++ BaseTools/Conf/tools_def.template | 54 +++- .../L= inuxGcc5ToolChain/LinuxGcc5ToolChain.py | 31 ++ BaseTools/Source/C/Common/B= asePeCoff.c | 15 +- BaseTools/Source/C/Common/PeCoffLoaderEx.c | 79 +++++ B= aseTools/Source/C/GNUmakefile | 3 + BaseTools/Source/C/GenFv/GenFvInternalL= ib.c | 125 +++++++- BaseTools/Source/C/GenFw/Elf64Convert.c | 293 +++++++++= ++++++++- BaseTools/Source/C/GenFw/elf_common.h | 94 ++++++ .../C/Include/I= ndustryStandard/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/Data= Type.py | 24 +- BaseTools/Source/Python/build/buildoptions.py | 3 +- Crypto= Pkg/CryptoPkg.dsc | 3 +- .../Library/BaseCryptLib/BaseCryptLib.inf | 6 +- .= ../Library/BaseCryptLib/RuntimeCryptLib.inf | 4 + .../BaseCryptLibNull/Base= CryptLibNull.inf | 3 +- .../BaseCryptLibOnProtocolPpi/DxeCryptLib.inf | 3 += - .../BaseCryptLibOnProtocolPpi/PeiCryptLib.inf | 3 +- CryptoPkg/Library/In= clude/CrtLibSupport.h | 3 +- CryptoPkg/Library/OpensslLib/OpensslLib.inf | = 2 + .../Library/OpensslLib/OpensslLibCrypto.inf | 2 + CryptoPkg/Library/Tls= Lib/TlsLib.inf | 3 +- CryptoPkg/Library/TlsLibNull/TlsLibNull.inf | 3 +- Fa= tPkg/FatPkg.dsc | 3 +- FmpDevicePkg/FmpDevicePkg.dsc | 3 +- MdeModulePkg/Co= re/DxeIplPeim/DxeIpl.inf | 6 +- .../Core/DxeIplPeim/LoongArch64/DxeLoadFunc= .c | 63 ++++ MdeModulePkg/Logo/Logo.inf | 3 +- MdeModulePkg/MdeModulePkg.ds= c | 4 +- .../CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | 9 +- MdePkg/Include/= IndustryStandard/Dhcp.h | 41 +-- MdePkg/Include/IndustryStandard/PeImage.h = | 9 + MdePkg/Include/Library/BaseLib.h | 24 ++ MdePkg/Include/LoongArch64/P= rocessorBind.h | 120 +++++++ MdePkg/Include/Protocol/DebugSupport.h | 107 += +++++- MdePkg/Include/Protocol/PxeBaseCode.h | 3 + MdePkg/Include/Uefi/Uefi= BaseType.h | 14 + MdePkg/Include/Uefi/UefiSpec.h | 16 +- .../BaseCacheMaint= enanceLib.inf | 4 + .../BaseCacheMaintenanceLib/LoongArchCache.c | 252 ++++= +++++++++++ MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 7 +- MdePkg/Library/= BaseCpuLib/BaseCpuLib.uni | 5 +- .../BaseCpuLib/LoongArch/CpuFlushTlb.S | 1= 5 + .../Library/BaseCpuLib/LoongArch/CpuSleep.S | 15 + .../BaseIoLibIntrins= ic/BaseIoLibIntrinsic.inf | 10 +- MdePkg/Library/BaseIoLibIntrinsic/IoLibNo= Io.c | 3 +- MdePkg/Library/BaseLib/BaseLib.inf | 13 + .../BaseLib/LoongArch= 64/CpuBreakpoint.S | 24 ++ MdePkg/Library/BaseLib/LoongArch64/CpuPause.S | = 31 ++ .../BaseLib/LoongArch64/DisableInterrupts.S | 21 ++ .../BaseLib/Loong= Arch64/EnableInterrupts.S | 21 ++ .../BaseLib/LoongArch64/GetInterruptState= .S | 35 +++ .../BaseLib/LoongArch64/InternalSwitchStack.c | 58 ++++ .../Lib= rary/BaseLib/LoongArch64/MemoryFence.S | 19 ++ .../BaseLib/LoongArch64/SetJ= umpLongJump.S | 49 +++ .../Library/BaseLib/LoongArch64/SwitchStack.S | 39 += ++ .../Library/BaseLib/LoongArch64/Unaligned.c | 242 +++++++++++++++ MdePkg= /Library/BasePeCoffLib/BasePeCoff.c | 3 +- .../Library/BasePeCoffLib/BasePe= CoffLib.inf | 5 + .../Library/BasePeCoffLib/BasePeCoffLib.uni | 2 + .../Bas= ePeCoffLib/LoongArch/PeCoffLoaderEx.c | 137 ++++++++ .../Library/BaseSafeIn= tLib/BaseSafeIntLib.inf | 9 +- .../BaseSynchronizationLib.inf | 5 + .../Loo= ngArch64/Synchronization.c | 246 +++++++++++++++ .../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 +- Security= Pkg/SecurityPkg.dsc | 3 +- ShellPkg/ShellPkg.dsc | 3 +- UnitTestFrameworkPk= g/UnitTestFrameworkPkg.dsc | 3 +- 80 files changed, 2576 insertions(+), 115= deletions(-) create mode 100644 BaseTools/Bin/gcc_loongarch64_unknown_linu= x_ext_dep.yaml create mode 100644 BaseTools/Source/C/Include/LoongArch64/Pr= ocessorBind.h create mode 100644 MdeModulePkg/Core/DxeIplPeim/LoongArch64/D= xeLoadFunc.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 100= 644 MdePkg/Library/BaseLib/LoongArch64/CpuBreakpoint.S create mode 100644 M= dePkg/Library/BaseLib/LoongArch64/CpuPause.S create mode 100644 MdePkg/Libr= ary/BaseLib/LoongArch64/DisableInterrupts.S create mode 100644 MdePkg/Libra= ry/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/BaseLi= b/LoongArch64/SetJumpLongJump.S create mode 100644 MdePkg/Library/BaseLib/L= oongArch64/SwitchStack.S create mode 100644 MdePkg/Library/BaseLib/LoongArc= h64/Unaligned.c create mode 100644 MdePkg/Library/BasePeCoffLib/LoongArch/P= eCoffLoaderEx.c create mode 100644 MdePkg/Library/BaseSynchronizationLib/Lo= ongArch64/Synchronization.c -- 2.27.0=20 ------=_NextPart_000_0151_01D8C3C9.93E4D540 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable

Chao:
=C2=A0 This is a big feature for UEFI 2.10. Is th= ere one feature request in https://bugzilla.tianocore.org/?

 

Thanks

Liming

=E5=8F=91=E4=BB=B6=E4=BA=BA: lichao@loongson.cn <lichao@loongson.= cn>
=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4:<= /span> 2022=E5=B9=B49=E6=9C=888=E6=97=A5 17:34
=E6=94=B6=E4= =BB=B6=E4=BA=BA: Chao Li &= lt;lichao@loongson.cn>; devel <devel@edk2.groups.io>
= =E6=8A=84=E9=80=81: Ray Ni= <ray.ni@intel.com>; Liming Gao <gaoliming@byosoft.com.cn>; Mic= hael D Kinney <michael.d.kinney@intel.com>; Guomin Jiang <guomin.j= iang@intel.com>; Wei6 Xu <wei6.xu@intel.com>; Maciej Rabeda <ma= ciej.rabeda@linux.intel.com>; Jiaxin Wu <jiaxin.wu@intel.com>; Siy= uan Fu <siyuan.fu@intel.com>; Jiewen Yao <jiewen.yao@intel.com>= ; Jian J Wang <jian.j.wang@intel.com>; Xiaoyu Lu <xiaoyu1.lu@intel= .com>; Zhiguang Liu <zhiguang.liu@intel.com>; Zhichao Gao <zhic= hao.gao@intel.com>; Bob Feng <bob.c.feng@intel.com>; Yuwei Chen &l= t;yuwei.chen@intel.com>
=E4=B8=BB=E9=A2=98: =E5=9B=9E=E5=A4=8D=EF=BC=9A[edk2-devel] [PATCH v1 00/34] Add a new architecture called Loo= ngArch in EDK II

 

Hi All,

The LoongArch code r= epo is in GitHub, REF: https://github.com/loongson/edk2/tree/LoongArch, there is a PR,= URL: https://github.co= m/loongson/edk2/pull/1

 

Th= anks,

Chao



------------------= ----------
=E5=8E=9F=E5= =A7=8B=E9=82=AE=E4=BB=B6------------------------= ----

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

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

=E6=8A=84=E9= =80=81: Ray Ni<ray.ni@intel.com>,Liming Gao<gaoliming@byosoft.com.cn>,Michael D Kinney<michael.d.kinney@intel.com>,G= uomin 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<jiewen.yao@intel.com>,Jian J Wang<<= a href=3D"mailto:jian.j.wang@intel.com">jian.j.wang@intel.com>,Xiaoy= u Lu<xiaoyu1.lu@intel.com>= ;,Zhiguang Liu<zhiguang.liu@in= tel.com>,Zhichao Gao<zhi= chao.gao@intel.com>,Bob Feng<bob.c.feng@intel.com>,Yuwei Chen<yuwei.chen@intel.com>

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

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 patchs, with patch 0 = is the cover and the rest being the LoongArch base code. Modified modules: = FatPkg, FmpDevicePkg, NetworkPkg, NetworkPkg/HttpBootDxe, CryptoPkg, MdePkg= /Include, SecurityPkg, ShellPkg, UnitTestFrameworkPkg, MdePkg/DxeServicesLi= b, MdeModulePkg, .python/SpellCheck, BaseTools, .azurepipelines, .pytool, M= dePkg, MdeModulePkg and MdePkg/MdePkg.ci.yaml. Cc: Ray Ni Cc: Liming Gao Cc= : Michael D Kinney Cc: Guomin Jiang Cc: Wei6 Xu Cc: Maciej Rabeda Cc: Jiaxi= n Wu Cc: Siyuan Fu Cc: Jiewen Yao Cc: Jian J Wang Cc: Xiaoyu Lu Cc: Zhiguan= g Liu Cc: Zhichao Gao Cc: Bob Feng Cc: Yuwei Chen Chao Li (34): MdePkg: Add= ed file of DebugSupport.h to MdePkg.ci.yaml MdePkg: Added LoongArch jump bu= ffer register definition to MdePkg.ci.yaml FatPkg: Add LOONGARCH64 architec= ture for EDK2 CI. FmpDevicePkg: Add LOONGARCH64 architecture for EDK2 CI. N= etworkPkg: Add LOONGARCH64 architecture for EDK2 CI. NetworkPkg/HttpBootDxe= : Add LOONGARCH64 architecture for EDK2 CI. CryptoPkg: Add LOONGARCH64 arch= itecture for EDK2 CI. MdePkg/Include: Add LOONGARCH related definitions EDK= 2 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 architect= ure MdeModulePkg: Use LockBoxNullLib for LOONGARCH64 .python/SpellCheck: Ad= d "Loongson" and "LOONGARCH" to "words" secti= on BaseTools: BaseTools changes for LoongArch platform. BaseTools: BaseTool= s changes for LoongArch platform. BaseTools: BaseTools changes for LoongArc= h platform. 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 L= oongArch LOONGARCH64 binding MdePkg/Include: LoongArch definitions. MdePkg/= BaseLib: BaseLib for LOONGARCH64 architecture. MdePkg/BaseCacheMaintenanceL= ib: LoongArch cache maintenance implementation. MdePkg/BaseIoLibIntrinsic: = IoLibNoIo for LoongArch architecture. MdePkg/BasePeCoff: Add LoongArch PE/C= off related code. MdePkg/BaseCpuLib: LoongArch Base CPU library implementat= ion. MdePkg/BaseSynchronizationLib: LoongArch cache related code. MdePkg/Ba= seSafeIntLib: Add LoongArch64 architecture for BaseSafeIntLib. MdeModulePkg= /Logo: Add LoongArch64 architecture. MdeModulePkg/CapsuleRuntimeDxe: Add Lo= ongArch64 architecture. MdeModulePkg/DxeIplPeim : LoongArch DxeIPL implemen= tation. NetworkPkg: Add LoongArch64 architecture. BaseTools: Add LoongArch6= 4 binding. .azurepipelines/Ubuntu-GCC5.yml | 3 +- .pytool/CISettings.py | 5= +- .pytool/Plugin/SpellCheck/cspell.base.yaml | 4 +- ...gcc_loongarch64_un= known_linux_ext_dep.yaml | 22 ++ BaseTools/Conf/tools_def.template | 54 +++= - .../LinuxGcc5ToolChain/LinuxGcc5ToolChain.py | 31 ++ BaseTools/Source/C/C= ommon/BasePeCoff.c | 15 +- BaseTools/Source/C/Common/PeCoffLoaderEx.c | 79 = +++++ BaseTools/Source/C/GNUmakefile | 3 + BaseTools/Source/C/GenFv/GenFvIn= ternalLib.c | 125 +++++++- BaseTools/Source/C/GenFw/Elf64Convert.c | 293 ++= +++++++++++++++- BaseTools/Source/C/GenFw/elf_common.h | 94 ++++++ .../C/In= clude/IndustryStandard/PeImage.h | 57 ++-- .../C/Include/LoongArch64/Proces= sorBind.h | 80 +++++ BaseTools/Source/C/Makefiles/header.makefile | 6 + Bas= eTools/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 + .../BaseCryptLibNu= ll/BaseCryptLibNull.inf | 3 +- .../BaseCryptLibOnProtocolPpi/DxeCryptLib.in= f | 3 +- .../BaseCryptLibOnProtocolPpi/PeiCryptLib.inf | 3 +- CryptoPkg/Lib= rary/Include/CrtLibSupport.h | 3 +- CryptoPkg/Library/OpensslLib/OpensslLib= .inf | 2 + .../Library/OpensslLib/OpensslLibCrypto.inf | 2 + CryptoPkg/Libr= ary/TlsLib/TlsLib.inf | 3 +- CryptoPkg/Library/TlsLibNull/TlsLibNull.inf | = 3 +- FatPkg/FatPkg.dsc | 3 +- FmpDevicePkg/FmpDevicePkg.dsc | 3 +- MdeModul= ePkg/Core/DxeIplPeim/DxeIpl.inf | 6 +- .../Core/DxeIplPeim/LoongArch64/DxeL= oadFunc.c | 63 ++++ MdeModulePkg/Logo/Logo.inf | 3 +- MdeModulePkg/MdeModul= ePkg.dsc | 4 +- .../CapsuleRuntimeDxe/CapsuleRuntimeDxe.inf | 9 +- MdePkg/I= nclude/IndustryStandard/Dhcp.h | 41 +-- MdePkg/Include/IndustryStandard/PeI= mage.h | 9 + MdePkg/Include/Library/BaseLib.h | 24 ++ MdePkg/Include/LoongA= rch64/ProcessorBind.h | 120 +++++++ MdePkg/Include/Protocol/DebugSupport.h = | 107 ++++++- MdePkg/Include/Protocol/PxeBaseCode.h | 3 + MdePkg/Include/Ue= fi/UefiBaseType.h | 14 + MdePkg/Include/Uefi/UefiSpec.h | 16 +- .../BaseCac= heMaintenanceLib.inf | 4 + .../BaseCacheMaintenanceLib/LoongArchCache.c | 2= 52 +++++++++++++++ MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 7 +- MdePkg/L= ibrary/BaseCpuLib/BaseCpuLib.uni | 5 +- .../BaseCpuLib/LoongArch/CpuFlushTl= b.S | 15 + .../Library/BaseCpuLib/LoongArch/CpuSleep.S | 15 + .../BaseIoLib= Intrinsic/BaseIoLibIntrinsic.inf | 10 +- MdePkg/Library/BaseIoLibIntrinsic/= IoLibNoIo.c | 3 +- MdePkg/Library/BaseLib/BaseLib.inf | 13 + .../BaseLib/Lo= ongArch64/CpuBreakpoint.S | 24 ++ MdePkg/Library/BaseLib/LoongArch64/CpuPau= se.S | 31 ++ .../BaseLib/LoongArch64/DisableInterrupts.S | 21 ++ .../BaseLi= b/LoongArch64/EnableInterrupts.S | 21 ++ .../BaseLib/LoongArch64/GetInterru= ptState.S | 35 +++ .../BaseLib/LoongArch64/InternalSwitchStack.c | 58 ++++ = .../Library/BaseLib/LoongArch64/MemoryFence.S | 19 ++ .../BaseLib/LoongArch= 64/SetJumpLongJump.S | 49 +++ .../Library/BaseLib/LoongArch64/SwitchStack.S= | 39 +++ .../Library/BaseLib/LoongArch64/Unaligned.c | 242 +++++++++++++++= MdePkg/Library/BasePeCoffLib/BasePeCoff.c | 3 +- .../Library/BasePeCoffLib= /BasePeCoffLib.inf | 5 + .../Library/BasePeCoffLib/BasePeCoffLib.uni | 2 + = .../BasePeCoffLib/LoongArch/PeCoffLoaderEx.c | 137 ++++++++ .../Library/Bas= eSafeIntLib/BaseSafeIntLib.inf | 9 +- .../BaseSynchronizationLib.inf | 5 + = .../LoongArch64/Synchronization.c | 246 +++++++++++++++ .../Library/DxeServ= icesLib/DxeServicesLib.inf | 4 +- MdePkg/MdePkg.ci.yaml | 13 + MdePkg/MdePk= g.dec | 4 + MdePkg/MdePkg.dsc | 3 +- NetworkPkg/HttpBootDxe/HttpBootDhcp4.h= | 3 + NetworkPkg/Network.dsc.inc | 3 +- NetworkPkg/NetworkPkg.dsc | 3 +- S= ecurityPkg/SecurityPkg.dsc | 3 +- ShellPkg/ShellPkg.dsc | 3 +- UnitTestFram= eworkPkg/UnitTestFrameworkPkg.dsc | 3 +- 80 files changed, 2576 insertions(= +), 115 deletions(-) create mode 100644 BaseTools/Bin/gcc_loongarch64_unkno= wn_linux_ext_dep.yaml create mode 100644 BaseTools/Source/C/Include/LoongAr= ch64/ProcessorBind.h create mode 100644 MdeModulePkg/Core/DxeIplPeim/LoongA= rch64/DxeLoadFunc.c create mode 100644 MdePkg/Include/LoongArch64/Processor= Bind.h create mode 100644 MdePkg/Library/BaseCacheMaintenanceLib/LoongArchC= ache.c create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/CpuFlushTlb.S= create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/CpuSleep.S create m= ode 100644 MdePkg/Library/BaseLib/LoongArch64/CpuBreakpoint.S create mode 1= 00644 MdePkg/Library/BaseLib/LoongArch64/CpuPause.S create mode 100644 MdeP= kg/Library/BaseLib/LoongArch64/DisableInterrupts.S create mode 100644 MdePk= g/Library/BaseLib/LoongArch64/EnableInterrupts.S create mode 100644 MdePkg/= Library/BaseLib/LoongArch64/GetInterruptState.S create mode 100644 MdePkg/L= ibrary/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/Ba= seLib/LoongArch64/SwitchStack.S create mode 100644 MdePkg/Library/BaseLib/L= oongArch64/Unaligned.c create mode 100644 MdePkg/Library/BasePeCoffLib/Loon= gArch/PeCoffLoaderEx.c create mode 100644 MdePkg/Library/BaseSynchronizatio= nLib/LoongArch64/Synchronization.c -- 2.27.0

------=_NextPart_000_0151_01D8C3C9.93E4D540--