public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
From: "gaoliming" <gaoliming@byosoft.com.cn>
To: <devel@edk2.groups.io>, <kraxel@redhat.com>
Cc: "'Xiaoyu Lu'" <xiaoyu1.lu@intel.com>,
	"'Bob Feng'" <bob.c.feng@intel.com>,
	"'Rebecca Cran'" <rebecca@bsdio.com>,
	"'James Bottomley'" <jejb@linux.ibm.com>,
	"'Sami Mujawar'" <Sami.Mujawar@arm.com>,
	"'Jordan Justen'" <jordan.l.justen@intel.com>,
	"'Erdem Aktas'" <erdemaktas@google.com>,
	"'Jiewen Yao'" <jiewen.yao@intel.com>,
	"'Supreeth Venkatesh'" <supreeth.venkatesh@arm.com>,
	"'Sebastien Boeuf'" <sebastien.boeuf@intel.com>,
	"'Zhichao Gao'" <zhichao.gao@intel.com>,
	"'Zhiguang Liu'" <zhiguang.liu@intel.com>,
	"'Maciej Rabeda'" <maciej.rabeda@linux.intel.com>,
	"'Maurice Ma'" <maurice.ma@intel.com>,
	"'Andrew Fish'" <afish@apple.com>,
	"'Ard Biesheuvel'" <ardb+tianocore@kernel.org>,
	"'Tom Lendacky'" <thomas.lendacky@amd.com>,
	"'Peter Grehan'" <grehan@freebsd.org>,
	"'Sean Brogan'" <sean.brogan@microsoft.com>,
	"'Guomin Jiang'" <guomin.jiang@intel.com>,
	"'Bret Barkelew'" <Bret.Barkelew@microsoft.com>,
	"'Yuwei Chen'" <yuwei.chen@intel.com>,
	"'Benjamin You'" <benjamin.you@intel.com>,
	"'Daniel Schaefer'" <daniel.schaefer@hpe.com>,
	"'Michael D Kinney'" <michael.d.kinney@intel.com>,
	"'Wei6 Xu'" <wei6.xu@intel.com>,
	"'Jian J Wang'" <jian.j.wang@intel.com>,
	"'Jiaxin Wu'" <jiaxin.wu@intel.com>,
	"'Siyuan Fu'" <siyuan.fu@intel.com>,
	"'Guo Dong'" <guo.dong@intel.com>, <kilian_kegel@hotmail.com>,
	"'Abner Chang'" <abner.chang@hpe.com>,
	"'Oliver Steffen'" <osteffen@redhat.com>,
	"'Leif Lindholm'" <quic_llindhol@quicinc.com>,
	"'Brijesh Singh'" <brijesh.singh@amd.com>,
	"'Min Xu'" <min.m.xu@intel.com>, "'Ray Ni'" <ray.ni@intel.com>,
	"'Alexei Fedorov'" <Alexei.Fedorov@arm.com>,
	"'Julien Grall'" <julien@xen.org>,
	"'Nickle Wang'" <nickle.wang@hpe.com>,
	"'Pawel Polawski'" <ppolawsk@redhat.com>,
	"'Anthony Perard'" <anthony.perard@citrix.com>
Subject: 回复: [edk2-devel] [PATCH 0/3] [RFC] consolidate compiler intrinsics
Date: Wed, 2 Mar 2022 10:06:18 +0800	[thread overview]
Message-ID: <041201d82dda$1b1bd940$51538bc0$@byosoft.com.cn> (raw)
In-Reply-To: <20220301071820.3135133-1-kraxel@redhat.com>

Gerd:
  Thanks for your great work. This is a really good progress. I agree to add CompilerIntrinsicsLib in MdePkg.
  
  I think we can add this CompilerIntrinsicsLib first to meet with current usage. It can be extended in future. 

