From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web08.2829.1665626136608030423 for ; Wed, 12 Oct 2022 18:55:37 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: loongson.cn, ip: 114.242.206.163, mailfrom: lichao@loongson.cn) Received: from lichao-PC (unknown [10.40.24.149]) by localhost.localdomain (Coremail) with SMTP id AQAAf8BxmmoTcEdjxZIsAA--.25061S2; Thu, 13 Oct 2022 09:55:32 +0800 (CST) Date: Thu, 13 Oct 2022 09:55:25 +0800 From: "Chao Li" To: =?utf-8?Q?=22gaoliming=22?= Cc: "=?utf-8?Q?devel=40edk2.groups.io?=" , =?utf-8?Q?=22Ray=5FNi=22?= , =?utf-8?Q?=22Michael=5FD=5FKinney=22?= , =?utf-8?Q?=22Guomin=5FJiang=22?= , =?utf-8?Q?=22Wei6=5FXu=22?= , =?utf-8?Q?=22Maciej=5FRabeda=22?= , =?utf-8?Q?=22Jiaxin=5FWu=22?= , =?utf-8?Q?=22Jiewen=5FYao=22?= , =?utf-8?Q?=22Jian=5FJ=5FWang=22?= , =?utf-8?Q?=22Xiaoyu=5FLu=22?= , =?utf-8?Q?=22Zhiguang=5FLiu=22?= , =?utf-8?Q?=22Zhichao=5FGao=22?= , =?utf-8?Q?=22Bob=5FFeng=22?= , =?utf-8?Q?=22Yuwei=5FChen=22?= Message-ID: <88A9D77B-7F20-48BC-8DD5-FFE005E0F669@getmailspring.com> In-Reply-To: <01b501d8ddd0$80a06140$81e123c0$@byosoft.com.cn> References: <01b501d8ddd0$80a06140$81e123c0$@byosoft.com.cn> Subject: =?UTF-8?B?UmU6IOWbnuWkjTogZWRrMi1kZXZlbF0gW1BBVENIIHYzIDAwLzM0XSBBZGQgYSBuZXcgYXJjaGl0ZWN0dXJlIGNhbGxlZCBMb29uZ0FyY2ggaW4gRURLIElJ?= X-Mailer: Mailspring MIME-Version: 1.0 X-CM-TRANSID: AQAAf8BxmmoTcEdjxZIsAA--.25061S2 X-Coremail-Antispam: 1UD129KBjvAXoWfJFykGr1kAryDKrWfKFW8Xrb_yoW8XF4kAo Z7Jayxur48Xw1xu3s5CwsxJFW2g3yfKr4fXr4Iqa4UXFs8A3W7Kws8Aw1rWr45XF98Kwn8 Wa4rWa9FkrZrtr1rn29KB7ZKAUJUUUU8529EdanIXcx71UUUUU7v73VFW2AGmfu7bjvjm3 AaLaJ3UjIYCTnIWjp_UUUOk7k0a2IF6F4UM7kC6x804xWl14x267AKxVWUJVW8JwAFc2x0 x2IEx4CE42xK8VAvwI8IcIk0rVWrJVCq3wAFIxvE14AKwVWUJVWUGwA2ocxC64kIII0Yj4 1l84x0c7CEw4AK67xGY2AK021l84ACjcxK6xIIjxv20xvE14v26ryj6F1UM28EF7xvwVC0 I7IYx2IY6xkF7I0E14v26F4j6r4UJwA2z4x0Y4vEx4A2jsIE14v26r4UJVWxJr1l84ACjc xK6I8E87Iv6xkF7I0E14v26r4UJVWxJr1le2I262IYc4CY6c8Ij28IcVAaY2xG8wAqx4xG 67k08I80eVWUJVW8JwAqx4xG62kEwI0EY4vaYxAvb48xMc02F40EFcxC0VAKzVAqx4xG6I 80ewAqx4xG64kEw2xG04xIwI0_Gr0_Xr1lYx0E2Ix0cI8IcVAFwI0_JF0_Jw1lYx0Ex4A2 jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbVWUJVW8JwACjcxG0xvY0x0EwIxGrwCjr7xvwV CIw2I0I7xG6c02F41lc2xSY4AK6svPMxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY 6r1j6r4UMI8I3I0E5I8CrVAFwI0_JrI_JrWlx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17 CEb7AF67AKxVWUtVW8ZwCIccxYrVCIc48FwI0_Gr0_Xr1lIxkGc2Ij64vIr41lIxAIcVC0 I7IYx2IY67AKxVWUJVWUCwCI42IY6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVCF04 k26cxKx2IYs7xG6r1j6r1xMIIF0xvEx4A2jsIE14v26r1j6r4UMIIF0xvEx4A2jsIEc7Cj xVAFwI0_Jr0_GrUvcSsGvfC2KfnxnUUI43ZEXa7IU0bJ55UUUUU== X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQASCGNGrmAKvQAAsH Content-Type: multipart/alternative; boundary="6347700d_81dcb56_63ae" --6347700d_81dcb56_63ae Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Liming, Thank you. If EDK2 have merged new commit, I will rebase the PR in a few da= ys. Please let me know if you have any questions. Thanks, Chao -------- On 10=E6=9C=88 12 2022, at 8:20 =E6=97=A9=E4=B8=8A, "gaoliming" wrote: > Chao: > > I 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 = =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= 11: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= _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: Re: [edk2-devel] [PATCH v3 00/34] Add a new architect= ure called LoongArch in EDK II > > > > > > Hi All, > I have created a PR in EDK2 repo: https://github.com/tianocore/edk2/pull/= 3457 (https://link.getmailspring.com/link/88A9D77B-7F20-48BC-8DD5-FFE005E0F= 669@getmailspring.com/0?redirect=3Dhttps%3A%2F%2Flink.getmailspring.com%2Fl= ink%2F8E708030-54F4-491F-8A87-08A00CC89660%40getmailspring.com%2F0%3Fredire= ct%3Dhttps%253A%252F%252Fgithub.com%252Ftianocore%252Fedk2%252Fpull%252F345= 7%26recipient%3DZGV2ZWxAZWRrMi5ncm91cHMuaW8%253D&recipient=3DZGV2ZWxAZWRrMi= 5ncm91cHMuaW8%3D), and 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. > > > > > 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&view=3Dresults (https://link.getmailspring.com/link/88A9D77B-7F20-48B= C-8DD5-FFE005E0F669@getmailspring.com/2?redirect=3Dhttps%3A%2F%2Flink.getma= ilspring.com%2Flink%2F8E708030-54F4-491F-8A87-08A00CC89660%40getmailspring.= com%2F1%3Fredirect%3Dhttps%253A%252F%252Flink.getmailspring.com%252Flink%25= 2FF2807860-FE79-4500-AAAC-A40889944AEC%2540getmailspring.com%252F0%253Fredi= rect%253Dhttps%25253A%25252F%25252Fdev.azure.com%25252Fkilaterlee%25252FLoo= ngArch_edk2%25252F_build%25252Fresults%25253FbuildId%25253D77%252526view%25= 253Dresults%2526recipient%253DZGV2ZWxAZWRrMi5ncm91cHMuaW8%25253D%26recipien= t%3DZGV2ZWxAZWRrMi5ncm91cHMuaW8%253D&recipient=3DZGV2ZWxAZWRrMi5ncm91cHMuaW= 8%3D) > > > > > > > > > > > > Thanks, > > Chao > > > > -------- > > > > > > > > > > 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 t= o all the maintainers! > > > > > > > > > > > > I have updated the LoongArch code repo to the EDK2 latest commit, app= lied the LoongArch patches based on it, and CI passed. > > > > > > > > > LoongArch repo URL: https://github.com/loongson/edk2/tree/LoongArch (= https://link.getmailspring.com/link/88A9D77B-7F20-48BC-8DD5-FFE005E0F669@ge= tmailspring.com/4?redirect=3Dhttps%3A%2F%2Fgithub.com%2Floongson%2Fedk2%2Ft= ree%2FLoongArch&recipient=3DZGV2ZWxAZWRrMi5ncm91cHMuaW8%3D) > > > CI results: https://dev.azure.com/kilaterlee/LoongArch_edk2/_build/re= sults?buildId=3D75&view=3Dresults (https://link.getmailspring.com/link/88A9= D77B-7F20-48BC-8DD5-FFE005E0F669@getmailspring.com/5?redirect=3Dhttps%3A%2F= %2Fdev.azure.com%2Fkilaterlee%2FLoongArch_edk2%2F_build%2Fresults%3FbuildId= %3D75%26view%3Dresults&recipient=3DZGV2ZWxAZWRrMi5ncm91cHMuaW8%3D) > > > > > > > > > > > > I think the LoongArch port is ready to merge into the EDK2 master bra= nch, if so please help me merge them. Please let me know if something shoul= d I do next. > > > > > > > > > -- > > > Thanks, > > > > > > Chao > > > > > > > > > > > > > -----=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 (https://link.get= mailspring.com/link/88A9D77B-7F20-48BC-8DD5-FFE005E0F669@getmailspring.com/= 7?redirect=3Dmailto%3Adevel%40edk2.groups.io&recipient=3DZGV2ZWxAZWRrMi5ncm= 91cHMuaW8%3D) > > > > > > > =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" , "Xia= oyu Lu" , "Zhiguang L= iu" , "Zhichao Ga= o" , "Bob Feng" , "Yuwei Chen" > > > > > > > =E4=B8=BB=E9=A2=98: [edk2-devel] [PATCH v3 00/34] Add a new archite= cture called LoongArch in EDK II > > > > > > > > > > > > > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3D4053 (https:/= /link.getmailspring.com/link/88A9D77B-7F20-48BC-8DD5-FFE005E0F669@getmailsp= ring.com/23?redirect=3Dhttps%3A%2F%2Fbugzilla.tianocore.org%2Fshow_bug.cgi%= 3Fid%3D4053&recipient=3DZGV2ZWxAZWRrMi5ncm91cHMuaW8%3D) > > > > > > > > > > > > > > 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 c= ommit > > > > > > > contains 35 patches, with patch 0 is the cover and the rest being t= he > > > > > > > LoongArch base code. > > > > > > > > > > > > > > Changes from v1 to v2: > > > > > > > 1. For patch 0008, added IANA website link in the commit message an= d > > > > > > > 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. > > > > > > > > > > > > > > Changes from v2 to v3: > > > > > > > 1. Added all reviewer in the correspondings patches. > > > > > > > 2. For patch 0029, converted LoongArch synchronization operations f= rom > > > > > > > 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 Ba= seTools. > > > > > > > > > > > > > > Please refer to this URL for the code repo of LoongArch64: > > > > > > > https://github.com/loongson/edk2/tree/LoongArch (https://link.getma= ilspring.com/link/88A9D77B-7F20-48BC-8DD5-FFE005E0F669@getmailspring.com/24= ?redirect=3Dhttps%3A%2F%2Fgithub.com%2Floongson%2Fedk2%2Ftree%2FLoongArch&r= ecipient=3DZGV2ZWxAZWRrMi5ncm91cHMuaW8%3D) > > > > > > > > > > > > > > Fore more documents of LoongArch please refer to following URL: > > > > > > > https://loongson.github.io/LoongArch-Documentation/README-EN.html (= https://link.getmailspring.com/link/88A9D77B-7F20-48BC-8DD5-FFE005E0F669@ge= tmailspring.com/25?redirect=3Dhttps%3A%2F%2Floongson.github.io%2FLoongArch-= Documentation%2FREADME-EN.html&recipient=3DZGV2ZWxAZWRrMi5ncm91cHMuaW8%3D) > > > > > > > > > > > > > > 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. > > > > > > > > > > > > > > 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 > > > > > > > > > > > > > > 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" secti= on > > > > > > > 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 C= I. > > > > > > > .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. > > > > > > > > > > > > > > .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.yaml > > > > > > > create mode 100644 BaseTools/Source/C/Include/LoongArch64/Processor= Bind.h > > > > > > > create mode 100644 MdeModulePkg/Core/DxeIplPeim/LoongArch64/DxeLoad= Func.c > > > > > > > create mode 100644 MdePkg/Include/LoongArch64/ProcessorBind.h > > > > > > > create mode 100644 MdePkg/Library/BaseCacheMaintenanceLib/LoongArch= Cache.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/DisableInterr= upts.S > > > > > > > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/EnableInterru= pts.S > > > > > > > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/GetInterruptS= tate.S > > > > > > > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/InternalSwitc= hStack.c > > > > > > > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/MemoryFence.S > > > > > > > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/SetJumpLongJu= mp.S > > > > > > > create mode 100644 MdePkg/Library/BaseLib/LoongArch64/SwitchStack.S > > > > > > > create mode 100644 MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoa= derEx.c > > > > > > > create mode 100644 MdePkg/Library/BaseSynchronizationLib/LoongArch6= 4/AsmSynchronization.S > > > > > > > create mode 100644 MdePkg/Library/BaseSynchronizationLib/LoongArch6= 4/Synchronization.c > > > > > > > > > > > > > > -- > > > > > > > 2.27.0 > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > =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 = Loongson Technology , which is intended only for the person or entity whose= address is listed above. Any use of the information contained herein in an= y way (including, but not limited to, total or partial disclosure, reproduc= tion or dissemination) by persons other than the intended recipient(s) is p= rohibited. If you receive this email in error, please notify the sender by = phone or email immediately and delete it. > > > > > > > > > > > > > >=20 --6347700d_81dcb56_63ae Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline
Liming,
Thank you. If EDK2 have merged new commit, I will re= base the PR in a few days. Please let me know if you have any questions.


