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.web10.6495.1649733334321258925 for ; Mon, 11 Apr 2022 20:15:35 -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.65]) by mail.loongson.cn (Coremail) with SMTP id AQAAf9AxGszS7lRiTc4fAA--.10604S2; Tue, 12 Apr 2022 11:15:30 +0800 (CST) Date: Tue, 12 Apr 2022 11:15:24 +0800 From: "Chao Li" To: "=?utf-8?Q?=22Chang=2C_Abner_(HPS_SW/FW_Technologist)=22?=" Cc: "=?utf-8?Q?=22devel=40edk2.groups.io=22?=" , Ray Ni , Liming Gao , =?utf-8?Q?=22Michael_D_Kinney=22?= , 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 Message-ID: In-Reply-To: References: Subject: Re: [edk2-devel] [staging/LoongArch RESEND PATCH v1 00/33] Add a new architecture called LoongArch in EDK II X-Mailer: Mailspring MIME-Version: 1.0 X-CM-TRANSID: AQAAf9AxGszS7lRiTc4fAA--.10604S2 X-Coremail-Antispam: 1UD129KBjvJXoWfGFWDJFyUJF17WFW5JFy5urg_yoWDtrWDpa 1qkr4fGF1jgFWagw43Ka4UWFn5KFWkGFy5GFsYvr17C39FyF1kG34ayrWrXrW5Z348t34F 9ryFgFsxW3WDJrJanT9S1TB71UUUUUDqnTZGkaVYY2UrUUUUjbIjqfuFe4nvWSU5nxnvy2 9KBjDU0xBIdaVrnRJUUUQCb7Iv0xC_Cr1lb4IE77IF4wAFF20E14v26r1j6r4UM7CY07I2 0VC2zVCF04k26cxKx2IYs7xG6rWj6s0DM7CIcVAFz4kK6r1j6r18M28lY4IEw2IIxxk0rw A2F7IY1VAKz4vEj48ve4kI8wA2z4x0Y4vE2Ix0cI8IcVAFwI0_Ar0_tr1l84ACjcxK6xII jxv20xvEc7CjxVAFwI0_Gr1j6F4UJwA2z4x0Y4vEx4A2jsIE14v26F4UJVW0owA2z4x0Y4 vEx4A2jsIEc7CjxVAFwI0_Cr1j6rxdM2AIxVAIcxkEcVAq07x20xvEncxIr21l5I8CrVAY j202j2C_Jr0_Gr1l5I8CrVAaz4v26cxKscIFY7kG0wAqx4xG64xvF2IEw4CE5I8CrVC2j2 Wl5I8CrVAKz4kIr2xC04v26r4j6ryUMc02F40Ex7xS67I2xxkvbII20VAFz48EcVAYj21l Yx0E2Ix0cI8IcVAFwI0_Jrv_JF1lYx0Ex4A2jsIE14v26r1j6r4UMcvjeVCFs4IE7xkEbV WUJVW8JwACjcxG0xvY0x0EwIxGrwCjr7xvwVCIw2I0I7xG6c02F41lc2xSY4AK6svPMxAI w28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMI8I3I0E5I8CrVAFwI0_JrI_Jr Wlx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17CEb7AF67AKxVW8ZVWrXwCIc40Y0x0EwIxG rwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8Jw CI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIxAIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2 z280aVCY1x0267AKxVWUJVW8JbIYCTnIWIevJa73UjIFyTuYvjxU4LZ2DUUUU X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQAOCF3QvPKDDQADsJ Content-Type: multipart/alternative; boundary="6254eecc_364fa20d_1388" --6254eecc_364fa20d_1388 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi Abner, Thank you review the all of the patch, and sorry for reply so late, I will = check the feedback these days, thank you! -- Thanks, Chao ------------------------ On 4=E6=9C=88 9 2022, at 3:26 =E4=B8=8B=E5=8D=88, "Chang, Abner (HPS SW/FW = Technologist)" wrote: > > Hi Li, > I had went through the whole patch set and gave feedbacks to the patch re= spectively. Apart from those comments, I have no problems with this contrib= ution. I think we can adopt LoongArch port in the mainstream edk2 repo afte= r the comments are addressed and the corresponding spec defined in UEFI spe= c unless any objections from others. > > Thanks > Abner > From: devel@edk2.groups.io on behalf of Chao Li > Sent: Wednesday, February 9, 2022 2:51 PM > To: devel@edk2.groups.io > Cc: Ray Ni ; Liming Gao ; Mic= hael D Kinney ; Guomin Jiang ; Wei6 Xu ; Maciej Rabeda ; Jiaxin Wu ; Siyuan Fu ; = Jiewen Yao ; Jian J Wang ; Xia= oyu Lu ; Zhiguang Liu ; Zhich= ao Gao ; Bob Feng ; Yuwei Chen= > Subject: [edk2-devel] [staging/LoongArch RESEND PATCH v1 00/33] Add a new= architecture called LoongArch in EDK II > > > This new Arch should go through the EDK II Code First Process and then > the USWG can review our ECR. This commit contains 34 patchs, patch 0 is > the cover, patch 33 is Readme modification, and the others are the new > Arch support. > > Modified modules: FatPkg, FmpDevicePkg, NetworkPkg, > NetworkPkg/HttpBootDxe, CryptoPkg, MdePkg/Include, SecurityPkg, > ShellPkg, UnitTestFrameworkPkg, MdePkg/DxeServicesLib, MdeModulePkg, > .python/SpellCheck, BaseTools, .azurepipelines, .pytool, MdePkg, > MdeModulePkg. > > 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 (33): > 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: BaseTools changes for LoongArch platform. > BaseTools: BaseTools changes for LoongArch platform. > BaseTools: BaseTools changes for LoongArch 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 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. > BaseTools: Add LoongArch64 binding. > Readme: Update the readme > > .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 | 43 ++- > .../LinuxGcc5ToolChain/LinuxGcc5ToolChain.py | 31 +++ > BaseTools/Source/C/Common/BasePeCoff.c | 15 +- > BaseTools/Source/C/Common/PeCoffLoaderEx.c | 76 ++++++ > BaseTools/Source/C/GNUmakefile | 3 + > BaseTools/Source/C/GenFv/GenFvInternalLib.c | 128 ++++++++- > BaseTools/Source/C/GenFw/Elf64Convert.c | 153 ++++++++++- > BaseTools/Source/C/GenFw/elf_common.h | 58 ++++ > .../C/Include/IndustryStandard/PeImage.h | 57 ++-- > .../C/Include/LoongArch64/ProcessorBind.h | 80 ++++++ > 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 | 61 +++++ > MdeModulePkg/Logo/Logo.inf | 3 +- > MdeModulePkg/MdeModulePkg.dsc | 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/ProcessorBind.h | 121 +++++++++ > MdePkg/Include/Protocol/DebugSupport.h | 65 ++++- > MdePkg/Include/Protocol/PxeBaseCode.h | 3 + > MdePkg/Include/Uefi/UefiBaseType.h | 14 + > MdePkg/Include/Uefi/UefiSpec.h | 16 +- > .../BaseCacheMaintenanceLib.inf | 4 + > .../BaseCacheMaintenanceLib/LoongArchCache.c | 253 ++++++++++++++++++ > 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 | 13 + > .../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 | 19 ++ > .../BaseLib/LoongArch64/SetJumpLongJump.S | 49 ++++ > .../Library/BaseLib/LoongArch64/SwitchStack.S | 39 +++ > .../Library/BaseLib/LoongArch64/Unaligned.c | 244 +++++++++++++++++ > MdePkg/Library/BasePeCoffLib/BasePeCoff.c | 3 +- > .../Library/BasePeCoffLib/BasePeCoffLib.inf | 5 + > .../Library/BasePeCoffLib/BasePeCoffLib.uni | 2 + > .../BasePeCoffLib/LoongArch/PeCoffLoaderEx.c | 132 +++++++++ > .../Library/BaseSafeIntLib/BaseSafeIntLib.inf | 9 +- > .../BaseSynchronizationLib.inf | 5 + > .../LoongArch64/Synchronization.c | 239 +++++++++++++++++ > .../Library/DxeServicesLib/DxeServicesLib.inf | 4 +- > MdePkg/MdePkg.dec | 4 + > MdePkg/MdePkg.dsc | 3 +- > NetworkPkg/HttpBootDxe/HttpBootDhcp4.h | 3 + > NetworkPkg/Network.dsc.inc | 3 +- > NetworkPkg/NetworkPkg.dsc | 3 +- > ReadMe.md | 17 ++ > SecurityPkg/SecurityPkg.dsc | 3 +- > ShellPkg/ShellPkg.dsc | 3 +- > UnitTestFrameworkPkg/UnitTestFrameworkPkg.dsc | 3 +- > 79 files changed, 2340 insertions(+), 110 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/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/BaseLib/LoongArch64/Unaligned.c > create mode 100644 MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.= c > create mode 100644 MdePkg/Library/BaseSynchronizationLib/LoongArch64/Sync= hronization.c > create mode 100644 ReadMe.md > > -- > 2.27.0 > > > > > > >=20 --6254eecc_364fa20d_1388 Content-Type: text/html; charset="utf-8" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline
Hi Abner,

