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.1725.1580871526913173885 for ; Tue, 04 Feb 2020 18:58:47 -0800 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.88, mailfrom: michael.d.kinney@intel.com) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga101.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 04 Feb 2020 18:58:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.70,404,1574150400"; d="scan'208";a="279249056" Received: from mdkinney-mobl2.amr.corp.intel.com ([10.252.135.231]) by FMSMGA003.fm.intel.com with ESMTP; 04 Feb 2020 18:58:46 -0800 From: "Michael D Kinney" To: devel@edk2.groups.io Cc: Jian J Wang , Xiaoyu Lu Subject: [Patch v7 0/5] CryptoPkg: Add modules that produce BaseCryptLib services Date: Tue, 4 Feb 2020 18:58:40 -0800 Message-Id: <20200205025845.9764-1-michael.d.kinney@intel.com> X-Mailer: git-send-email 2.21.0.windows.1 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit New in V7 * Sync with edk2/master to align with HashApiLib commits * Fix typos and comment spelling * Update supported archs https://bugzilla.tianocore.org/show_bug.cgi?id=2420 Based on the following package with changes to merge into CryptoPkg. https://github.com/microsoft/mu_plus/tree/dev/201908/SharedCryptoPkg * Add X509ConstructCertificateStackV() to BaseCryptLib. This is required to have a VA_LIST version of X509ConstructCertificateStack() so it can be maped into a Protocol/PPI. * Add EDK II Crypto Protocols/PPIs/PCDs * Add PEIM, DXE Driver, SMM Driver that produce the EDK II Crypto Protocols/PPIs using the services of the BaseCryptLib and TlsLib with families of services and individual services enabled/disables in the Protocols/PPIs using a PCD. * Add new BaseCryptLib library instance that calls the EDK II Crypto Protocols/PPIs. * Update DSC file to build all modules/libs and provide ability to build binary versions of the PEIM, DXE Driver, SMM Driver with different sets of Crypto services enabled. This patch series depends on the following bugs that must be resolved before this patch series will build and pass EDK II CI. https://bugzilla.tianocore.org/show_bug.cgi?id=2495 https://bugzilla.tianocore.org/show_bug.cgi?id=2496 Cc: Jian J Wang Cc: Xiaoyu Lu Signed-off-by: Michael D Kinney Michael D Kinney (5): CryptoPkg/BaseCryptLib: Add X509ConstructCertificateStackV(). CryptoPkg: Add EDK II Crypto Protocols/PPIs/PCDs CryptoPkg/Driver: Add Crypto PEIM, DXE, and SMM modules CryptoPkg/Library: Add BaseCryptLibOnProtocolPpi instances CryptoPkg/CryptoPkg.dsc: Add build of Crypto libraries/modules CryptoPkg/CryptoPkg.dec | 28 + CryptoPkg/CryptoPkg.dsc | 207 +- CryptoPkg/CryptoPkg.uni | 5 +- .../BaseCryptLib.h => Driver/Crypto.c} | 2139 ++++++- CryptoPkg/Driver/Crypto.uni | 13 + CryptoPkg/Driver/CryptoDxe.c | 38 + CryptoPkg/Driver/CryptoDxe.inf | 49 + CryptoPkg/Driver/CryptoPei.c | 99 + CryptoPkg/Driver/CryptoPei.inf | 51 + CryptoPkg/Driver/CryptoSmm.c | 41 + CryptoPkg/Driver/CryptoSmm.inf | 49 + CryptoPkg/Include/Library/BaseCryptLib.h | 26 + .../Pcd/PcdCryptoServiceFamilyEnable.h | 293 + CryptoPkg/Library/BaseCryptLib/Pk/CryptX509.c | 50 +- .../Library/BaseCryptLib/Pk/CryptX509Null.c | 32 +- .../BaseCryptLibNull/Pk/CryptX509Null.c | 32 +- .../BaseCryptLibOnProtocolPpi/CryptLib.c} | 1701 +++++- .../BaseCryptLibOnProtocolPpi/CryptLib.uni | 12 + .../BaseCryptLibOnProtocolPpi/DxeCryptLib.c | 68 + .../BaseCryptLibOnProtocolPpi/DxeCryptLib.inf | 44 + .../BaseCryptLibOnProtocolPpi/PeiCryptLib.c | 57 + .../BaseCryptLibOnProtocolPpi/PeiCryptLib.inf | 43 + .../BaseCryptLibOnProtocolPpi/SmmCryptLib.c | 79 + .../BaseCryptLibOnProtocolPpi/SmmCryptLib.inf | 44 + CryptoPkg/Private/Ppi/Crypto.h | 21 + .../Protocol/Crypto.h} | 5330 ++++++++++------- CryptoPkg/Private/Protocol/SmmCrypto.h | 21 + 27 files changed, 7860 insertions(+), 2712 deletions(-) copy CryptoPkg/{Include/Library/BaseCryptLib.h => Driver/Crypto.c} (61%) create mode 100644 CryptoPkg/Driver/Crypto.uni create mode 100644 CryptoPkg/Driver/CryptoDxe.c create mode 100644 CryptoPkg/Driver/CryptoDxe.inf create mode 100644 CryptoPkg/Driver/CryptoPei.c create mode 100644 CryptoPkg/Driver/CryptoPei.inf create mode 100644 CryptoPkg/Driver/CryptoSmm.c create mode 100644 CryptoPkg/Driver/CryptoSmm.inf create mode 100644 CryptoPkg/Include/Pcd/PcdCryptoServiceFamilyEnable.h copy CryptoPkg/{Include/Library/BaseCryptLib.h => Library/BaseCryptLibOnProtocolPpi/CryptLib.c} (67%) create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/CryptLib.uni create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.c create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/DxeCryptLib.inf create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.c create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/PeiCryptLib.inf create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/SmmCryptLib.c create mode 100644 CryptoPkg/Library/BaseCryptLibOnProtocolPpi/SmmCryptLib.inf create mode 100644 CryptoPkg/Private/Ppi/Crypto.h copy CryptoPkg/{Include/Library/BaseCryptLib.h => Private/Protocol/Crypto.h} (62%) create mode 100644 CryptoPkg/Private/Protocol/SmmCrypto.h -- 2.21.0.windows.1