Thanks,
Chao
--------

=
On 10=E6=9C=88 12 2022, at 8:20 =E6= =97=A9=E4=B8=8A, "gaoliming" <gaoliming@byosoft.com.cn> wrote:
<= blockquote>
Chao:<= /font>

 I will check thi= s PR, and merge it this week if no other comment.

 

Thanks

L= iming

<= strong>=E5=8F=91=E4=BB=B6=E4=BA=BA: de= vel@edk2.groups.io <devel@edk2.groups.io> = =E4=BB=A3=E8=A1=A8 Chao Li
=E5=8F=91=E9=80=81=E6=97=B6=E9=97=B4:<= font style=3D"font-size:11pt"> 2022=E5=B9=B410=E6=9C=8811=E6=97=A5 11:33
<= font style=3D"font-size:11pt">=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 " &l= t;devel@edk2.groups.io>; "Ray_Ni" <ray.ni@intel.com>; "Liming_Gao"= <gaoliming@byosoft.com.cn>; "Michael_D_Kinney" <michael.d.kinney@= intel.com>; "Guomin_Jiang" <guomin.jiang@intel.com>; "Wei6_Xu" <= ;wei6.xu@intel.com>; "Maciej_Rabeda" <maciej.rabeda@linux.intel.com&g= t;; "Jiaxin_Wu" <jiaxin.wu@intel.com>; "Siyuan_Fu" <siyuan.fu@inte= l.com>; "Jiewen_Yao" <jiewen.yao@intel.com>; "Jian_J_Wang" <jia= n.j.wang@intel.com>; "Xiaoyu_Lu" <xiaoyu1.lu@intel.com>; "Zhiguang= _Liu" <zhiguang.liu@intel.com>; "Zhichao_Gao" <zhichao.gao@intel.c= om>; "Bob_Feng" <bob.c.feng@intel.com>; "Yuwei_Chen" <yuwei.che= n@intel.com>
=E4=B8=BB=E9=A2=98: Re: [edk2-devel] [PATCH v3 00/34] Add a new arch= itecture called LoongArch in EDK II
 