Thank you review the all of the patch, and sor= ry for reply so late, I will check the feedback these days, thank you!

--
Thanks,
Chao
------------------------


On 4=E6=9C=88 9 2= 022, at 3:26 =E4=B8=8B=E5=8D=88, "Chang, Abner (HPS SW/FW Technologist)" &l= t;abner.chang@hpe.com> wrote:
 
Hi Li,
I h= ad went through the whole patch set and gave feedbacks to the patch respect= ively. Apart from those comments, I have no problems with this contribution= . I think we can adopt LoongArch port in the mainstream edk2 repo= after the comments are addressed and the corresponding spec defined in UEF= I spec unless any objections from others.

Thanks
Abner
From:<= /font> devel@edk2.groups.io <devel@edk2.groups.io> on behalf= of Chao Li <lichao@loongson.cn>
Sent: Wednesday, February 9, 2022 2:51 PM<= /font>
To: d= evel@edk2.groups.io <devel@edk2.groups.io>
 Ray Ni <ray.ni@intel.com&g= t;; Liming Gao <gaoliming@byosoft.com.cn>; Michael D Kinney <micha= el.d.kinney@intel.com>; Guomin Jiang <guomin.jiang@intel.com>; Wei= 6 Xu <wei6.xu@intel.com>; Maciej Rabeda <maciej.rabeda@linux.intel= .com>; Jiaxin Wu <jiaxin.wu@intel.com>; Siyuan Fu <siyuan.fu@in= tel.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 <zhichao.gao@intel.com>; = Bob Feng <bob.c.feng@intel.com>; Yuwei Chen <yuwei.chen@intel.com&= gt;
Subject:=  [edk2-devel] [staging/LoongArch RESEND PATCH v1 00/33] Add a new arch= itecture called LoongArch in EDK II
 
This new Arch should go through the EDK II Code First Proc= ess and then
the USWG can r= eview our ECR. This commit contains 34 patchs, patch 0 is
= the cover, patch 33 is Readme modification, = and the others are the new
= Arch support.

Modified = modules: FatPkg, FmpDevicePkg, NetworkPkg,
NetworkPkg/HttpBootDxe, CryptoPkg, MdePkg/Include, Security= Pkg,
ShellPkg, UnitTestFram= eworkPkg, MdePkg/DxeServicesLib, MdeModulePkg,
.python/SpellCheck, BaseTools, .azurepipelines, .pytool= , MdePkg,
MdeModulePkg.

Cc: Ray Ni <ray.ni@inte= l.com>
Cc: Liming Gao &l= t;gaoliming@byosoft.com.cn>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Cc: Guomin Jiang <guomin.jiang@intel.co= m>
Cc: Wei6 Xu <wei6.= xu@intel.com>
Cc: Maciej= Rabeda <maciej.rabeda@linux.intel.com>
Cc: Jiaxin Wu <jiaxin.wu@intel.com>
<= div>Cc: Siyuan Fu <siyuan.fu@intel.com>= ;
Cc: Jiewen Yao <jiewen= .yao@intel.com>
Cc: Jian= J Wang <jian.j.wang@intel.com>
Cc: Xiaoyu Lu <xiaoyu1.lu@intel.com>
Cc: Zhiguang Liu <zhiguang.liu@intel.com><= /font>
Cc: Zhichao Gao <zhichao= .gao@intel.com>
Cc: Bob = Feng <bob.c.feng@intel.com>
Cc: Yuwei Chen <yuwei.chen@intel.com>

