public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "Chao Li" <lichao@loongson.cn>
To: devel@edk2.groups.io
Cc: "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>,
	 "Jiaxin Wu" <jiaxin.wu@intel.com>,
	"Siyuan 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" <zhichao.gao@intel.com>,
	 "Bob Feng" <bob.c.feng@intel.com>,
	 "Yuwei Chen" <yuwei.chen@intel.com>
Subject: Re: [edk2-devel] [PATCH v3 00/34] Add a new architecture called LoongArch in EDK II
Date: Sat, 1 Oct 2022 08:54:33 +0800 (GMT+08:00)	[thread overview]
Message-ID: <2108aa0d.dec6.1839109aa42.Coremail.lichao@loongson.cn> (raw)
In-Reply-To: <1718B356B7BEA944.27692@groups.io>

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" <lichao@loongson.cn>
> 发送时间:2022-09-27 19:13:20 (星期二)
> 收件人: 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>, "Jiaxin Wu" <jiaxin.wu@intel.com>, "Siyuan 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" <zhichao.gao@intel.com>, "Bob Feng" <bob.c.feng@intel.com>, "Yuwei Chen" <yuwei.chen@intel.com>
> 主题: [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 <ray.ni@intel.com>
> Cc: Liming Gao <gaoliming@byosoft.com.cn>
> Cc: Michael D Kinney <michael.d.kinney@intel.com>
> Cc: Guomin Jiang <guomin.jiang@intel.com>
> Cc: Wei6 Xu <wei6.xu@intel.com>
> Cc: Maciej Rabeda <maciej.rabeda@linux.intel.com>
> Cc: Jiaxin Wu <jiaxin.wu@intel.com>
> Cc: Siyuan Fu <siyuan.fu@intel.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>
> Cc: Zhichao Gao <zhichao.gao@intel.com>
> Cc: Bob Feng <bob.c.feng@intel.com>
> Cc: Yuwei Chen <yuwei.chen@intel.com>
> 
> Chao Li (34):
>   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. 

       reply	other threads:[~2022-10-01  0:54 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <1718B356B7BEA944.27692@groups.io>
2022-10-01  0:54 ` Chao Li [this message]
     [not found] <1719CBDB2B1C8D26.20933@groups.io>
2022-10-08  4:18 ` [edk2-devel] [PATCH v3 00/34] Add a new architecture called LoongArch in EDK II Chao Li
     [not found] <171BFD106AA206F3.26570@groups.io>
2022-10-11  3:32 ` Chao Li

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-list from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=2108aa0d.dec6.1839109aa42.Coremail.lichao@loongson.cn \
    --to=devel@edk2.groups.io \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox