From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by mx.groups.io with SMTP id smtpd.web11.8294.1604643232804194094 for ; Thu, 05 Nov 2020 22:13:53 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=AnLz5bQa; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: jiewen.yao@intel.com) IronPort-SDR: Xh8XKvR62O1gLo3s7rxrITs5UXT2C/7wL9MO3TCXXlCjy6KJxCH95E3h7NbbTygSCdmt+FnM2q t7nFn3St6z2Q== X-IronPort-AV: E=McAfee;i="6000,8403,9796"; a="187427681" X-IronPort-AV: E=Sophos;i="5.77,455,1596524400"; d="scan'208";a="187427681" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga006.fm.intel.com ([10.253.24.20]) by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 05 Nov 2020 22:13:51 -0800 IronPort-SDR: NlykK966ABEeE7M7yKMoMG2BeZ4uHti2p6X39OweHOyaNAR5EEP+FF7otDNlQYHiwaKVbALNWa SpwweInAv6iA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.77,455,1596524400"; d="scan'208";a="528230452" Received: from orsmsx605.amr.corp.intel.com ([10.22.229.18]) by fmsmga006.fm.intel.com with ESMTP; 05 Nov 2020 22:13:51 -0800 Received: from orsmsx610.amr.corp.intel.com (10.22.229.23) by ORSMSX605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Nov 2020 22:13:51 -0800 Received: from orsmsx604.amr.corp.intel.com (10.22.229.17) by ORSMSX610.amr.corp.intel.com (10.22.229.23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Thu, 5 Nov 2020 22:13:51 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx604.amr.corp.intel.com (10.22.229.17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Thu, 5 Nov 2020 22:13:51 -0800 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.103) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Thu, 5 Nov 2020 22:13:50 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=aIpK4/hyzHK8q2AjlMgIYXA0kZdPsSl+8Gk85OaibxDKJJDrCJpXx7dx7jWtCMJM5ZyzorQM193Cx6MBwTapB6jKZVhaZJgAsXNDupSOU/t9iPcFjRlvTxHijE7ysFHqrPimv6Oey5MQ6nlsVB0K2gHVh6cvjv0vF8HYrbw6kZsMt6VsFzPPbpTWNTMoto3/SIM7QgP+7p/cKiN2fVnIZbnhJdrz3GHdeI35hVoy1PU2mJPfStdHdZqTBdihCfYfAnLDkUJkpvWlfeKTcnaHrlwV3/hVKdzjrNKvWkb785+kK07BuAWDp1fUl6ie1Z/OcQTQywpcszG9IWaDl1ErSA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tYCQJ5UaO+E4AHvpjn6mRGzFf6Q8M2L+qdDnAnFJ4C4=; b=gQLogGTSU+6Y5XOWGPvdCqF8oAuxN0iad07/rgulf72uMbTR2m/aQtBeSjWEu3yOeS+8JU74TUG4nnGULUgs833ENS/r7aZJ6hQVtWtLJmFxc0bevfZnw6t2t1BjlWsL4REQtANbPc4+2nWb0uNgBjIVFKVeDtuwqhQhPEPRuIUWaC5CpvmGFCn8L4Q1AyNJVmgxezW1Y4V4Tu69X2T74P1aHuUhToGcE4d2iDjhLezurNckicxTUrJ2oGExtsTuzLSh4iJ1/H/ikwRvSJ/tp/hfpiWKTv5iEey7HuU4c2Z3ketg8tqRgFrzkObgBvbbZX1Rbw3Xl51z6lKXgrrTfQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=tYCQJ5UaO+E4AHvpjn6mRGzFf6Q8M2L+qdDnAnFJ4C4=; b=AnLz5bQaBQOOmAg7wmwh33tyK6AcLj9FrHvFSK3t4stUtPB80sk7C2xhScR5neoBdjkYO5v9wZgkKO65kARQxe+oKhbrh/Qms6VcxG4FW0aO8APocgxQ9XVEZGgFARcopQtaKyDH6OvAHxMnwAYTX6d4u+38IEykBXOiRXpgfNc= Received: from CY4PR11MB1288.namprd11.prod.outlook.com (2603:10b6:903:23::8) by CY4PR11MB0053.namprd11.prod.outlook.com (2603:10b6:910:77::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3499.29; Fri, 6 Nov 2020 06:13:48 +0000 Received: from CY4PR11MB1288.namprd11.prod.outlook.com ([fe80::a188:2994:6c14:aad7]) by CY4PR11MB1288.namprd11.prod.outlook.com ([fe80::a188:2994:6c14:aad7%12]) with mapi id 15.20.3499.032; Fri, 6 Nov 2020 06:13:48 +0000 From: "Yao, Jiewen" To: "devel@edk2.groups.io" , "Yao, Jiewen" , "Zurcher, Christopher J" CC: "Wang, Jian J" , "Lu, XiaoyuX" , "Kinney, Michael D" , "Ard Biesheuvel" Subject: Re: [edk2-devel] [PATCH v5 0/2] CryptoPkg/OpensslLib: Add native instruction support for X64 Thread-Topic: [edk2-devel] [PATCH v5 0/2] CryptoPkg/OpensslLib: Add native instruction support for X64 Thread-Index: AQHWsiyB4+1/v20uXEu0lqu2S9yUHqm6nppAgAAEk9A= Date: Fri, 6 Nov 2020 06:13:48 +0000 Message-ID: References: <20201103215834.7533-1-christopher.j.zurcher@intel.com> <1644D590FF4B7423.25549@groups.io> In-Reply-To: <1644D590FF4B7423.25549@groups.io> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.5.1.3 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.198.147.211] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 605ea4b2-e098-433a-b90c-08d8821b2000 x-ms-traffictypediagnostic: CY4PR11MB0053: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yKw+uHZDz+LBt0YYnKSgTGMbLA9tF4ESZbPbVfU/KHYlf8zdUVZY+2cA8wlFgTN+PrXizJkOhtHTJKfrdeKDebQKuyuDbCaCbX6uTnj2mnnXl+i2NDf5MUCgQqa80k1o339S/iNIGtEmRu+vbID4C5SUinuysn9XgBlvGNngvVoBz5HTJTN8Hj9GgUVqPZXpxb3kF4G++oUVXdpOSZBo9K8c/b4xT7P4FNsTMFrMkWJFXnHyQljNLywrXdoOwg+2WUVOcz+vUqHtrk2cWnxWZe0jYcdtUdcWEE8ggxHx5trJ4lJNDgrFkSdvps0r1/4DbZy0Gia+y3SE0EI/iddBKstHXoISG5e21WzeIq7+m0ccDsp4ew2E91KIgsD39REUf3G28Va3GUJu7MbHE2GCdg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CY4PR11MB1288.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(396003)(39860400002)(346002)(366004)(376002)(136003)(83380400001)(55016002)(9686003)(186003)(26005)(33656002)(5660300002)(52536014)(66556008)(19627235002)(4326008)(66946007)(71200400001)(76116006)(66476007)(6636002)(64756008)(66446008)(8936002)(8676002)(2906002)(316002)(966005)(110136005)(7696005)(86362001)(6506007)(53546011)(54906003)(478600001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: Zp4VDNgM1lzL+c9KiXZCkHKaWakPpRkNVBs720kJkui+rjiK2lJ9FQh+t4uXQNy/fZnJAM29aFWHIGaRALlOWX56UQUBT2QP9yj3vR2SJnPPNwrFVxe5Y+/9OmVB9yvC8MV0k7GREMBKF3RJLmLEZOlQxifRiwoqYkfUr0th3IT9CKrnFSUEZZraIFxuDlWs3RYPuFYC8+wa2jbsQ1OzJWK3aNzCELuxyOl2rmNhi6619O6Bq2bd6NI2Sau7R2Pte2U6909KBRToIGYnnp9g1ZB51jM7pnFMBgqmOGM16eJMPYceil5YVgJg6WFlmHVjHiVmeiCQ4K239n44W7KMUYeCRWT/CmeQyr1Oc0YtFxq5QmFaW8QBagHlLayzitlhehr0AGV0om3ZYhpFJZHYpQz7wm8rrjw+40xvOgGGQ3PTRnRZvN5RCGnPbhbBzE+DGwF4sT7VJdjtxKEoBSYbuVZ4o/nTPppyH2O2BMk4rkAMXdQDagadTLWG7+4n+vdrCN/dj0SAipedAnNaoMDrUY5ROXGqcrmHqbUaFxxq/SOKtt6j34NCCV34zq9P1AziI1sBgjk2cALRIivPJbmWUn0ANn5KNDijNo4COPzqAcLCf3JHvIB+WBcWnnUQtLgcK6f/2cmHpdeBnNUalG06HQ== MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CY4PR11MB1288.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 605ea4b2-e098-433a-b90c-08d8821b2000 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Nov 2020 06:13:48.4181 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: uU2MZX/j3ha9dM4K7IgkdtfuWuNmGvUZSkOomrx5PEqEyclXfqVL8+pk6Z5uPxRvWs6uxp3cHFftjw4/beqpFw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR11MB0053 Return-Path: jiewen.yao@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable Hi Zurcher I created https://github.com/tianocore/edk2/pull/1092 However, there are failures in CI test. So this patch is NOT merged. Please take a look and resolve it. Thank you Yao Jiewen > -----Original Message----- > From: devel@edk2.groups.io On Behalf Of Yao, > Jiewen > Sent: Friday, November 6, 2020 1:56 PM > To: Zurcher, Christopher J ; > devel@edk2.groups.io > Cc: Wang, Jian J ; Lu, XiaoyuX > ; Kinney, Michael D ; > Ard Biesheuvel > Subject: Re: [edk2-devel] [PATCH v5 0/2] CryptoPkg/OpensslLib: Add nativ= e > instruction support for X64 >=20 > Patch 1/2 reviewed-by: Jiewen Yao >=20 > > -----Original Message----- > > From: Christopher J Zurcher > > Sent: Wednesday, November 4, 2020 5:59 AM > > To: devel@edk2.groups.io > > Cc: Yao, Jiewen ; Wang, Jian J > > ; Lu, XiaoyuX ; Kinney, > > Michael D ; Ard Biesheuvel > > > > Subject: [PATCH v5 0/2] CryptoPkg/OpensslLib: Add native instruction > > support for X64 > > > > V5 Changes: > > Move ApiHooks.c into X64 folder > > Update process_files.pl to clean architecture-specific subfolders wi= thout > > removing them > > Rebased INF file to merge latest changes regarding RngLib vs. TimerL= ib > > > > V4 Changes: > > Add copyright header to uefi-asm.conf > > Move [Sources.X64] block to cover entire X64-specific config > > > > V3 Changes: > > Added definitions for ptrdiff_t and wchar_t to CrtLibSupport.h for > > LLVM/Clang build support. > > Added -UWIN32 to GCC Flags for LLVM/Clang build support. > > Added missing AES GCM assembly file. > > > > V2 Changes: > > Limit scope of assembly config to SHA and AES functions. > > Removed IA32 native support (reduced config was causing build failur= e > and > > can be added in a later patch). > > Removed XMM instructions from assembly generation. > > Added automatic copyright header porting for generated assembly file= s. > > > > This patch adds support for building the native instruction algorithms= for > > the X64 architecture in OpensslLib. The process_files.pl script was mo= dified > > to parse the .asm file targets from the OpenSSL build config data stru= ct, and > > generate the necessary assembly files for the EDK2 build environment. > > > > For the X64 variant, OpenSSL includes calls to a Windows error handlin= g API, > > and that function has been stubbed out in ApiHooks.c. > > > > For all variants, a constructor is added to call the required CPUID fu= nction > > within OpenSSL to facilitate processor capability checks in the native > > algorithms. > > > > Additional native architecture variants should be simple to add by fol= lowing > > the changes made for this architecture. > > > > The OpenSSL assembly files are traditionally generated at build time u= sing a > > perl script. To avoid that burden on EDK2 users, these end-result asse= mbly > > files are generated during the configuration steps performed by the > package > > maintainer (through process_files.pl). The perl generator scripts insi= de > > OpenSSL do not parse file comments as they are only meant to create > > intermediate build files, so process_files.pl contains additional hook= s to > > preserve the copyright headers as well as clean up tabs and line endin= gs to > > comply with EDK2 coding standards. The resulting file headers align wi= th > > the generated .h files which are already included in the EDK2 reposito= ry. > > > > Cc: Jiewen Yao > > Cc: Jian J Wang > > Cc: Xiaoyu Lu > > Cc: Mike Kinney > > Cc: Ard Biesheuvel > > > > Christopher J Zurcher (2): > > CryptoPkg/OpensslLib: Add native instruction support for X64 > > CryptoPkg/OpensslLib: Commit the auto-generated assembly files for X= 64 > > > > CryptoPkg/Library/OpensslLib/OpensslLib.inf = | 2 +- > > CryptoPkg/Library/OpensslLib/OpensslLibCrypto.inf = | 2 +- > > CryptoPkg/Library/OpensslLib/OpensslLibX64.inf = | 653 +++ > > CryptoPkg/Library/Include/CrtLibSupport.h = | 2 + > > CryptoPkg/Library/Include/openssl/opensslconf.h = | 3 - > > CryptoPkg/Library/OpensslLib/OpensslLibConstructor.c = | 34 + > > CryptoPkg/Library/OpensslLib/X64/ApiHooks.c = | 18 + > > CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-mb-x86_64.nasm = | > > 732 +++ > > CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha1-x86_64.nasm = | > > 1916 ++++++++ > > CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-sha256-x86_64.nasm > | > > 78 + > > CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni-x86_64.nasm = | > > 5103 ++++++++++++++++++++ > > CryptoPkg/Library/OpensslLib/X64/crypto/aes/vpaes-x86_64.nasm = | > > 1173 +++++ > > CryptoPkg/Library/OpensslLib/X64/crypto/modes/aesni-gcm-x86_64.nasm > > | 34 + > > CryptoPkg/Library/OpensslLib/X64/crypto/modes/ghash-x86_64.nasm = | > > 1569 ++++++ > > CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-mb-x86_64.nasm = | > > 3137 ++++++++++++ > > CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1-x86_64.nasm = | > > 2884 +++++++++++ > > CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-mb-x86_64.nasm > | > > 3461 +++++++++++++ > > CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256-x86_64.nasm = | > > 3313 +++++++++++++ > > CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha512-x86_64.nasm = | > > 1938 ++++++++ > > CryptoPkg/Library/OpensslLib/X64/crypto/x86_64cpuid.nasm = | 491 > > ++ > > CryptoPkg/Library/OpensslLib/process_files.pl = | 232 +- > > CryptoPkg/Library/OpensslLib/uefi-asm.conf = | 21 + > > 22 files changed, 26746 insertions(+), 50 deletions(-) > > create mode 100644 CryptoPkg/Library/OpensslLib/OpensslLibX64.inf > > create mode 100644 > CryptoPkg/Library/OpensslLib/OpensslLibConstructor.c > > create mode 100644 CryptoPkg/Library/OpensslLib/X64/ApiHooks.c > > create mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni- > > mb-x86_64.nasm > > create mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni- > > sha1-x86_64.nasm > > create mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni- > > sha256-x86_64.nasm > > create mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/aes/aesni- > > x86_64.nasm > > create mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/aes/vpaes- > > x86_64.nasm > > create mode 100644 > > CryptoPkg/Library/OpensslLib/X64/crypto/modes/aesni-gcm-x86_64.nasm > > create mode 100644 > > CryptoPkg/Library/OpensslLib/X64/crypto/modes/ghash-x86_64.nasm > > create mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1- > > mb-x86_64.nasm > > create mode 100644 CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha1- > > x86_64.nasm > > create mode 100644 > CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256- > > mb-x86_64.nasm > > create mode 100644 > CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha256- > > x86_64.nasm > > create mode 100644 > CryptoPkg/Library/OpensslLib/X64/crypto/sha/sha512- > > x86_64.nasm > > create mode 100644 > > CryptoPkg/Library/OpensslLib/X64/crypto/x86_64cpuid.nasm > > create mode 100644 CryptoPkg/Library/OpensslLib/uefi-asm.conf > > > > -- > > 2.28.0.windows.1 >=20 >=20 >=20 >=20 >=20