Chao Li (33):
  FatPkg: Add LOONGARCH64 architecture for EDK2 CI.
  FmpDevicePkg: Add LOONG= ARCH64 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 LOON= GARCH 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: A= dd LOONGARCH64 architecture
  MdeModulePkg: Use LockBoxNullLib for LOONGARCH64
<= font style=3D"font-size:11pt">  .python/SpellCheck: Add "Loongson" and= "LOONGARCH" to "words" section
  BaseTools: BaseTools changes for LoongArch platform.
  BaseTools: BaseTools changes f= or LoongArch platform.
&nbs= p; BaseTools: BaseTools changes for LoongArch platform.
  BaseTools: Enable LoongArch64 architect= ure for LoongArch64 EDK2 CI.
  .azurepipelines: Add LoongArch64 architecture on LoongArch64 EDK2 = CI.
  .pytool: Add Loo= ngArch64 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
  &nb= sp; implementation.
  = MdePkg/BaseIoLibIntrinsic: IoLibNoIo for LoongArch architecture.
  MdePkg/BasePeCoff: Add LoongAr= ch PE/Coff related code.
&n= bsp; MdePkg/BaseCpuLib: LoongArch Base CPU library implementation.
  MdePkg/BaseSynchronizationLi= b: LoongArch cache related code.
  MdePkg/BaseSafeIntLib: Add LoongArch64 architecture for=
    BaseSafeIntLib= .
  MdeModulePkg/Logo:= Add LoongArch64 architecture.
  MdeModulePkg/CapsuleRuntimeDxe: Add LoongArch64 architecture.
  MdeModulePkg/DxeIplPei= m : LoongArch DxeIPL implementation.
  NetworkPkg: Add LoongArch64 architecture.
  BaseTools: Add LoongArch64 binding.<= /font>
  Readme: Update the r= eadme

 .azurepipel= ines/Ubuntu-GCC5.yml         &= nbsp;     |   3 +-
 .pytool/CISettings.py    &n= bsp;            = ;        |   5 +-
=
 .pytool/Plugin/SpellCheck/cspell.= base.yaml    |   4 +-
 ...gcc_loongarch64_unknown_linux_ext_dep.yaml |&n= bsp; 22 ++
 BaseTools/= Conf/tools_def.template        &nbs= p;    |  43 ++-
 .../LinuxGcc5ToolChain/LinuxGcc5ToolChain.py  |  3= 1 +++
 BaseTools/Sourc= e/C/Common/BasePeCoff.c        |  1= 5 +-
 BaseTools/Source= /C/Common/PeCoffLoaderEx.c    |  76 ++++++
