From nobody Thu May 16 23:52:38 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+89010+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89010+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1650287013; cv=none; d=zohomail.com; s=zohoarc; b=hrYav87mOCRqOL+ENVaeNteu6F3opsKTADW2Mzv1Vq3vg06jeLEOVOMO2KregH0Ymgu4NGAhPTYf030+iq4LoWMXMomPUZLZyGhW198AnrWhEdxeY1aixMIjsn8DjYf7AnR6/mqXL+60GI9krgghoOiLNg0eDlkgGXiMaoh8c5w= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1650287013; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=wM1V2OK9TDXcha4S3kV7Z6N3hTRu6xutvCcNmlKdhAI=; b=k9u+pHYjh/ruTG0FOhv+OVrH/IVypIH4sYFrohFJ4dZn72rolDNQgYahjQO2AD+wcNLGZ1fblEmFdgl/8hAcxTJjyUqeNGxy8c89f1N9KVT51ZgY8Fn08SRjuwjGcTt05PVtRjAfWXfnMjUjvz+QFu16UaVknXSf/I6n0wVnfmM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89010+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1650287013167483.2188642715239; Mon, 18 Apr 2022 06:03:33 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id 83IJYY1788612x8l0IXZMvNf; Mon, 18 Apr 2022 06:03:32 -0700 X-Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web11.38802.1650287010766851398 for ; Mon, 18 Apr 2022 06:03:32 -0700 X-IronPort-AV: E=McAfee;i="6400,9594,10320"; a="349960986" X-IronPort-AV: E=Sophos;i="5.90,269,1643702400"; d="scan'208";a="349960986" X-Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 06:03:31 -0700 X-IronPort-AV: E=Sophos;i="5.90,269,1643702400"; d="scan'208";a="575562804" X-Received: from shwdejointd178.ccr.corp.intel.com ([10.239.153.103]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 06:03:30 -0700 From: "yi1 li" To: devel@edk2.groups.io Cc: yi1 li Subject: [edk2-devel] [PATCH 1/4] CryptoPkg: Add instrinsics to support building ECC on IA32 windows Date: Mon, 18 Apr 2022 21:03:20 +0800 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,yi1.li@intel.com X-Gm-Message-State: XsHOoaT6YhyAKAtWgArnWDfcx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1650287012; bh=KLOMgKqd3aOf/M6uNArnsPedKinQrfykANdKD9hwU9w=; h=Cc:Date:From:Reply-To:Subject:To; b=pOOip1rsiD9WJ2rn+3B9yWhOgft9okWrVqRCQcb2KjceWx9vAsIbUY83/XgryXxnUCB SBpb7ATHT4a6fedmShj6dLqpjVWSEwhxlr/Q+K1nRg88oqLJZyaF1SZRlQdrpFu/LW7S8 zQmt/bMy9INET3WlQN/lCF+HLt2jmmK+R3s= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1650287014791100007 Content-Type: text/plain; charset="utf-8" REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3679 This dependency is needed to build openssl lib with ECC ciphers under IA32 Windows and adds implementation for _allmul and _allshr instrinsics. It is taken from Project Mu: microsoft/mu_basecore@b55b341 Signed-off-by: yi1 li --- .../Library/IntrinsicLib/Ia32/MathLlmul.asm | 98 +++++++++++++++++++ .../Library/IntrinsicLib/Ia32/MathLlshr.asm | 78 +++++++++++++++ .../Library/IntrinsicLib/IntrinsicLib.inf | 2 + 3 files changed, 178 insertions(+) create mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathLlmul.asm create mode 100644 CryptoPkg/Library/IntrinsicLib/Ia32/MathLlshr.asm diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLlmul.asm b/CryptoPkg/= Library/IntrinsicLib/Ia32/MathLlmul.asm new file mode 100644 index 000000000000..341ea8a7bc0d --- /dev/null +++ b/CryptoPkg/Library/IntrinsicLib/Ia32/MathLlmul.asm @@ -0,0 +1,98 @@ +;*** +;llmul.asm - long multiply routine +; +; Copyright (c) Microsoft Corporation. All rights reserved. +; SPDX-License-Identifier: BSD-2-Clause-Patent +; +;Purpose: +; Defines long multiply routine +; Both signed and unsigned routines are the same, since multiply's +; work out the same in 2's complement +; creates the following routine: +; __allmul +; +;Original Implemenation: MSVC 14.12.25827 +; +;*************************************************************************= ****** + .686 + .model flat,C + .code + + +;*** +;llmul - long multiply routine +; +;Purpose: +; Does a long multiply (same for signed/unsigned) +; Parameters are not changed. +; +;Entry: +; Parameters are passed on the stack: +; 1st pushed: multiplier (QWORD) +; 2nd pushed: multiplicand (QWORD) +; +;Exit: +; EDX:EAX - product of multiplier and multiplicand +; NOTE: parameters are removed from the stack +; +;Uses: +; ECX +; +;Exceptions: +; +;*************************************************************************= ****** +_allmul PROC NEAR + +A EQU [esp + 4] ; stack address of a +B EQU [esp + 12] ; stack address of b + +HIGH_PART EQU [4] ; +LOW_PART EQU [0] + +; +; AHI, BHI : upper 32 bits of A and B +; ALO, BLO : lower 32 bits of A and B +; +; ALO * BLO +; ALO * BHI +; + BLO * AHI +; --------------------- +; + + mov eax,HIGH_PART(A) + mov ecx,HIGH_PART(B) + or ecx,eax ;test for both high dwords zero. + mov ecx,LOW_PART(B) + jnz short hard ;both are zero, just mult ALO and BLO + + mov eax,LOW_PART(A) + mul ecx + + ret 16 ; callee restores the stack + +hard: + push ebx + +; must redefine A and B since esp has been altered + +A2 EQU [esp + 8] ; stack address of a +B2 EQU [esp + 16] ; stack address of b + + mul ecx ;eax has AHI, ecx has BLO, so AHI * BLO + mov ebx,eax ;save result + + mov eax,LOW_PART(A2) + mul dword ptr HIGH_PART(B2) ;ALO * BHI + add ebx,eax ;ebx =3D ((ALO * BHI) + (AHI * BLO)) + + mov eax,LOW_PART(A2);ecx =3D BLO + mul ecx ;so edx:eax =3D ALO*BLO + add edx,ebx ;now edx has all the LO*HI stuff + + pop ebx + + ret 16 ; callee restores the stack + +_allmul ENDP + + end diff --git a/CryptoPkg/Library/IntrinsicLib/Ia32/MathLlshr.asm b/CryptoPkg/= Library/IntrinsicLib/Ia32/MathLlshr.asm new file mode 100644 index 000000000000..ab8294580f16 --- /dev/null +++ b/CryptoPkg/Library/IntrinsicLib/Ia32/MathLlshr.asm @@ -0,0 +1,78 @@ +;*** +;llshr.asm - long shift right +; +; Copyright (c) Microsoft Corporation. All rights reserved. +; SPDX-License-Identifier: BSD-2-Clause-Patent +; +;Purpose: +; define signed long shift right routine +; __allshr +; +;Original Implemenation: MSVC 14.12.25827 +; +;*************************************************************************= ****** + .686 + .model flat,C + .code + + + +;*** +;llshr - long shift right +; +;Purpose: +; Does a signed Long Shift Right +; Shifts a long right any number of bits. +; +;Entry: +; EDX:EAX - long value to be shifted +; CL - number of bits to shift by +; +;Exit: +; EDX:EAX - shifted value +; +;Uses: +; CL is destroyed. +; +;Exceptions: +; +;*************************************************************************= ****** +_allshr PROC NEAR + +; +; Handle shifts of 64 bits or more (if shifting 64 bits or more, the result +; depends only on the high order bit of edx). +; + cmp cl,64 + jae short RETSIGN + +; +; Handle shifts of between 0 and 31 bits +; + cmp cl, 32 + jae short MORE32 + shrd eax,edx,cl + sar edx,cl + ret + +; +; Handle shifts of between 32 and 63 bits +; +MORE32: + mov eax,edx + sar edx,31 + and cl,31 + sar eax,cl + ret + +; +; Return double precision 0 or -1, depending on the sign of edx +; +RETSIGN: + sar edx,31 + mov eax,edx + ret + +_allshr ENDP + + end diff --git a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf b/CryptoPkg/Li= brary/IntrinsicLib/IntrinsicLib.inf index fcbb93316cf7..86e74b57b109 100644 --- a/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf +++ b/CryptoPkg/Library/IntrinsicLib/IntrinsicLib.inf @@ -30,6 +30,8 @@ Ia32/MathLShiftS64.c | MSFT Ia32/MathRShiftU64.c | MSFT Ia32/MathFtol.c | MSFT + Ia32/MathLlmul.asm | MSFT + Ia32/MathLlshr.asm | MSFT =20 Ia32/MathLShiftS64.c | INTEL Ia32/MathRShiftU64.c | INTEL --=20 2.33.0.windows.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#89010): https://edk2.groups.io/g/devel/message/89010 Mute This Topic: https://groups.io/mt/90538852/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Thu May 16 23:52:38 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+89011+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89011+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1650287015; cv=none; d=zohomail.com; s=zohoarc; b=ivElmz2KJ03rOafl3ShYDbd0nOem1K0XKntIQ0tpq3rLiI6p9XpS7/5NabyjthmAs+0rKugkSrshnUJvnz8IyQixO9hzH+dMlYqR+w1kzEtqo0EbajUV2813JcMZ2dOxNzFuHvp7r7FL1RhFByoH6XWfr7LZ9d/R/C9WGGXfaLQ= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1650287015; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=W3azzLvt0Pd/cw2LNkrTm14MNX1PrVsksceKw+rUwPY=; b=T6m7bTKZy6zqlYC9wPIGeblvIAz0M8JzgycMUR+6PQDOb04SZEitaECwZfGgV3ulIX99Bw3ZSB4xLdz+mJR0145zwoYns12pM/U0YtAYSpsY+L3JjegRUO3owuL+EMSIKTy+dG+JywgpRXYL5x6GStKm0xaFZoD6dPisD2plxcc= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89011+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1650287015501951.90420696856; Mon, 18 Apr 2022 06:03:35 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id QfHxYY1788612x9C7OqFBm6R; Mon, 18 Apr 2022 06:03:35 -0700 X-Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web11.38802.1650287010766851398 for ; Mon, 18 Apr 2022 06:03:34 -0700 X-IronPort-AV: E=McAfee;i="6400,9594,10320"; a="349961011" X-IronPort-AV: E=Sophos;i="5.90,269,1643702400"; d="scan'208";a="349961011" X-Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 06:03:33 -0700 X-IronPort-AV: E=Sophos;i="5.90,269,1643702400"; d="scan'208";a="575562813" X-Received: from shwdejointd178.ccr.corp.intel.com ([10.239.153.103]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 06:03:33 -0700 From: "yi1 li" To: devel@edk2.groups.io Cc: yi1 li Subject: [edk2-devel] [PATCH 2/4] CryptoPkg: Reconfigure OpensslLib to add EC algorithms Date: Mon, 18 Apr 2022 21:03:21 +0800 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,yi1.li@intel.com X-Gm-Message-State: 1SjZNxHy5ODY2nsM3QXxIW5sx1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1650287015; bh=mv/+ENdkm+uYFzVgZzYHKKr0x8kcflTnzIxBA9eyTAY=; h=Cc:Date:From:Reply-To:Subject:To; b=hzQX0iBo2sk5nuMlTjcVchV2H85hDPIT9IJVlRarFqLZjC9wjUjhj2duIv0pO6LcPns SKsq8Q8IM8PM3Q6Q0mbaEL6wfGMG8j2Z+P8EGggwzN2TWNlPz00kJJF0qO/VhJ3LxHqbi 6zy9qz7AaFEKKhlcKCgzmuRCTnKgt148kj4= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1650287016795100013 Content-Type: text/plain; charset="utf-8" REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3679 REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3828 Reconfigure OpensslLib to add elliptic curve cipher algorithms. Signed-off-by: yi1 li --- .../Library/Include/openssl/opensslconf.h | 3 -- CryptoPkg/Library/OpensslLib/OpensslLib.inf | 46 +++++++++++++++++++ .../Library/OpensslLib/OpensslLibCrypto.inf | 46 +++++++++++++++++++ CryptoPkg/Library/OpensslLib/process_files.pl | 1 - 4 files changed, 92 insertions(+), 4 deletions(-) diff --git a/CryptoPkg/Library/Include/openssl/opensslconf.h b/CryptoPkg/Li= brary/Include/openssl/opensslconf.h index b119212ed856..7ea976b2252e 100644 --- a/CryptoPkg/Library/Include/openssl/opensslconf.h +++ b/CryptoPkg/Library/Include/openssl/opensslconf.h @@ -55,9 +55,6 @@ extern "C" { #ifndef OPENSSL_NO_DSA #define OPENSSL_NO_DSA #endif -#ifndef OPENSSL_NO_EC -#define OPENSSL_NO_EC -#endif #ifndef OPENSSL_NO_IDEA #define OPENSSL_NO_IDEA #endif diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Librar= y/OpensslLib/OpensslLib.inf index d84bde056af2..1d67ed55e1b1 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -199,6 +199,43 @@ $(OPENSSL_PATH)/crypto/dso/dso_vms.c $(OPENSSL_PATH)/crypto/dso/dso_win32.c $(OPENSSL_PATH)/crypto/ebcdic.c + $(OPENSSL_PATH)/crypto/ec/curve25519.c + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.c + $(OPENSSL_PATH)/crypto/ec/curve448/curve448.c + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_tables.c + $(OPENSSL_PATH)/crypto/ec/curve448/eddsa.c + $(OPENSSL_PATH)/crypto/ec/curve448/f_generic.c + $(OPENSSL_PATH)/crypto/ec/curve448/scalar.c + $(OPENSSL_PATH)/crypto/ec/ec2_oct.c + $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c + $(OPENSSL_PATH)/crypto/ec/ec_ameth.c + $(OPENSSL_PATH)/crypto/ec/ec_asn1.c + $(OPENSSL_PATH)/crypto/ec/ec_check.c + $(OPENSSL_PATH)/crypto/ec/ec_curve.c + $(OPENSSL_PATH)/crypto/ec/ec_cvt.c + $(OPENSSL_PATH)/crypto/ec/ec_err.c + $(OPENSSL_PATH)/crypto/ec/ec_key.c + $(OPENSSL_PATH)/crypto/ec/ec_kmeth.c + $(OPENSSL_PATH)/crypto/ec/ec_lib.c + $(OPENSSL_PATH)/crypto/ec/ec_mult.c + $(OPENSSL_PATH)/crypto/ec/ec_oct.c + $(OPENSSL_PATH)/crypto/ec/ec_pmeth.c + $(OPENSSL_PATH)/crypto/ec/ec_print.c + $(OPENSSL_PATH)/crypto/ec/ecdh_kdf.c + $(OPENSSL_PATH)/crypto/ec/ecdh_ossl.c + $(OPENSSL_PATH)/crypto/ec/ecdsa_ossl.c + $(OPENSSL_PATH)/crypto/ec/ecdsa_sign.c + $(OPENSSL_PATH)/crypto/ec/ecdsa_vrf.c + $(OPENSSL_PATH)/crypto/ec/eck_prn.c + $(OPENSSL_PATH)/crypto/ec/ecp_mont.c + $(OPENSSL_PATH)/crypto/ec/ecp_nist.c + $(OPENSSL_PATH)/crypto/ec/ecp_nistp224.c + $(OPENSSL_PATH)/crypto/ec/ecp_nistp256.c + $(OPENSSL_PATH)/crypto/ec/ecp_nistp521.c + $(OPENSSL_PATH)/crypto/ec/ecp_nistputil.c + $(OPENSSL_PATH)/crypto/ec/ecp_oct.c + $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c + $(OPENSSL_PATH)/crypto/ec/ecx_meth.c $(OPENSSL_PATH)/crypto/err/err.c $(OPENSSL_PATH)/crypto/err/err_prn.c $(OPENSSL_PATH)/crypto/evp/bio_b64.c @@ -496,6 +533,15 @@ $(OPENSSL_PATH)/crypto/conf/conf_local.h $(OPENSSL_PATH)/crypto/dh/dh_local.h $(OPENSSL_PATH)/crypto/dso/dso_local.h + $(OPENSSL_PATH)/crypto/ec/ec_local.h + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_local.h + $(OPENSSL_PATH)/crypto/ec/curve448/curve448utils.h + $(OPENSSL_PATH)/crypto/ec/curve448/ed448.h + $(OPENSSL_PATH)/crypto/ec/curve448/field.h + $(OPENSSL_PATH)/crypto/ec/curve448/point_448.h + $(OPENSSL_PATH)/crypto/ec/curve448/word.h + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/arch_intrinsics.h + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.h $(OPENSSL_PATH)/crypto/evp/evp_local.h $(OPENSSL_PATH)/crypto/hmac/hmac_local.h $(OPENSSL_PATH)/crypto/lhash/lhash_local.h diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/= Library/OpensslLib/OpensslLibCrypto.inf index cdeed0d073eb..66ca5b1250c1 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf @@ -199,6 +199,43 @@ $(OPENSSL_PATH)/crypto/dso/dso_vms.c $(OPENSSL_PATH)/crypto/dso/dso_win32.c $(OPENSSL_PATH)/crypto/ebcdic.c + $(OPENSSL_PATH)/crypto/ec/curve25519.c + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.c + $(OPENSSL_PATH)/crypto/ec/curve448/curve448.c + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_tables.c + $(OPENSSL_PATH)/crypto/ec/curve448/eddsa.c + $(OPENSSL_PATH)/crypto/ec/curve448/f_generic.c + $(OPENSSL_PATH)/crypto/ec/curve448/scalar.c + $(OPENSSL_PATH)/crypto/ec/ec2_oct.c + $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c + $(OPENSSL_PATH)/crypto/ec/ec_ameth.c + $(OPENSSL_PATH)/crypto/ec/ec_asn1.c + $(OPENSSL_PATH)/crypto/ec/ec_check.c + $(OPENSSL_PATH)/crypto/ec/ec_curve.c + $(OPENSSL_PATH)/crypto/ec/ec_cvt.c + $(OPENSSL_PATH)/crypto/ec/ec_err.c + $(OPENSSL_PATH)/crypto/ec/ec_key.c + $(OPENSSL_PATH)/crypto/ec/ec_kmeth.c + $(OPENSSL_PATH)/crypto/ec/ec_lib.c + $(OPENSSL_PATH)/crypto/ec/ec_mult.c + $(OPENSSL_PATH)/crypto/ec/ec_oct.c + $(OPENSSL_PATH)/crypto/ec/ec_pmeth.c + $(OPENSSL_PATH)/crypto/ec/ec_print.c + $(OPENSSL_PATH)/crypto/ec/ecdh_kdf.c + $(OPENSSL_PATH)/crypto/ec/ecdh_ossl.c + $(OPENSSL_PATH)/crypto/ec/ecdsa_ossl.c + $(OPENSSL_PATH)/crypto/ec/ecdsa_sign.c + $(OPENSSL_PATH)/crypto/ec/ecdsa_vrf.c + $(OPENSSL_PATH)/crypto/ec/eck_prn.c + $(OPENSSL_PATH)/crypto/ec/ecp_mont.c + $(OPENSSL_PATH)/crypto/ec/ecp_nist.c + $(OPENSSL_PATH)/crypto/ec/ecp_nistp224.c + $(OPENSSL_PATH)/crypto/ec/ecp_nistp256.c + $(OPENSSL_PATH)/crypto/ec/ecp_nistp521.c + $(OPENSSL_PATH)/crypto/ec/ecp_nistputil.c + $(OPENSSL_PATH)/crypto/ec/ecp_oct.c + $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c + $(OPENSSL_PATH)/crypto/ec/ecx_meth.c $(OPENSSL_PATH)/crypto/err/err.c $(OPENSSL_PATH)/crypto/err/err_prn.c $(OPENSSL_PATH)/crypto/evp/bio_b64.c @@ -496,6 +533,15 @@ $(OPENSSL_PATH)/crypto/conf/conf_local.h $(OPENSSL_PATH)/crypto/dh/dh_local.h $(OPENSSL_PATH)/crypto/dso/dso_local.h + $(OPENSSL_PATH)/crypto/ec/ec_local.h + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_local.h + $(OPENSSL_PATH)/crypto/ec/curve448/curve448utils.h + $(OPENSSL_PATH)/crypto/ec/curve448/ed448.h + $(OPENSSL_PATH)/crypto/ec/curve448/field.h + $(OPENSSL_PATH)/crypto/ec/curve448/point_448.h + $(OPENSSL_PATH)/crypto/ec/curve448/word.h + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/arch_intrinsics.h + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.h $(OPENSSL_PATH)/crypto/evp/evp_local.h $(OPENSSL_PATH)/crypto/hmac/hmac_local.h $(OPENSSL_PATH)/crypto/lhash/lhash_local.h diff --git a/CryptoPkg/Library/OpensslLib/process_files.pl b/CryptoPkg/Libr= ary/OpensslLib/process_files.pl index 42bff05fa629..2ebfbbbca0de 100755 --- a/CryptoPkg/Library/OpensslLib/process_files.pl +++ b/CryptoPkg/Library/OpensslLib/process_files.pl @@ -169,7 +169,6 @@ BEGIN { "no-dgram", "no-dsa", "no-dynamic-engine", - "no-ec", "no-ec2m", "no-engine", "no-err", --=20 2.33.0.windows.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#89011): https://edk2.groups.io/g/devel/message/89011 Mute This Topic: https://groups.io/mt/90538854/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Thu May 16 23:52:38 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+89012+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89012+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1650287018; cv=none; d=zohomail.com; s=zohoarc; b=AA0+HXzb2FLFzYMRFVK2K3ARmcT+cZ8C/UKMKoKIUzHQO8y06cTH81XfGRpYj2QBL6IK942MJt1bNUC80kMswfbK/4L9ybVYtzr+CGGwJORHlV94HnMvCOsZejYO2cVDHvzmdcUXQNZo7m/xWgNXcYyfzoTUg40SKw9Yc/7v0o4= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1650287018; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=YaXHmZt7GmMllAcSiNxhvRvWoZ17rN5EkD/0GUWdrzE=; b=CBlre/1tlxnPcnbIEx7vfBo19kF8Hx53d7jyd+VwlcTRW4KUPo4bMPRPE6pzuDBftn28XEOt52T2AIuNUYqMRNSw+1laHobOlemfIQkyQnUbZ44oyv9N/9Nbk2o8m0ADgg057BwpaUnQf7xZaPAL+D9O7X/LPbHk3d66h6At77Y= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89012+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 1650287018200103.08511495669143; Mon, 18 Apr 2022 06:03:38 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id n8kbYY1788612xhtgknN2veO; Mon, 18 Apr 2022 06:03:37 -0700 X-Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web11.38802.1650287010766851398 for ; Mon, 18 Apr 2022 06:03:37 -0700 X-IronPort-AV: E=McAfee;i="6400,9594,10320"; a="349961022" X-IronPort-AV: E=Sophos;i="5.90,269,1643702400"; d="scan'208";a="349961022" X-Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 06:03:36 -0700 X-IronPort-AV: E=Sophos;i="5.90,269,1643702400"; d="scan'208";a="575562821" X-Received: from shwdejointd178.ccr.corp.intel.com ([10.239.153.103]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 06:03:35 -0700 From: "yi1 li" To: devel@edk2.groups.io Cc: yi1 li Subject: [edk2-devel] [PATCH 3/4] CryptoPkg: Make EC source file config-able Date: Mon, 18 Apr 2022 21:03:22 +0800 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,yi1.li@intel.com X-Gm-Message-State: 2rvnj3ovJpPAARxxSvEebLb2x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1650287017; bh=bXiDtvnQ6sJJ4vzhQ3oM5HlnPmY089b9MfHfMnnGOnU=; h=Cc:Date:From:Reply-To:Subject:To; b=pSqfxw5w3SzJkBvWuk9bxTo0Gk40SKQRGlcVcT11KfuBtlkaOnm5GDMlEEFmd2D0KTZ VA4sDUsxrqeY9bSiMI5ziBCUndiYo31bebqrejJ4oNDiKcSnbVUpnw5/rp2GQTs0DGvEZ j3g4681fwrKX4SkM9nAFlNK3R4QO2XSG+GA= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1650287019540100001 Content-Type: text/plain; charset="utf-8" REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3679 REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3828 Use PCD gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled to config-able source files list in OpensslLib.inf and OpensslLibCrypto.inf. If PcdEcEnabled equals to FALSE, this file will not be compiled. Signed-off-by: yi1 li --- CryptoPkg/CryptoPkg.dec | 4 + .../Library/Include/openssl/opensslconf.h | 7 +- CryptoPkg/Library/OpensslLib/OpensslLib.inf | 95 ++++++++++--------- .../Library/OpensslLib/OpensslLibCrypto.inf | 95 ++++++++++--------- 4 files changed, 108 insertions(+), 93 deletions(-) diff --git a/CryptoPkg/CryptoPkg.dec b/CryptoPkg/CryptoPkg.dec index 5888941bab4c..ebec64050b71 100644 --- a/CryptoPkg/CryptoPkg.dec +++ b/CryptoPkg/CryptoPkg.dec @@ -81,5 +81,9 @@ # @ValidList 0x80000001 | 0x00000001, 0x00000002, 0x00000004, 0x00000008= , 0x00000010 gEfiCryptoPkgTokenSpaceGuid.PcdHashApiLibPolicy|0x00000002|UINT32|0x0000= 0001 =20 + ## Enable/Disable the ECC feature in openssl library. The default is dis= abled. + # If ECC feature is disabled, all related source files will not be comp= iled. + gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled|FALSE|BOOLEAN|0x0000003 + [UserExtensions.TianoCore."ExtraFiles"] CryptoPkgExtra.uni diff --git a/CryptoPkg/Library/Include/openssl/opensslconf.h b/CryptoPkg/Li= brary/Include/openssl/opensslconf.h index 7ea976b2252e..1485b8c9f108 100644 --- a/CryptoPkg/Library/Include/openssl/opensslconf.h +++ b/CryptoPkg/Library/Include/openssl/opensslconf.h @@ -9,7 +9,7 @@ * in the file LICENSE in the source distribution or at * https://www.openssl.org/source/license.html */ - +#include #include =20 #ifdef __cplusplus @@ -55,6 +55,11 @@ extern "C" { #ifndef OPENSSL_NO_DSA #define OPENSSL_NO_DSA #endif +#if !FixedPcdGetBool (PcdEcEnabled) + #ifndef OPENSSL_NO_EC +#define OPENSSL_NO_EC + #endif +#endif #ifndef OPENSSL_NO_IDEA #define OPENSSL_NO_IDEA #endif diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Librar= y/OpensslLib/OpensslLib.inf index 1d67ed55e1b1..459ac4864a4e 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -199,43 +199,43 @@ $(OPENSSL_PATH)/crypto/dso/dso_vms.c $(OPENSSL_PATH)/crypto/dso/dso_win32.c $(OPENSSL_PATH)/crypto/ebcdic.c - $(OPENSSL_PATH)/crypto/ec/curve25519.c - $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.c - $(OPENSSL_PATH)/crypto/ec/curve448/curve448.c - $(OPENSSL_PATH)/crypto/ec/curve448/curve448_tables.c - $(OPENSSL_PATH)/crypto/ec/curve448/eddsa.c - $(OPENSSL_PATH)/crypto/ec/curve448/f_generic.c - $(OPENSSL_PATH)/crypto/ec/curve448/scalar.c - $(OPENSSL_PATH)/crypto/ec/ec2_oct.c - $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c - $(OPENSSL_PATH)/crypto/ec/ec_ameth.c - $(OPENSSL_PATH)/crypto/ec/ec_asn1.c - $(OPENSSL_PATH)/crypto/ec/ec_check.c - $(OPENSSL_PATH)/crypto/ec/ec_curve.c - $(OPENSSL_PATH)/crypto/ec/ec_cvt.c - $(OPENSSL_PATH)/crypto/ec/ec_err.c - $(OPENSSL_PATH)/crypto/ec/ec_key.c - $(OPENSSL_PATH)/crypto/ec/ec_kmeth.c - $(OPENSSL_PATH)/crypto/ec/ec_lib.c - $(OPENSSL_PATH)/crypto/ec/ec_mult.c - $(OPENSSL_PATH)/crypto/ec/ec_oct.c - $(OPENSSL_PATH)/crypto/ec/ec_pmeth.c - $(OPENSSL_PATH)/crypto/ec/ec_print.c - $(OPENSSL_PATH)/crypto/ec/ecdh_kdf.c - $(OPENSSL_PATH)/crypto/ec/ecdh_ossl.c - $(OPENSSL_PATH)/crypto/ec/ecdsa_ossl.c - $(OPENSSL_PATH)/crypto/ec/ecdsa_sign.c - $(OPENSSL_PATH)/crypto/ec/ecdsa_vrf.c - $(OPENSSL_PATH)/crypto/ec/eck_prn.c - $(OPENSSL_PATH)/crypto/ec/ecp_mont.c - $(OPENSSL_PATH)/crypto/ec/ecp_nist.c - $(OPENSSL_PATH)/crypto/ec/ecp_nistp224.c - $(OPENSSL_PATH)/crypto/ec/ecp_nistp256.c - $(OPENSSL_PATH)/crypto/ec/ecp_nistp521.c - $(OPENSSL_PATH)/crypto/ec/ecp_nistputil.c - $(OPENSSL_PATH)/crypto/ec/ecp_oct.c - $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c - $(OPENSSL_PATH)/crypto/ec/ecx_meth.c + $(OPENSSL_PATH)/crypto/ec/curve25519.c |*|*|*|gEfiCryptoPkgTokenSpa= ceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.c |*|*|*|gEfiCrypt= oPkgTokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/curve448.c |*|*|*|gEfiCryptoPkgTo= kenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_tables.c |*|*|*|gEfiCry= ptoPkgTokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/eddsa.c |*|*|*|gEfiCryptoPkgToke= nSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/f_generic.c |*|*|*|gEfiCryptoPkg= TokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/scalar.c |*|*|*|gEfiCryptoPkgToke= nSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec2_oct.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_ameth.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_asn1.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_check.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_curve.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_cvt.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_err.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_key.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_kmeth.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_lib.c |*|*|*|gEfiCryptoPkgTokenSpaceGui= d.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_mult.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_oct.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_pmeth.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_print.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecdh_kdf.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecdh_ossl.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecdsa_ossl.c |*|*|*|gEfiCryptoPkgTokenSpa= ceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecdsa_sign.c |*|*|*|gEfiCryptoPkgTokenSpa= ceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecdsa_vrf.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/eck_prn.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_mont.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_nist.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_nistp224.c |*|*|*|gEfiCryptoPkgTokenS= paceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_nistp256.c |*|*|*|gEfiCryptoPkgTokenS= paceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_nistp521.c |*|*|*|gEfiCryptoPkgTokenS= paceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_nistputil.c |*|*|*|gEfiCryptoPkgTokenS= paceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_oct.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecx_meth.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled $(OPENSSL_PATH)/crypto/err/err.c $(OPENSSL_PATH)/crypto/err/err_prn.c $(OPENSSL_PATH)/crypto/evp/bio_b64.c @@ -533,15 +533,15 @@ $(OPENSSL_PATH)/crypto/conf/conf_local.h $(OPENSSL_PATH)/crypto/dh/dh_local.h $(OPENSSL_PATH)/crypto/dso/dso_local.h - $(OPENSSL_PATH)/crypto/ec/ec_local.h - $(OPENSSL_PATH)/crypto/ec/curve448/curve448_local.h - $(OPENSSL_PATH)/crypto/ec/curve448/curve448utils.h - $(OPENSSL_PATH)/crypto/ec/curve448/ed448.h - $(OPENSSL_PATH)/crypto/ec/curve448/field.h - $(OPENSSL_PATH)/crypto/ec/curve448/point_448.h - $(OPENSSL_PATH)/crypto/ec/curve448/word.h - $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/arch_intrinsics.h - $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.h + $(OPENSSL_PATH)/crypto/ec/ec_local.h |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_local.h |*|*|*|gEfiCrypt= oPkgTokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/curve448utils.h |*|*|*|gEfiCrypt= oPkgTokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/ed448.h |*|*|*|gEfiCryptoPkgToke= nSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/field.h |*|*|*|gEfiCryptoPkgToke= nSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/point_448.h |*|*|*|gEfiCryptoPkg= TokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/word.h |*|*|*|gEfiCryptoPkgTokenS= paceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/arch_intrinsics.h |*|*|*= |gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.h |*|*|*|gEfiCrypt= oPkgTokenSpaceGuid.PcdEcEnabled $(OPENSSL_PATH)/crypto/evp/evp_local.h $(OPENSSL_PATH)/crypto/hmac/hmac_local.h $(OPENSSL_PATH)/crypto/lhash/lhash_local.h @@ -633,6 +633,9 @@ [LibraryClasses.ARM] ArmSoftFloatLib =20 +[Pcd] + gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled ## CONSUMES + [BuildOptions] # # Disables the following Visual Studio compiler warnings brought by open= ssl source, diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/= Library/OpensslLib/OpensslLibCrypto.inf index 66ca5b1250c1..c9d69a368e3c 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf @@ -199,43 +199,43 @@ $(OPENSSL_PATH)/crypto/dso/dso_vms.c $(OPENSSL_PATH)/crypto/dso/dso_win32.c $(OPENSSL_PATH)/crypto/ebcdic.c - $(OPENSSL_PATH)/crypto/ec/curve25519.c - $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.c - $(OPENSSL_PATH)/crypto/ec/curve448/curve448.c - $(OPENSSL_PATH)/crypto/ec/curve448/curve448_tables.c - $(OPENSSL_PATH)/crypto/ec/curve448/eddsa.c - $(OPENSSL_PATH)/crypto/ec/curve448/f_generic.c - $(OPENSSL_PATH)/crypto/ec/curve448/scalar.c - $(OPENSSL_PATH)/crypto/ec/ec2_oct.c - $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c - $(OPENSSL_PATH)/crypto/ec/ec_ameth.c - $(OPENSSL_PATH)/crypto/ec/ec_asn1.c - $(OPENSSL_PATH)/crypto/ec/ec_check.c - $(OPENSSL_PATH)/crypto/ec/ec_curve.c - $(OPENSSL_PATH)/crypto/ec/ec_cvt.c - $(OPENSSL_PATH)/crypto/ec/ec_err.c - $(OPENSSL_PATH)/crypto/ec/ec_key.c - $(OPENSSL_PATH)/crypto/ec/ec_kmeth.c - $(OPENSSL_PATH)/crypto/ec/ec_lib.c - $(OPENSSL_PATH)/crypto/ec/ec_mult.c - $(OPENSSL_PATH)/crypto/ec/ec_oct.c - $(OPENSSL_PATH)/crypto/ec/ec_pmeth.c - $(OPENSSL_PATH)/crypto/ec/ec_print.c - $(OPENSSL_PATH)/crypto/ec/ecdh_kdf.c - $(OPENSSL_PATH)/crypto/ec/ecdh_ossl.c - $(OPENSSL_PATH)/crypto/ec/ecdsa_ossl.c - $(OPENSSL_PATH)/crypto/ec/ecdsa_sign.c - $(OPENSSL_PATH)/crypto/ec/ecdsa_vrf.c - $(OPENSSL_PATH)/crypto/ec/eck_prn.c - $(OPENSSL_PATH)/crypto/ec/ecp_mont.c - $(OPENSSL_PATH)/crypto/ec/ecp_nist.c - $(OPENSSL_PATH)/crypto/ec/ecp_nistp224.c - $(OPENSSL_PATH)/crypto/ec/ecp_nistp256.c - $(OPENSSL_PATH)/crypto/ec/ecp_nistp521.c - $(OPENSSL_PATH)/crypto/ec/ecp_nistputil.c - $(OPENSSL_PATH)/crypto/ec/ecp_oct.c - $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c - $(OPENSSL_PATH)/crypto/ec/ecx_meth.c + $(OPENSSL_PATH)/crypto/ec/curve25519.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.c |*|*|*|gEfiCryptoP= kgTokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/curve448.c |*|*|*|gEfiCryptoPkgToke= nSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_tables.c |*|*|*|gEfiCrypt= oPkgTokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/eddsa.c |*|*|*|gEfiCryptoPkgTokenS= paceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/f_generic.c |*|*|*|gEfiCryptoPkgTo= kenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/scalar.c |*|*|*|gEfiCryptoPkgTokenS= paceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec2_oct.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid= .PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec2_smpl.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_ameth.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_asn1.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid= .PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_check.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_curve.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_cvt.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid= .PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_err.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid= .PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_key.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid= .PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_kmeth.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_lib.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid= .PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_mult.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid= .PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_oct.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid= .PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_pmeth.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ec_print.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecdh_kdf.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecdh_ossl.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecdsa_ossl.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecdsa_sign.c |*|*|*|gEfiCryptoPkgTokenSpace= Guid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecdsa_vrf.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/eck_prn.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid= .PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_mont.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_nist.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_nistp224.c |*|*|*|gEfiCryptoPkgTokenSpa= ceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_nistp256.c |*|*|*|gEfiCryptoPkgTokenSpa= ceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_nistp521.c |*|*|*|gEfiCryptoPkgTokenSpa= ceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_nistputil.c |*|*|*|gEfiCryptoPkgTokenSpa= ceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_oct.c |*|*|*|gEfiCryptoPkgTokenSpaceGuid= .PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecp_smpl.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/ecx_meth.c |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled $(OPENSSL_PATH)/crypto/err/err.c $(OPENSSL_PATH)/crypto/err/err_prn.c $(OPENSSL_PATH)/crypto/evp/bio_b64.c @@ -533,15 +533,15 @@ $(OPENSSL_PATH)/crypto/conf/conf_local.h $(OPENSSL_PATH)/crypto/dh/dh_local.h $(OPENSSL_PATH)/crypto/dso/dso_local.h - $(OPENSSL_PATH)/crypto/ec/ec_local.h - $(OPENSSL_PATH)/crypto/ec/curve448/curve448_local.h - $(OPENSSL_PATH)/crypto/ec/curve448/curve448utils.h - $(OPENSSL_PATH)/crypto/ec/curve448/ed448.h - $(OPENSSL_PATH)/crypto/ec/curve448/field.h - $(OPENSSL_PATH)/crypto/ec/curve448/point_448.h - $(OPENSSL_PATH)/crypto/ec/curve448/word.h - $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/arch_intrinsics.h - $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.h + $(OPENSSL_PATH)/crypto/ec/ec_local.h |*|*|*|gEfiCryptoPkgTokenSpaceGu= id.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/curve448_local.h |*|*|*|gEfiCryptoP= kgTokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/curve448utils.h |*|*|*|gEfiCryptoP= kgTokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/ed448.h |*|*|*|gEfiCryptoPkgTokenS= paceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/field.h |*|*|*|gEfiCryptoPkgTokenS= paceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/point_448.h |*|*|*|gEfiCryptoPkgTo= kenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/word.h |*|*|*|gEfiCryptoPkgTokenSpa= ceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/arch_intrinsics.h |*|*|*|g= EfiCryptoPkgTokenSpaceGuid.PcdEcEnabled + $(OPENSSL_PATH)/crypto/ec/curve448/arch_32/f_impl.h |*|*|*|gEfiCryptoP= kgTokenSpaceGuid.PcdEcEnabled $(OPENSSL_PATH)/crypto/evp/evp_local.h $(OPENSSL_PATH)/crypto/hmac/hmac_local.h $(OPENSSL_PATH)/crypto/lhash/lhash_local.h @@ -582,6 +582,9 @@ [LibraryClasses.ARM] ArmSoftFloatLib =20 +[Pcd] + gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled ## CONSUMES + [BuildOptions] # # Disables the following Visual Studio compiler warnings brought by open= ssl source, --=20 2.33.0.windows.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#89012): https://edk2.groups.io/g/devel/message/89012 Mute This Topic: https://groups.io/mt/90538855/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- From nobody Thu May 16 23:52:38 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) client-ip=66.175.222.108; envelope-from=bounce+27952+89013+1787277+3901457@groups.io; helo=mail02.groups.io; Authentication-Results: mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89013+1787277+3901457@groups.io; dmarc=fail(p=none dis=none) header.from=intel.com ARC-Seal: i=1; a=rsa-sha256; t=1650287019; cv=none; d=zohomail.com; s=zohoarc; b=cIfPMX9ZgfNvYn0vnaBNnvBdR0VgiFoHUbHZB9qeQmOMaGibF4gG7QQ25n2vRGJIq3gzmmf/evS2zIJYly2utgG8aIesyftuUshPj561GGwgWPmjkIeX942WwB/Cv6ywHkI/7Dl5ciNg6X/cCDlZUAtFwnV33bw5mpoyH2AL53A= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1650287019; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Id:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Reply-To:References:Sender:Subject:To; bh=IQFa6qjDS7l4BtvrPlRxJJiAPEJtuq6XCfCR5fva+bM=; b=Klo0faSDBijnQ3UwCN4P4tkUnCsxMrDSgtdWSaEXfycSmS8NvVKVcB5YMN6wr5cPKxxVz0gK2UA66tGXWoXUt5UUIgb+9W3hSWIRqAic4+LUBO/Soi3PSnpDxrOLB8BVXaLynbDIm/KuEHcIq+Rpa6qeBFQ/0POrb51CFpOLPM8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; spf=pass (zohomail.com: domain of groups.io designates 66.175.222.108 as permitted sender) smtp.mailfrom=bounce+27952+89013+1787277+3901457@groups.io; dmarc=fail header.from= (p=none dis=none) Received: from mail02.groups.io (mail02.groups.io [66.175.222.108]) by mx.zohomail.com with SMTPS id 165028701996264.08999017497524; Mon, 18 Apr 2022 06:03:39 -0700 (PDT) Return-Path: X-Received: by 127.0.0.2 with SMTP id XR4zYY1788612xehOkBYQN56; Mon, 18 Apr 2022 06:03:39 -0700 X-Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web11.38802.1650287010766851398 for ; Mon, 18 Apr 2022 06:03:38 -0700 X-IronPort-AV: E=McAfee;i="6400,9594,10320"; a="349961038" X-IronPort-AV: E=Sophos;i="5.90,269,1643702400"; d="scan'208";a="349961038" X-Received: from orsmga008.jf.intel.com ([10.7.209.65]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 06:03:38 -0700 X-IronPort-AV: E=Sophos;i="5.90,269,1643702400"; d="scan'208";a="575562840" X-Received: from shwdejointd178.ccr.corp.intel.com ([10.239.153.103]) by orsmga008-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 18 Apr 2022 06:03:37 -0700 From: "yi1 li" To: devel@edk2.groups.io Cc: yi1 li Subject: [edk2-devel] [PATCH 4/4] CryptoPkg: Add PcdEcEnabled to Base/Pei/SmmCryptLib.inf Date: Mon, 18 Apr 2022 21:03:23 +0800 Message-Id: In-Reply-To: References: MIME-Version: 1.0 Precedence: Bulk List-Unsubscribe: List-Subscribe: List-Help: Sender: devel@edk2.groups.io List-Id: Mailing-List: list devel@edk2.groups.io; contact devel+owner@edk2.groups.io Reply-To: devel@edk2.groups.io,yi1.li@intel.com X-Gm-Message-State: EDo0rC0USTCHBkW75BxSkNH8x1787277AA= Content-Transfer-Encoding: quoted-printable DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=groups.io; q=dns/txt; s=20140610; t=1650287019; bh=D2TOx4ltdINKllT9PHqCTfs6oIrVF5wKSwx0pvS+XSA=; h=Cc:Date:From:Reply-To:Subject:To; b=n8a6ACxpwEsNaz2h7gKoXAbvjCJGAowDCdJgc+yCuhaKTB8vWCbbYihGK+eoxc5jXY0 Z1UwXJdht3OVTU31S1B+UMkGP3xlQKeLytJTjI/WsGFAk3PNue/QvFjZCHF9MVBz1ABbg UW1Lcn7GRuLIanrnMwMHohvsPXqtU47RPzE= X-ZohoMail-DKIM: pass (identity @groups.io) X-ZM-MESSAGEID: 1650287020805100005 Content-Type: text/plain; charset="utf-8" REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3679 REF:https://bugzilla.tianocore.org/show_bug.cgi?id=3D3828 Base/Pei/SmmCryptLib.inf will use openssllib, and the header file opensslconf.h in openssllib will use PCD, but it is not declared in the inf file, which will cause warnings in some compilers Signed-off-by: yi1 li --- CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf | 3 +++ CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf | 3 +++ CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf | 3 +++ CryptoPkg/Library/OpensslLib/OpensslLib.inf | 3 +-- CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf | 2 +- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf b/CryptoPkg/Li= brary/BaseCryptLib/BaseCryptLib.inf index 15cf3dab105c..5bbdb387d6ba 100644 --- a/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/BaseCryptLib.inf @@ -88,6 +88,9 @@ IntrinsicLib PrintLib =20 +[FixedPcd] + gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled + # # Remove these [BuildOptions] after this library is cleaned up # diff --git a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf b/CryptoPkg/Lib= rary/BaseCryptLib/PeiCryptLib.inf index bf1563b06407..fd500e61ec99 100644 --- a/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf @@ -77,6 +77,9 @@ OpensslLib IntrinsicLib =20 +[FixedPcd] + gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled + # # Remove these [BuildOptions] after this library is cleaned up # diff --git a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf b/CryptoPkg/Lib= rary/BaseCryptLib/SmmCryptLib.inf index 8f39517f78b7..ae75bc87b5e5 100644 --- a/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf +++ b/CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf @@ -92,6 +92,9 @@ MmServicesTableLib SynchronizationLib =20 +[FixedPcd] + gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled + # # Remove these [BuildOptions] after this library is cleaned up # diff --git a/CryptoPkg/Library/OpensslLib/OpensslLib.inf b/CryptoPkg/Librar= y/OpensslLib/OpensslLib.inf index 459ac4864a4e..0d087cbef790 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLib.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLib.inf @@ -632,8 +632,7 @@ =20 [LibraryClasses.ARM] ArmSoftFloatLib - -[Pcd] +[FixedPcd] gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled ## CONSUMES =20 [BuildOptions] diff --git a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf b/CryptoPkg/= Library/OpensslLib/OpensslLibCrypto.inf index c9d69a368e3c..490b83602be9 100644 --- a/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf +++ b/CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf @@ -582,7 +582,7 @@ [LibraryClasses.ARM] ArmSoftFloatLib =20 -[Pcd] +[FixedPcd] gEfiCryptoPkgTokenSpaceGuid.PcdEcEnabled ## CONSUMES =20 [BuildOptions] --=20 2.33.0.windows.2 -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D- Groups.io Links: You receive all messages sent to this group. View/Reply Online (#89013): https://edk2.groups.io/g/devel/message/89013 Mute This Topic: https://groups.io/mt/90538856/1787277 Group Owner: devel+owner@edk2.groups.io Unsubscribe: https://edk2.groups.io/g/devel/unsub [importer@patchew.org] -=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-