Acked, for CryptoPkg/OvmfPkg/SecurityPkg/StandaloneMmPkg update. Thank you Yao, Jiewen
> -----Original Message----- > From: devel@edk2.groups.io <devel@edk2.groups.io> On Behalf Of gaoliming > Sent: Wednesday, March 2, 2022 10:06 AM > To: devel@edk2.groups.io; kra...@redhat.com > Cc: Lu, Xiaoyu1 <xiaoyu1...@intel.com>; Feng, Bob C <bob.c.f...@intel.com>; > 'Rebecca Cran' <rebe...@bsdio.com>; 'James Bottomley' > <j...@linux.ibm.com>; 'Sami Mujawar' <sami.muja...@arm.com>; Justen, > Jordan L <jordan.l.jus...@intel.com>; Aktas, Erdem > <erdemak...@google.com>; Yao, Jiewen <jiewen....@intel.com>; 'Supreeth > Venkatesh' <supreeth.venkat...@arm.com>; Boeuf, Sebastien > <sebastien.bo...@intel.com>; Gao, Zhichao <zhichao....@intel.com>; Liu, > Zhiguang <zhiguang....@intel.com>; 'Maciej Rabeda' > <maciej.rab...@linux.intel.com>; Ma, Maurice <maurice...@intel.com>; > 'Andrew Fish' <af...@apple.com>; 'Ard Biesheuvel' > <ardb+tianoc...@kernel.org>; 'Tom Lendacky' <thomas.lenda...@amd.com>; > 'Peter Grehan' <gre...@freebsd.org>; 'Sean Brogan' > <sean.bro...@microsoft.com>; Jiang, Guomin <guomin.ji...@intel.com>; > 'Bret Barkelew' <bret.barke...@microsoft.com>; Chen, Christine > <yuwei.c...@intel.com>; You, Benjamin <benjamin....@intel.com>; Schaefer, > Daniel <daniel.schae...@hpe.com>; Kinney, Michael D > <michael.d.kin...@intel.com>; Xu, Wei6 <wei6...@intel.com>; Wang, Jian J > <jian.j.w...@intel.com>; Wu, Jiaxin <jiaxin...@intel.com>; Fu, Siyuan > <siyuan...@intel.com>; Dong, Guo <guo.d...@intel.com>; > kilian_ke...@hotmail.com; Chang, Abner <abner.ch...@hpe.com>; 'Oliver > Steffen' <ostef...@redhat.com>; 'Leif Lindholm' <quic_llind...@quicinc.com>; > 'Brijesh Singh' <brijesh.si...@amd.com>; Xu, Min M <min.m...@intel.com>; Ni, > Ray <ray...@intel.com>; 'Alexei Fedorov' <alexei.fedo...@arm.com>; 'Julien > Grall' <jul...@xen.org>; Wang, Nickle <nickle.w...@hpe.com>; 'Pawel > Polawski' <ppola...@redhat.com>; 'Anthony Perard' > <anthony.per...@citrix.com> > Subject: 回复: [edk2-devel] [PATCH 0/3] [RFC] consolidate compiler intrinsics > > 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...@intel.com>; Bob Feng <bob.c.f...@intel.com>; > > Rebecca Cran <rebe...@bsdio.com>; James Bottomley > > <j...@linux.ibm.com>; Sami Mujawar <sami.muja...@arm.com>; Jordan > > Justen <jordan.l.jus...@intel.com>; Erdem Aktas <erdemak...@google.com>; > > Jiewen Yao <jiewen....@intel.com>; Supreeth Venkatesh > > <supreeth.venkat...@arm.com>; Sebastien Boeuf > > <sebastien.bo...@intel.com>; Zhichao Gao <zhichao....@intel.com>; > > Zhiguang Liu <zhiguang....@intel.com>; Maciej Rabeda > > <maciej.rab...@linux.intel.com>; Maurice Ma <maurice...@intel.com>; > > Andrew Fish <af...@apple.com>; Ard Biesheuvel > > <ardb+tianoc...@kernel.org>; Tom Lendacky <thomas.lenda...@amd.com>; > > Peter Grehan <gre...@freebsd.org>; Sean Brogan > > <sean.bro...@microsoft.com>; Guomin Jiang <guomin.ji...@intel.com>; > > Bret Barkelew <bret.barke...@microsoft.com>; Yuwei Chen > > <yuwei.c...@intel.com>; Benjamin You <benjamin....@intel.com>; Daniel > > Schaefer <daniel.schae...@hpe.com>; Liming Gao > > <gaolim...@byosoft.com.cn>; Michael D Kinney > > <michael.d.kin...@intel.com>; Wei6 Xu <wei6...@intel.com>; Jian J Wang > > <jian.j.w...@intel.com>; Jiaxin Wu <jiaxin...@intel.com>; Siyuan Fu > > <siyuan...@intel.com>; Gerd Hoffmann <kra...@redhat.com>; Sami Mujawar > > <sami.muja...@arm.com>; Guo Dong <guo.d...@intel.com>; > > kilian_ke...@hotmail.com; Abner Chang <abner.ch...@hpe.com>; Oliver > > Steffen <ostef...@redhat.com>; Leif Lindholm <quic_llind...@quicinc.com>; > > Brijesh Singh <brijesh.si...@amd.com>; Min Xu <min.m...@intel.com>; Ray > > Ni <ray...@intel.com>; Alexei Fedorov <alexei.fedo...@arm.com>; Julien > > Grall <jul...@xen.org>; Nickle Wang <nickle.w...@hpe.com>; Pawel > > Polawski <ppola...@redhat.com>; Anthony Perard > > <anthony.per...@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 > > > > > > > > > > > > > > > > > -=-=-=-=-=-=-=-=-=-=-=- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#87187): https://edk2.groups.io/g/devel/message/87187 Mute This Topic: https://groups.io/mt/89493375/21656 Group Owner: devel+ow...@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-