=
 BaseTools/Source/C/GNUmakefile&nb= sp;            =    |   3 +
 BaseTools/Source/C/GenFv/GenFvInternalLib.c   | 128 +++= +++++-
 BaseTools/Sour= ce/C/GenFw/Elf64Convert.c       | 153 +++++++= +++-
 BaseTools/Source= /C/GenFw/elf_common.h         |&nbs= p; 58 ++++
 .../C/Incl= ude/IndustryStandard/PeImage.h      |  57 ++-= -
 .../C/Include/Loong= Arch64/ProcessorBind.h     |  80 ++++++
 BaseTools/Source/Python/Common/= DataType.py    |  21 +-
 .../Source/Python/UPT/Library/DataType.py  = ;   |  24 +-
 BaseTools/Source/Python/build/buildoptions.py |   3 +-
 CryptoPkg/CryptoPkg.dsc&= nbsp;           &nbs= p;          |   3 +-=
 .../Library/BaseCryp= tLib/BaseCryptLib.inf     |   6 +-
 .../Library/BaseCryptLib/Runtim= eCryptLib.inf  |   4 +
 .../BaseCryptLibNull/BaseCryptLibNull.inf   = ;  |   3 +-
=  .../BaseCryptLibOnProtocolPpi/DxeCryptLib.inf |   3 +-
 .../BaseCryptLibOnProtoco= lPpi/PeiCryptLib.inf |   3 +-
 CryptoPkg/Library/Include/CrtLibSupport.h  &nb= sp;  |   3 +-
 CryptoPkg/Library/OpensslLib/OpensslLib.inf   | &nbs= p; 2 +
 .../Library/Op= ensslLib/OpensslLibCrypto.inf   |   2 +
 CryptoPkg/Library/TlsLib/TlsLib.inf&= nbsp;          |   3= +-
 CryptoPkg/Library= /TlsLibNull/TlsLibNull.inf   |   3 +-
=  FatPkg/FatPkg.dsc   &nb= sp;            =              |&= nbsp;  3 +-
 FmpD= evicePkg/FmpDevicePkg.dsc        &n= bsp;        |   3 +-
 MdeModulePkg/Core/DxeIplPeim/D= xeIpl.inf       |   6 +-
 .../Core/DxeIplPeim/LoongArch64= /DxeLoadFunc.c |  61 +++++
 MdeModulePkg/Logo/Logo.inf      &n= bsp;            = ; |   3 +-
 = MdeModulePkg/MdeModulePkg.dsc       &nbs= p;         |   4 +-
 .../CapsuleRuntimeDxe/Caps= uleRuntimeDxe.inf   |   9 +-
 MdePkg/Include/IndustryStandard/Dhcp.h &nb= sp;      |  41 +--
 MdePkg/Include/IndustryStandard/PeImage.h =     |   9 +
 MdePkg/Include/Library/BaseLib.h    &nb= sp;         |  24 ++
 MdePkg/Include/LoongArch64/Pro= cessorBind.h    | 121 +++++++++
 MdePkg/Include/Protocol/DebugSupport.h  = ;      |  65 ++++-
 MdePkg/Include/Protocol/PxeBaseCode.h &nbs= p;       |   3 +
<= font style=3D"font-size:11pt"> MdePkg/Include/Uefi/UefiBaseType.h = ;           |  14 +<= /font>
 MdePkg/Include/Uefi/U= efiSpec.h           =      |  16 +-
 .../BaseCacheMaintenanceLib.inf    &n= bsp;          |   4 = +
 .../BaseCacheMainte= nanceLib/LoongArchCache.c  | 253 ++++++++++++++++++
<= font style=3D"font-size:11pt"> MdePkg/Library/BaseCpuLib/BaseCpuLib.in= f      |   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/Io= LibNoIo.c |   3 +-
 MdePkg/Library/BaseLib/BaseLib.inf     &nb= sp;      |  13 +
 .../BaseLib/LoongArch64/CpuBreakpoint.S &nbs= p;     |  24 ++
 MdePkg/Library/BaseLib/LoongArch64/CpuPause.S |  3= 1 +++
 .../BaseLib/Loo= ngArch64/DisableInterrupts.S   |  21 ++
 .../BaseLib/LoongArch64/EnableInterrupts.= S    |  21 ++
 .../BaseLib/LoongArch64/GetInterruptState.S   | = ; 35 +++
 .../BaseLib/= LoongArch64/InternalSwitchStack.c |  58 ++++
 .../Library/BaseLib/LoongArch64/MemoryFence.S = |  19 ++
 .../Bas= eLib/LoongArch64/SetJumpLongJump.S     |  49 ++++<= /font>
 .../Library/BaseLib/L= oongArch64/SwitchStack.S |  39 +++
 .../Library/BaseLib/LoongArch64/Unaligned.c   = | 244 +++++++++++++++++