Hi All= ,
I have created a PR in EDK2 repo= : https://github.com/tianocore/edk2/pull/3457, and= 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.
 


Thanks,
=
Chao=
--------
On = 10=E6=9C=88 8 2022, at 12:18 =E4=B8=AD=E5=8D=88, "Chao Li" <lichao@l= oongson.cn> wrote:
Hi All,
I have updated LoongAr= ch repo, the CI has passed, please check again:
 

 =

Tha= nks,
Chao
--------
&n= bsp;
On 10=E6=9C=88 1 2022, = at 8:54 =E6=97=A9=E4=B8=8A, "Chao Li" <lichao@loongson.cn> wr= ote:
Hi All,
Today, all of LoongArch patches have b= een approved, a big thank you to all the maintainers!
 

I have updated= the LoongArch code repo to the EDK2 latest commit, applied the LoongArch p= atches based on it, and CI passed.
&nbs= p;

 
<= br>
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.
 

--
Thanks,
Chao
=
 

> -----=E5=8E=9F=E5=A7=8B=E9=82=AE=E4=BB=B6-----
> =E5=8F=91=E4=BB=B6=E4=BA=BA: "Chao Li" <lic= hao@loongson.cn>
> =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
> =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>, "Guo= min Jiang" <guomin.jiang@intel.com>, "Wei6 Xu" <<= a href=3D"https://link.getmailspring.com/link/88A9D77B-7F20-48BC-8DD5-FFE00= 5E0F669@getmailspring.com/12?redirect=3Dmailto%3Awei6.xu%40intel.com&re= cipient=3DZGV2ZWxAZWRrMi5ncm91cHMuaW8%3D" title=3D"mailto:wei6.xu@intel.com= ">wei6.xu@intel.com>, "Maciej Rabeda" <maciej.rabeda@linux.intel.com>, "Jiaxin Wu" <jiaxin.wu@in= tel.com>, "Siyuan Fu" <siyuan.fu@intel.com>, "Jiewe= n Yao" <jiewen.yao@intel.com>, "Jian J Wang" <jian.j.wang@intel.com>, "Xiaoyu Lu" <xiaoyu1.lu@inte= l.com>, "Zhiguang Liu" <zhiguang.liu@intel.com&g= t;, "Zhichao Gao" <zhichao.gao@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 calle= d LoongArch in EDK II
> = ;
> UEFI Spec V2.10 already sup= ports LoongArch and all changes of this
> commit passwed Azure CI testing, so let's enable it in EDK2. Thi= s commit
> contains 35 patches,= with patch 0 is the cover and the rest being the
> LoongArch base code.
> Changes fr= om v1 to v2:
> 1. For patch 000= 8, added IANA website link in the commit message and
> Dhcp.h.
&g= t; 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 Barr= ier.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 me= ssage.
=
> Changes from v2 to v3:
> 1. Added all reviewer in the correspondings patches= .
> 2. For patch 0029, converte= d LoongArch synchronization operations from
> inline assembly code to ASM code.
> 3. For patch 0015, 0016, 0017, changed the commit messa= ge for more
> clarity.
> 4. For patch 0034, move it to patch 0= 018, 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:
> Mod= ified modules: FatPkg, FmpDevicePkg, NetworkPkg,
> NetworkPkg/HttpBootDxe, CryptoPkg, MdePkg/Include, Secu= rityPkg,
> ShellPkg, UnitTestFr= ameworkPkg, MdePkg/DxeServicesLib, MdeModulePkg,
> .python/SpellCheck, BaseTools, .azurepipelines, .pytool= , MdePkg,
> MdeModulePkg and Md= ePkg/MdePkg.ci.yaml.
> Cc: Ray Ni <ray.ni@intel.co= m>
> Cc: Liming Gao <= gaoliming@byosoft.com.cn>
> Cc: Michael D Kinney <michael.= d.kinney@intel.com>
> Cc= : Guomin Jiang <guomin.jiang@intel.com>
<= div>
> Cc: Wei6 Xu <wei6.xu@intel.com&= gt;
> Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
> Cc: Jiaxin Wu <jiaxin.wu@intel.c= om>
> Cc: Siyuan Fu <= siyuan.fu@intel.com>
> Cc: Jiewen Yao <jiewen.yao@intel.com>
<= div>
> Cc: Jian J Wang <jian.j.wan= g@intel.com>
> Cc: Xiaoy= u Lu <xiaoyu1.lu@intel.com>
> Cc: Zhiguang Liu <zhiguang.liu@intel.co= m>
> Cc: Zhichao Gao <= ;zhichao.gao@intel.com>
> Cc: Bob Feng <bob.c.feng@intel.com>
> Cc: Yuwei Chen <yuwei.ch= en@intel.com>
> Chao Li (34):
<= div class=3D"MsoNormal">> MdePkg: Added file of DebugSupport.h to MdePkg= .ci.yaml
> MdePkg: Added LoongA= rch jump buffer register definition to
> MdePkg.ci.yaml
> FatP= kg: Add LOONGARCH64 architecture for EDK2 CI.
> FmpDevicePkg: Add LOONGARCH64 architecture for EDK2 CI.
> NetworkPkg: Add LOONGARCH64 arc= hitecture for EDK2 CI.
> Networ= kPkg/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.
> UnitTestFramewor= kPkg: Add LOONGARCH64 architecture for EDK2 CI.
> MdePkg/DxeServicesLib: Add LOONGARCH64 architecture
> MdeModulePkg: Use LockBoxNullLib= for LOONGARCH64
> .python/Spel= lCheck: Add "Loongson" and "LOONGARCH" to "words" section
<= div class=3D"MsoNormal">> BaseTools: Update GenFw/GenFv to support Loong= Arch platform.
> BaseTools: Upd= ated for GCC5 tool chain for LoongArch platfrom.
> BaseTools: Updated build tools to support new LoongArch= .
> BaseTools: Add LoongArch64 = binding.
> BaseTools: Enable Lo= ongArch64 architecture for LoongArch64 EDK2 CI.
> .azurepipelines: Add LoongArch64 architecture on LoongA= rch64 EDK2 CI.
> .pytool: Add L= oongArch64 architecture on LoongArch64 EDK2 CI.
> MdePkg: Add LoongArch LOONGARCH64 binding
> MdePkg/Include: LoongArch definitions.
> MdePkg/BaseLib: BaseLib for LOON= GARCH64 architecture.
> MdePkg/= BaseCacheMaintenanceLib: LoongArch cache maintenance
> implementation.
> MdePkg/BaseIoLibIntrinsic: IoLibNoIo for LoongArch architecture.=
> MdePkg/BasePeCoff: Add Loong= Arch PE/Coff related code.
> Md= ePkg/BaseCpuLib: LoongArch Base CPU library implementation.
> MdePkg/BaseSynchronizationLib: LoongArch cac= he related code.
> MdePkg/BaseS= afeIntLib: Add LoongArch64 architecture for
> BaseSafeIntLib.
>= ; MdeModulePkg/Logo: Add LoongArch64 architecture.
> MdeModulePkg/CapsuleRuntimeDxe: Add LoongArch64 archi= tecture.
> MdeModulePkg/DxeIplP= eim : 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.yam= l | 22 ++
> BaseTools/Conf/tool= s_def.template | 54 +++-
> .../= LinuxGcc5ToolChain/LinuxGcc5ToolChain.py | 31 ++
> BaseTools/Source/C/Common/BasePeCoff.c | 15 +-
> BaseTools/Source/C/Common/PeCoffLoade= rEx.c | 79 +++++
> BaseTools/So= urce/C/GNUmakefile | 3 +
> Base= Tools/Source/C/GenFv/GenFvInternalLib.c | 125 +++++++-
> BaseTools/Source/C/GenFw/Elf64Convert.c | 293 +++= ++++++++++++++-
> BaseTools/Sou= rce/C/GenFw/elf_common.h | 94 ++++++
> .../C/Include/IndustryStandard/PeImage.h | 57 ++--
=
> .../C/Include/LoongArch64/ProcessorBind.h | 8= 0 +++++
> BaseTools/Source/C/Ma= kefiles/header.makefile | 6 +
>= BaseTools/Source/Python/Common/DataType.py | 21 +-
> .../Source/Python/UPT/Library/DataType.py | 24 +-
> BaseTools/Source/Python/build/b= uildoptions.py | 3 +-
> CryptoP= kg/CryptoPkg.dsc | 3 +-
> .../L= ibrary/BaseCryptLib/BaseCryptLib.inf | 6 +-
> .../Library/BaseCryptLib/RuntimeCryptLib.inf | 4 +
> .../BaseCryptLibNull/BaseCryptLibNull.= inf | 3 +-
> .../BaseCryptLibOn= ProtocolPpi/DxeCryptLib.inf | 3 +-
> .../BaseCryptLibOnProtocolPpi/PeiCryptLib.inf | 3 +-
=
> CryptoPkg/Library/Include/CrtLibSupport.h | 3= +-
> CryptoPkg/Library/Openssl= Lib/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 +-
<= /div>
> .../CapsuleRuntimeDxe/CapsuleRuntim= eDxe.inf | 9 +-
> MdePkg/Includ= e/IndustryStandard/Dhcp.h | 45 +--
> MdePkg/Include/IndustryStandard/PeImage.h | 9 +
> MdePkg/Include/Library/BaseLib.h | 24 ++
> MdePkg/Include/LoongArch64/ProcessorBi= nd.h | 120 +++++++
> MdePkg/Inc= lude/Protocol/DebugSupport.h | 107 ++++++-
> MdePkg/Include/Protocol/PxeBaseCode.h | 3 +
<= div class=3D"MsoNormal">> MdePkg/Include/Uefi/UefiBaseType.h | 14 +
> MdePkg/Include/Uefi/UefiSpec.h | = 16 +-
> .../BaseCacheMaintenanc= eLib.inf | 6 +-
> .../BaseCache= MaintenanceLib/LoongArchCache.c | 254 +++++++++++++++
> MdePkg/Library/BaseCpuLib/BaseCpuLib.inf | 7 +-
> MdePkg/Library/BaseCpuLib/BaseC= puLib.uni | 5 +-
> .../BaseCpuL= ib/LoongArch/CpuFlushTlb.S | 15 +
= > .../Library/BaseCpuLib/LoongArch/CpuSleep.S | 15 +
> .../BaseIoLibIntrinsic/BaseIoLibIntrinsic.inf | = 10 +-
> MdePkg/Library/BaseIoLi= bIntrinsic/IoLibNoIo.c | 3 +-
>= MdePkg/Library/BaseLib/BaseLib.inf | 16 +-
> MdePkg/Library/BaseLib/LoongArch64/Barrier.S | 28 ++
> .../BaseLib/LoongArch64/CpuBreakpoin= t.S | 24 ++
> MdePkg/Library/Ba= seLib/LoongArch64/CpuPause.S | 31 ++
> .../BaseLib/LoongArch64/DisableInterrupts.S | 21 ++
> .../BaseLib/LoongArch64/EnableInterrupts.S |= 21 ++
> .../BaseLib/LoongArch6= 4/GetInterruptState.S | 35 +++
>= ; .../BaseLib/LoongArch64/InternalSwitchStack.c | 58 ++++
<= div class=3D"MsoNormal">> .../Library/BaseLib/LoongArch64/MemoryFence.S = | 18 ++
> .../BaseLib/LoongArch= 64/SetJumpLongJump.S | 49 +++
>= .../Library/BaseLib/LoongArch64/SwitchStack.S | 39 +++
> MdePkg/Library/BasePeCoffLib/BasePeCoff.c | 3 +-=
> .../Library/BasePeCoffLib/Ba= sePeCoffLib.inf | 5 +
> .../Lib= rary/BasePeCoffLib/BasePeCoffLib.uni | 2 +
> .../BasePeCoffLib/LoongArch/PeCoffLoaderEx.c | 137 ++++++++
> .../Library/BaseSafeIntLib/Bas= eSafeIntLib.inf | 9 +-
> .../Ba= seSynchronizationLib.inf | 6 +
>= ; .../LoongArch64/AsmSynchronization.S | 122 ++++++++
> .../LoongArch64/Synchronization.c | 233 ++++++++++= ++++
> .../Library/DxeServicesL= ib/DxeServicesLib.inf | 4 +-
> = MdePkg/MdePkg.ci.yaml | 13 +
> = MdePkg/MdePkg.dec | 4 +
> MdePk= g/MdePkg.dsc | 3 +-
> NetworkPk= g/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 +-<= /div>
> 81 files changed, 2478 insert= ions(+), 119 deletions(-)
> cre= ate mode 100644 BaseTools/Bin/gcc_loongarch64_unknown_linux_ext_dep.yaml
> create mode 100644 BaseTools/So= urce/C/Include/LoongArch64/ProcessorBind.h
> create mode 100644 MdeModulePkg/Core/DxeIplPeim/LoongArch64/D= xeLoadFunc.c
> create mode 1006= 44 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/Lo= ongArch/CpuSleep.S
> create mod= e 100644 MdePkg/Library/BaseLib/LoongArch64/Barrier.S
> create mode 100644 MdePkg/Library/BaseLib/LoongArc= h64/CpuBreakpoint.S
> create mo= de 100644 MdePkg/Library/BaseLib/LoongArch64/CpuPause.S
> create mode 100644 MdePkg/Library/BaseLib/LoongA= rch64/DisableInterrupts.S
> cre= ate mode 100644 MdePkg/Library/BaseLib/LoongArch64/EnableInterrupts.S
=
> create mode 100644 MdePkg/Library/= BaseLib/LoongArch64/GetInterruptState.S
> create mode 100644 MdePkg/Library/BaseLib/LoongArch64/InternalSw= itchStack.c
> create mode 10064= 4 MdePkg/Library/BaseLib/LoongArch64/MemoryFence.S
> create mode 100644 MdePkg/Library/BaseLib/LoongArch64= /SetJumpLongJump.S
> create mod= e 100644 MdePkg/Library/BaseLib/LoongArch64/SwitchStack.S
<= div class=3D"MsoNormal">> create mode 100644 MdePkg/Library/BasePeCoffLi= b/LoongArch/PeCoffLoaderEx.c
> = create mode 100644 MdePkg/Library/BaseSynchronizationLib/LoongArch64/AsmSyn= chronization.S
> create mode 10= 0644 MdePkg/Library/BaseSynchronizationLib/LoongArch64/Synchronization.c
> --
> 2.27.= 0
>= ; 
&n= bsp;

=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 con= fidential information from Loongson Technology , which is intended only for= the person or entity whose address is listed above. Any use of the informa= tion contained herein in any way (including, but not limited to, total or p= artial disclosure, reproduction or dissemination) by persons other than the= intended recipient(s) is prohibited. If you receive this email in error, p= lease notify the sender by phone or email immediately and delete it.
<= /div>
 
<= div>
3D"Sent --6347700d_81dcb56_63ae--