Chao: I create PR https://github.com/tianocore/edk2/pull/3474 to merge this patch set. Thanks Liming 发件人: devel@edk2.groups.io 代表 Chao Li 发送时间: 2022年10月13日 9:55 收件人: "gaoliming" 抄送: devel@edk2.groups.io; "Ray_Ni" ; "Michael_D_Kinney" ; "Guomin_Jiang" ; "Wei6_Xu" ; "Maciej_Rabeda" ; "Jiaxin_Wu" ; "Jiewen_Yao" ; "Jian_J_Wang" ; "Xiaoyu_Lu" ; "Zhiguang_Liu" ; "Zhichao_Gao" ; "Bob_Feng" ; "Yuwei_Chen" 主题: Re: [edk2-devel] 回复: edk2-devel] [PATCH v3 00/34] Add a new architecture called LoongArch in EDK II Liming, Thank you. If EDK2 have merged new commit, I will rebase the PR in a few days. Please let me know if you have any questions. Thanks, Chao -------- On 10月 12 2022, at 8:20 早上, "gaoliming" > wrote: Chao: I will check this PR, and merge it this week if no other comment. Thanks Liming 发件人: devel@edk2.groups.io > 代表 Chao Li 发送时间: 2022年10月11日 11:33 收件人: devel@edk2.groups.io ; lichao@loongson.cn 抄送: " 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" > 主题: Re: [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 , 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月 8 2022, at 12:18 中午, "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=77&view=results Thanks, Chao -------- On 10月 1 2022, at 8:54 早上, "Chao Li" > 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 the EDK2 latest commit, applied the LoongArch patches based on it, and CI passed. LoongArch repo URL: https://github.com/loongson/edk2/tree/LoongArch CI results: https://dev.azure.com/kilaterlee/LoongArch_edk2/_build/results?buildId=75 &view=results I think the LoongArch port is ready to merge into the EDK2 master branch, if so please help me merge them. Please let me know if something should I do next. -- Thanks, Chao > -----原始邮件----- > 发件人: "Chao Li" > > 发送时间:2022-09-27 19:13:20 (星期二) > 收件人: 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" > > 主题: [edk2-devel] [PATCH v3 00/34] Add a new architecture called LoongArch in EDK II > > REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4053 > > 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. > > 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. > > 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 BaseTools. > > Please refer to this URL for the code repo of LoongArch64: > https://github.com/loongson/edk2/tree/LoongArch > > Fore more documents of LoongArch please refer to following URL: > https://loongson.github.io/LoongArch-Documentation/README-EN.html > > 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" 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. > > .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/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/AsmSynchronization.S > create mode 100644 MdePkg/Library/BaseSynchronizationLib/LoongArch64/Synchronization.c > > -- > 2.27.0 > > > > > 本邮件及其附件含有龙芯中科的商业秘密信息,仅限于发送给上面地址中列出的个人或群组。禁止任何其他人以任何形式使用(包括但不限于全部或部分地泄露、复制或散发)本邮件及其附件中的信息。如果您错收本邮件,请您立即电话或邮件通知发件人并删除本邮件。 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 any way (including, but not limited to, total or partial disclosure, reproduction or dissemination) by persons other than the intended recipient(s) is prohibited. If you receive this email in error, please notify the sender by phone or email immediately and delete it.