&nb= sp;MdePkg/Library/BasePeCoffLib/BasePeCoff.c     | = ;  3 +-
 .../Libr= ary/BasePeCoffLib/BasePeCoffLib.inf   |   5 +
 .../Library/BasePeCoffLib/Base= PeCoffLib.uni   |   2 +
 .../BasePeCoffLib/LoongArch/PeCoffLoaderEx.c  |= 132 +++++++++
 .../Li= brary/BaseSafeIntLib/BaseSafeIntLib.inf |   9 +-
 .../BaseSynchronizationLib.inf &= nbsp;           &nbs= p;  |   5 +
=  .../LoongArch64/Synchronization.c      =        | 239 +++++++++++++++++
 .../Library/DxeServicesLib/DxeServi= cesLib.inf |   4 +-
 MdePkg/MdePkg.dec        &= nbsp;           &nbs= p;        |   4 +
=
 MdePkg/MdePkg.dsc  &nbs= p;            &= nbsp;           &nbs= p; |   3 +-
 = ;NetworkPkg/HttpBootDxe/HttpBootDhcp4.h      =   |   3 +
&n= bsp;NetworkPkg/Network.dsc.inc       &nb= sp;            |&nbs= p;  3 +-
 Network= Pkg/NetworkPkg.dsc         &nb= sp;           | &nbs= p; 3 +-
 ReadMe.md&nbs= p;            &= nbsp;           &nbs= p;           |  17 += +
 SecurityPkg/Securit= yPkg.dsc           &= nbsp;       |   3 +-
 ShellPkg/ShellPkg.dsc  &n= bsp;            = ;          |   3 +-<= /font>
 UnitTestFrameworkPkg/= UnitTestFrameworkPkg.dsc |   3 +-
 79 files changed, 2340 insertions(+), 110 deletions(= -)
 create mode 100644= BaseTools/Bin/gcc_loongarch64_unknown_linux_ext_dep.yaml
=  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/BaseCac= heMaintenanceLib/LoongArchCache.c
 create mode 100644 MdePkg/Library/BaseCpuLib/LoongArch/CpuFlus= hTlb.S
 create mode 10= 0644 MdePkg/Library/BaseCpuLib/LoongArch/CpuSleep.S
 create mode 100644 MdePkg/Library/BaseLib/Lo= ongArch64/CpuBreakpoint.S
&= nbsp;create mode 100644 MdePkg/Library/BaseLib/LoongArch64/CpuPause.S
 create mode 100644 MdePkg/= Library/BaseLib/LoongArch64/DisableInterrupts.S
 create mode 100644 MdePkg/Library/BaseLib/LoongA= rch64/EnableInterrupts.S
&n= bsp;create mode 100644 MdePkg/Library/BaseLib/LoongArch64/GetInterruptState= .S
 create mode 100644= MdePkg/Library/BaseLib/LoongArch64/InternalSwitchStack.c
=  create mode 100644 MdePkg/Library/Base= Lib/LoongArch64/MemoryFence.S
 create mode 100644 MdePkg/Library/BaseLib/LoongArch64/SetJumpLongJ= ump.S
 create mode 100= 644 MdePkg/Library/BaseLib/LoongArch64/SwitchStack.S
 create mode 100644 MdePkg/Library/BaseLib/L= oongArch64/Unaligned.c
&nbs= p;create mode 100644 MdePkg/Library/BasePeCoffLib/LoongArch/PeCoffLoaderEx.= c
 create mode 100644 = MdePkg/Library/BaseSynchronizationLib/LoongArch64/Synchronization.c<= /div>
 create mode 100644 ReadMe.md=

--
2.27.0






3D"Sent= --6254eecc_364fa20d_1388--