Thanks
Liming
> -----邮件原件-----
> 发件人: devel@edk2.groups.io <devel@edk2.groups.io> 代表 Gerd
> Hoffmann
> 发送时间: 2022年3月1日 15:18
> 收件人: devel@edk2.groups.io
> 抄送: Xiaoyu Lu <xiaoyu1.lu@intel.com>; Bob Feng <bob.c.feng@intel.com>;
> Rebecca Cran <rebecca@bsdio.com>; James Bottomley
> <jejb@linux.ibm.com>; Sami Mujawar <Sami.Mujawar@arm.com>; Jordan
> Justen <jordan.l.justen@intel.com>; Erdem Aktas <erdemaktas@google.com>;
> Jiewen Yao <jiewen.yao@intel.com>; Supreeth Venkatesh
> <supreeth.venkatesh@arm.com>; Sebastien Boeuf
> <sebastien.boeuf@intel.com>; Zhichao Gao <zhichao.gao@intel.com>;
> Zhiguang Liu <zhiguang.liu@intel.com>; Maciej Rabeda
> <maciej.rabeda@linux.intel.com>; Maurice Ma <maurice.ma@intel.com>;
> Andrew Fish <afish@apple.com>; Ard Biesheuvel
> <ardb+tianocore@kernel.org>; Tom Lendacky <thomas.lendacky@amd.com>;
> Peter Grehan <grehan@freebsd.org>; Sean Brogan
> <sean.brogan@microsoft.com>; Guomin Jiang <guomin.jiang@intel.com>;
> Bret Barkelew <Bret.Barkelew@microsoft.com>; Yuwei Chen
> <yuwei.chen@intel.com>; Benjamin You <benjamin.you@intel.com>; Daniel
> Schaefer <daniel.schaefer@hpe.com>; Liming Gao
> <gaoliming@byosoft.com.cn>; Michael D Kinney
> <michael.d.kinney@intel.com>; Wei6 Xu <wei6.xu@intel.com>; Jian J Wang
> <jian.j.wang@intel.com>; Jiaxin Wu <jiaxin.wu@intel.com>; Siyuan Fu
> <siyuan.fu@intel.com>; Gerd Hoffmann <kraxel@redhat.com>; Sami Mujawar
> <sami.mujawar@arm.com>; Guo Dong <guo.dong@intel.com>;
> kilian_kegel@hotmail.com; Abner Chang <abner.chang@hpe.com>; Oliver
> Steffen <osteffen@redhat.com>; Leif Lindholm <quic_llindhol@quicinc.com>;
> Brijesh Singh <brijesh.singh@amd.com>; Min Xu <min.m.xu@intel.com>; Ray
> Ni <ray.ni@intel.com>; Alexei Fedorov <Alexei.Fedorov@arm.com>; Julien
> Grall <julien@xen.org>; Nickle Wang <nickle.wang@hpe.com>; Pawel
> Polawski <ppolawsk@redhat.com>; Anthony Perard
> <anthony.perard@citrix.com>
> 主题: [edk2-devel] [PATCH 0/3] [RFC] consolidate compiler intrinsics
> 
> This is an attept to start cleaning up the messy compiler intrinsics
> situation.  Today we don't have a core intrinsics library, resulting
> in everybody creating their own.  ArmPkg has one, CryptoPkg has one.
> I'm sure there are many more.
> 
> This doesn't make sense.  Given we can't avoid compiler intrinsics (as
> proven by the existence of those libraries) we should better have them
> as core library so we have to maintain a single version only.
> 
> Given we already have BaseIoLibIntrinsic in MdePkg we can place the
> compiler intrinsics there too.  This little patch series does just that:
> It moves over the existing ArmPkg intrinsics, fixes them to build on
> non-arm too, and adds additional bits from the CryptoPkg intrinsics.
> 
> take care,
>   Gerd
> 
> Gerd Hoffmann (3):
>   MdePkg: promote CompilerIntrinsicsLib from ArmPkg to MdePkg
>   MdePkg/CompilerIntrinsicsLib: fix msft sources for x64
>   MdePkg/CompilerIntrinsicsLib: move ia32 intrinsics and strcmp
> 
>  ArmVirtPkg/ArmVirt.dsc.inc                    |   4 +-
>  .../UnitTestFrameworkPkgTarget.dsc.inc        |   2 +-
>  ArmPkg/ArmPkg.dsc                             |   3 +-
>  .../ArmCrashDumpDxe/ArmCrashDumpDxe.dsc       |   2 +-
>  ArmPlatformPkg/ArmPlatformPkg.dsc             |   2 +-
>  CryptoPkg/CryptoPkg.dsc                       |   5 +-
>  DynamicTablesPkg/DynamicTablesPkg.dsc         |   2 +-
>  EmbeddedPkg/EmbeddedPkg.dsc                   |   2 +-
>  EmulatorPkg/EmulatorPkg.dsc                   |   2 +-
>  FatPkg/FatPkg.dsc                             |   2 +-
>  FmpDevicePkg/FmpDevicePkg.dsc                 |   4 +-
>  MdeModulePkg/MdeModulePkg.dsc                 |   2 +-
>  MdePkg/MdePkg.dsc                             |   1 +
>  NetworkPkg/NetworkPkg.dsc                     |   4 +-
>  OvmfPkg/AmdSev/AmdSevX64.dsc                  |   2 +-
>  OvmfPkg/Bhyve/BhyveX64.dsc                    |   2 +-
>  OvmfPkg/CloudHv/CloudHvX64.dsc                |   2 +-
>  OvmfPkg/Microvm/MicrovmX64.dsc                |   2 +-
>  OvmfPkg/OvmfPkgIa32.dsc                       |   2 +-
>  OvmfPkg/OvmfPkgIa32X64.dsc                    |   2 +-
>  OvmfPkg/OvmfPkgX64.dsc                        |   2 +-
>  OvmfPkg/OvmfXen.dsc                           |   2 +-
>  RedfishPkg/RedfishPkg.dsc                     |   2 +-
>  SecurityPkg/SecurityPkg.dsc                   |  12 +--
>  ShellPkg/ShellPkg.dsc                         |   2 +-
>  SignedCapsulePkg/SignedCapsulePkg.dsc         |  14 ++--
>  StandaloneMmPkg/StandaloneMmPkg.dsc           |   2 +-
>  UefiPayloadPkg/UefiPayloadPkg.dsc             |   2 +-
>  .../Library/IntrinsicLib/IntrinsicLib.inf     |  67 ----------------
>  .../CompilerIntrinsicsLib.inf                 |  15 +++-
>  {ArmPkg => MdePkg}/Include/AsmMacroIoLib.h    |   0
>  CryptoPkg/Library/IntrinsicLib/CopyMem.c      |  47 -----------
>  .../Library/IntrinsicLib/MemoryIntrinsics.c   |  74 ------------------
>  .../CompilerIntrinsicsLib}/Ia32/MathFtol.c    |   0
>  .../Ia32/MathLShiftS64.c                      |   0
>  .../Ia32/MathRShiftU64.c                      |   0
>  .../Library/CompilerIntrinsicsLib/memcmp_ms.c |   2 +-
>  .../Library/CompilerIntrinsicsLib/memcpy.c    |   0
>  .../Library/CompilerIntrinsicsLib/memcpy_ms.c |   2 +-
>  .../CompilerIntrinsicsLib/memmove_ms.c        |   2 +-
>  .../Library/CompilerIntrinsicsLib/memset.c    |   0
>  .../Library/CompilerIntrinsicsLib/memset_ms.c |   2 +-
>  MdePkg/Library/CompilerIntrinsicsLib/strcmp.c |  33 ++++++++
>  ArmPkg/ArmPkg.ci.yaml                         |   1 -
>  .../DEBUG_XCODE31/CompilerIntrinsicsLib.lib   | Bin 36072 -> 36072
> bytes
>  .../DEBUG_XCODE32/CompilerIntrinsicsLib.lib   | Bin 36072 -> 36072
> bytes
>  .../Library/IntrinsicLib/BaseIntrinsicLib.uni |  16 ----
>  .../CompilerIntrinsicsLib/AArch64/Atomics.S   |   0
>  .../CompilerIntrinsicsLib/Arm/ashldi3.S       |   0
>  .../CompilerIntrinsicsLib/Arm/ashrdi3.S       |   0
>  .../CompilerIntrinsicsLib/Arm/clzsi2.S        |   0
>  .../CompilerIntrinsicsLib/Arm/ctzsi2.S        |   0
>  .../Library/CompilerIntrinsicsLib/Arm/div.S   |   0
>  .../Library/CompilerIntrinsicsLib/Arm/div.asm |   0
>  .../CompilerIntrinsicsLib/Arm/divdi3.S        |   0
>  .../CompilerIntrinsicsLib/Arm/divsi3.S        |   0
>  .../Library/CompilerIntrinsicsLib/Arm/lasr.S  |   0
>  .../CompilerIntrinsicsLib/Arm/lasr.asm        |   0
>  .../CompilerIntrinsicsLib/Arm/ldivmod.S       |   0
>  .../CompilerIntrinsicsLib/Arm/ldivmod.asm     |   0
>  .../Library/CompilerIntrinsicsLib/Arm/llsl.S  |   0
>  .../CompilerIntrinsicsLib/Arm/llsl.asm        |   0
>  .../Library/CompilerIntrinsicsLib/Arm/llsr.S  |   0
>  .../CompilerIntrinsicsLib/Arm/llsr.asm        |   0
>  .../CompilerIntrinsicsLib/Arm/lshrdi3.S       |   0
>  .../CompilerIntrinsicsLib/Arm/memmove.S       |   0
>  .../CompilerIntrinsicsLib/Arm/memmove.asm     |   0
>  .../CompilerIntrinsicsLib/Arm/moddi3.S        |   0
>  .../CompilerIntrinsicsLib/Arm/modsi3.S        |   0
>  .../CompilerIntrinsicsLib/Arm/muldi3.S        |   0
>  .../Library/CompilerIntrinsicsLib/Arm/mullu.S |   0
>  .../CompilerIntrinsicsLib/Arm/mullu.asm       |   0
>  .../CompilerIntrinsicsLib/Arm/sourcery.S      |   0
>  .../CompilerIntrinsicsLib/Arm/switch.asm      |   0
>  .../CompilerIntrinsicsLib/Arm/switch16.S      |   0
>  .../CompilerIntrinsicsLib/Arm/switch32.S      |   0
>  .../CompilerIntrinsicsLib/Arm/switch8.S       |   0
>  .../CompilerIntrinsicsLib/Arm/switchu8.S      |   0
>  .../CompilerIntrinsicsLib/Arm/ucmpdi2.S       |   0
>  .../CompilerIntrinsicsLib/Arm/udivdi3.S       |   0
>  .../CompilerIntrinsicsLib/Arm/udivmoddi4.S    |   0
>  .../CompilerIntrinsicsLib/Arm/udivsi3.S       |   0
>  .../Library/CompilerIntrinsicsLib/Arm/uldiv.S |   0
>  .../CompilerIntrinsicsLib/Arm/uldiv.asm       |   0
>  .../CompilerIntrinsicsLib/Arm/umoddi3.S       |   0
>  .../CompilerIntrinsicsLib/Arm/umodsi3.S       |   0
>  .../Library/CompilerIntrinsicsLib/Arm/uread.S |   0
>  .../CompilerIntrinsicsLib/Arm/uread.asm       |   0
>  .../CompilerIntrinsicsLib/Arm/uwrite.S        |   0
>  .../CompilerIntrinsicsLib/Arm/uwrite.asm      |   0
>  .../Ia32/MathLShiftS64.nasm                   |   0
>  .../Ia32/MathRShiftU64.nasm                   |   0
>  MdePkg/MdePkg.ci.yaml                         |   1 +
>  93 files changed, 95 insertions(+), 254 deletions(-)
>  delete mode 100644 CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf
>  rename {ArmPkg =>
> MdePkg}/Library/CompilerIntrinsicsLib/CompilerIntrinsicsLib.inf (84%)
>  rename {ArmPkg => MdePkg}/Include/AsmMacroIoLib.h (100%)
>  delete mode 100644 CryptoPkg/Library/IntrinsicLib/CopyMem.c
>  delete mode 100644 CryptoPkg/Library/IntrinsicLib/MemoryIntrinsics.c
>  rename {CryptoPkg/Library/IntrinsicLib =>
> MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathFtol.c (100%)
>  rename {CryptoPkg/Library/IntrinsicLib =>
> MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLShiftS64.c (100%)
>  rename {CryptoPkg/Library/IntrinsicLib =>
> MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathRShiftU64.c (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcmp_ms.c
> (89%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcpy.c
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memcpy_ms.c
> (89%)
>  rename {ArmPkg =>
> MdePkg}/Library/CompilerIntrinsicsLib/memmove_ms.c (90%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memset.c
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/memset_ms.c
> (89%)
>  create mode 100644 MdePkg/Library/CompilerIntrinsicsLib/strcmp.c
>  delete mode 100644 CryptoPkg/Library/IntrinsicLib/BaseIntrinsicLib.uni
>  rename {ArmPkg =>
> MdePkg}/Library/CompilerIntrinsicsLib/AArch64/Atomics.S (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ashldi3.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ashrdi3.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/clzsi2.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ctzsi2.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/div.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/div.asm
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/divdi3.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/divsi3.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lasr.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lasr.asm
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ldivmod.S
> (100%)
>  rename {ArmPkg =>
> MdePkg}/Library/CompilerIntrinsicsLib/Arm/ldivmod.asm (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsl.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsl.asm
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsr.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/llsr.asm
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/lshrdi3.S
> (100%)
>  rename {ArmPkg =>
> MdePkg}/Library/CompilerIntrinsicsLib/Arm/memmove.S (100%)
>  rename {ArmPkg =>
> MdePkg}/Library/CompilerIntrinsicsLib/Arm/memmove.asm (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/moddi3.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/modsi3.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/muldi3.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/mullu.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/mullu.asm
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/sourcery.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch.asm
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch16.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch32.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switch8.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/switchu8.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/ucmpdi2.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivdi3.S
> (100%)
>  rename {ArmPkg =>
> MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivmoddi4.S (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/udivsi3.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uldiv.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uldiv.asm
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/umoddi3.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/umodsi3.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uread.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uread.asm
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uwrite.S
> (100%)
>  rename {ArmPkg => MdePkg}/Library/CompilerIntrinsicsLib/Arm/uwrite.asm
> (100%)
>  rename {CryptoPkg/Library/IntrinsicLib =>
> MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathLShiftS64.nasm (100%)
>  rename {CryptoPkg/Library/IntrinsicLib =>
> MdePkg/Library/CompilerIntrinsicsLib}/Ia32/MathRShiftU64.nasm (100%)
> 
> --
> 2.35.1
> 
> 
> 
> 
> 




  parent reply	other threads:[~2022-03-02  2:06 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-01  7:18 [PATCH 0/3] [RFC] consolidate compiler intrinsics Gerd Hoffmann
2022-03-01  7:18 ` [PATCH 1/3] MdePkg: promote CompilerIntrinsicsLib from ArmPkg to MdePkg Gerd Hoffmann
2022-03-01  7:18 ` [PATCH 2/3] MdePkg/CompilerIntrinsicsLib: fix msft sources for x64 Gerd Hoffmann
2022-03-01  7:18 ` [PATCH 3/3] MdePkg/CompilerIntrinsicsLib: move ia32 intrinsics and strcmp Gerd Hoffmann
2022-03-02  2:06 ` gaoliming [this message]
2022-03-02  2:16   ` [edk2-devel] [PATCH 0/3] [RFC] consolidate compiler intrinsics Yao, Jiewen
2022-03-02  8:39     ` Kilian Kegel
2022-03-02 10:10       ` Gerd Hoffmann
2022-03-02  6:12 ` Ard Biesheuvel
2022-03-15 12:22 ` Gerd Hoffmann
2022-03-15 15:27   ` Michael D Kinney
2022-03-16  9:45     ` [edk2-devel] " Gerd Hoffmann
2022-03-18  1:26       ` 回复: " gaoliming
2022-03-18  1:54         ` Pedro Falcato
2022-03-15 17:08   ` Pedro Falcato
2022-03-16 10:02     ` Gerd Hoffmann

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='041201d82dda$1b1bd940$51538bc0$@byosoft.com.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