From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from EUR05-DB8-obe.outbound.protection.outlook.com (EUR05-DB8-obe.outbound.protection.outlook.com [40.107.20.73]) by mx.groups.io with SMTP id smtpd.web08.14441.1633017189836748281 for ; Thu, 30 Sep 2021 08:53:10 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@armh.onmicrosoft.com header.s=selector2-armh-onmicrosoft-com header.b=KYB8NuOc; spf=pass (domain: arm.com, ip: 40.107.20.73, mailfrom: sami.mujawar@arm.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=alzmcFSetnbvSD6P9CLjl7JEEtEgIvTuo/z5216ImeQ=; b=KYB8NuOcZc4+zR/mlH7rl28YQ3iy+hH0EUjCR8e9FilP0e9qc508U7nQaTQCKPynFCiNksMkYfBkLpnUxWUA6w0lDU01e7daF90cH91qxRXXeHGzX7j7rY0nH74NckKQKQ7WMuVALUMSJu80lMMe2NSbUdAPHdA0HbFnImSx0PI= Received: from AM6P194CA0090.EURP194.PROD.OUTLOOK.COM (2603:10a6:209:8f::31) by PAXPR08MB6352.eurprd08.prod.outlook.com (2603:10a6:102:15b::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15; Thu, 30 Sep 2021 15:53:06 +0000 Received: from VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com (2603:10a6:209:8f:cafe::53) by AM6P194CA0090.outlook.office365.com (2603:10a6:209:8f::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.16 via Frontend Transport; Thu, 30 Sep 2021 15:53:06 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; edk2.groups.io; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 63.35.35.123 as permitted sender) receiver=protection.outlook.com; client-ip=63.35.35.123; helo=64aa7808-outbound-1.mta.getcheckrecipient.com; Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by VE1EUR03FT034.mail.protection.outlook.com (10.152.18.85) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.14 via Frontend Transport; Thu, 30 Sep 2021 15:53:06 +0000 Received: ("Tessian outbound a492f2284909:v103"); Thu, 30 Sep 2021 15:53:05 +0000 X-CheckRecipientChecked: true X-CR-MTA-CID: 601ef3a0e07fbc4d X-CR-MTA-TID: 64aa7808 Received: from ea507c3a0865.1 by 64aa7808-outbound-1.mta.getcheckrecipient.com id DF0515FC-EB59-4251-9B97-8361D37E162C.1; Thu, 30 Sep 2021 15:40:45 +0000 Received: from EUR05-VI1-obe.outbound.protection.outlook.com by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id ea507c3a0865.1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Thu, 30 Sep 2021 15:40:45 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=cJIGPjQ5oP6dubcx1lUMlHey7h8Zqjiu6l3sU6o0Vx4oSBq+1GdD8gqeDA+81bWUI0chF2gAb8qlIgsaIG/4U0/iQKjbGhyioCfTNG797CvzqGSYlfdd58v7TIH9BEEDFlc4qGNjxwpDioxnbQftz5+Ug6ljfAdh1cYcYJn5MV5QefYhpb/7utsksCvSgmr7ABy0E7ANtCLjzauxUz4asL9p0mUEBGBsxjuOhFZ7Yeo4W1VCfTw14c1ruLtUs861dJXrMphKDK7eept4v5eTz12V0MJ6N8AurswdAzBffJcmZT6dWSyXxUYSeZP/IDTY2Aozx7Ilpb1fdE4+mOfjaQ== 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; bh=alzmcFSetnbvSD6P9CLjl7JEEtEgIvTuo/z5216ImeQ=; b=KaA5z29JSArgTY2CcHAkEO+BEKEXJv9/vsWBr3ruReXA/Wxkx4HMCR7k/XQiZJH9xNrOuXt7GonpD2VJPIXv6FsZQEaYlD6MuUYjDL5mjj06ANAw0sbeTS2BabEKK5r7qjKpACkr5eK/eOuRUOMfRtVE355PUv2+BzfA/QjqGJPYmSd681U7SvP9Z/JlDuHYe8Rnxh8ve9tkFVWDP7u8qWfqSsawV17kRcTY/TPGaXqz9nxM9tVAsUF0wOMDtu8pkZ/8X2DaT7OceWaDsKnXBmVyOfOtnbB6wVd7RRzgxCJ9LVRQn/vcpBecJmGHbzynrOBuWj4Jo39xtapOSP3Fqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 40.67.248.234) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=arm.com; dmarc=pass (p=none sp=none pct=100) action=none header.from=arm.com; dkim=none (message not signed); arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=alzmcFSetnbvSD6P9CLjl7JEEtEgIvTuo/z5216ImeQ=; b=KYB8NuOcZc4+zR/mlH7rl28YQ3iy+hH0EUjCR8e9FilP0e9qc508U7nQaTQCKPynFCiNksMkYfBkLpnUxWUA6w0lDU01e7daF90cH91qxRXXeHGzX7j7rY0nH74NckKQKQ7WMuVALUMSJu80lMMe2NSbUdAPHdA0HbFnImSx0PI= Received: from DBBPR09CA0009.eurprd09.prod.outlook.com (2603:10a6:10:c0::21) by AM8PR08MB6625.eurprd08.prod.outlook.com (2603:10a6:20b:357::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4544.15; Thu, 30 Sep 2021 15:40:43 +0000 Received: from DB5EUR03FT003.eop-EUR03.prod.protection.outlook.com (2603:10a6:10:c0:cafe::49) by DBBPR09CA0009.outlook.office365.com (2603:10a6:10:c0::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.16 via Frontend Transport; Thu, 30 Sep 2021 15:40:43 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 40.67.248.234) smtp.mailfrom=arm.com; edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=pass action=none header.from=arm.com; Received-SPF: Pass (protection.outlook.com: domain of arm.com designates 40.67.248.234 as permitted sender) receiver=protection.outlook.com; client-ip=40.67.248.234; helo=nebula.arm.com; Received: from nebula.arm.com (40.67.248.234) by DB5EUR03FT003.mail.protection.outlook.com (10.152.20.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.4566.14 via Frontend Transport; Thu, 30 Sep 2021 15:40:43 +0000 Received: from AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) by AZ-NEU-EX04.Arm.com (10.251.24.32) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.2308.14; Thu, 30 Sep 2021 15:40:46 +0000 Received: from AZ-NEU-EX03.Arm.com (10.251.24.31) by AZ-NEU-EX01.Emea.Arm.com (10.251.26.4) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2308.14; Thu, 30 Sep 2021 15:40:42 +0000 Received: from E114225.Arm.com (10.1.196.43) by mail.arm.com (10.251.24.31) with Microsoft SMTP Server id 15.1.2308.14 via Frontend Transport; Thu, 30 Sep 2021 15:40:45 +0000 From: "Sami Mujawar" To: CC: Sami Mujawar , , , , , , , , , , , , , Subject: [PATCH v1 0/9] Add Raw algorithm support using Arm FW-TRNG interface Date: Thu, 30 Sep 2021 16:40:35 +0100 Message-ID: <20210930154044.37336-1-sami.mujawar@arm.com> X-Mailer: git-send-email 2.16.2.windows.1 MIME-Version: 1.0 X-EOPAttributedMessage: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 4e4bec56-5087-44a2-a0b9-08d9842a64a7 X-MS-TrafficTypeDiagnostic: AM8PR08MB6625:|PAXPR08MB6352: X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true NoDisclaimer: true X-MS-Oob-TLC-OOBClassifiers: OLM:8273;OLM:8273; X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam-Untrusted: BCL:0; X-Microsoft-Antispam-Message-Info-Original: Gngg6yAfpxisIZorCJc5lR8vIcy/oXEpvX7ydU1WslXgKWt7ImZ0UEl4Px7Yx8af5RlHtPXKQt4GFF3h2wNTMDzmJDtlBfBZu2zAz6SlsEOMdBzRGaZLXwwdFvazVK/JTDP7lX9ooF9aThJRMPftxhzaZS/0C2GjbKQABkSgT72SyOiFVGWlG4JlMDbF3hTxef9fzEVjDKjNHRcDnjNnPbWN6Y3r3DD49BzyIiONJKfXUB0UKDu44fT4hLRnDCcYGBqG6Zke+ru5K2VKDV4vauI7W7YBKWIv548XNtXbdsgp9RgOIrcZRtGJx4S2uutxbmxSrxAgOtr9tUg681SSjp+yIL6uKhOsN0U7EwDamyEi9JWs/gDB2jn+TyABSSUDmmbfuzerNT3XueApgha+c2/mD2Xh9GOkt7Kw96E0KWJ+wLf9tY726yCiWvd6on9u4UHD956Peo7arkqF3dfw+ADR+Hj9VS6RX4B0Ph2j0cgs39Go2CEaiyqfKF7nMaxLSBICv0VDD/iOAsogysz01hUwbtZ3bTG72E1lc47GV2QBzYh/IF42Fd6LFakNbFyFljImHxXEMLWABoKEnYe4uQzv7Rjsd7Osb1BQTktmj55r114EGdtqtpIcmawmbqS710vcz15REOZ1sCHXUPhx0pcFB1D0XDGu/RBMS+t3UuCtBsbyeaoHPYedKiG8FngfHgFBvtAr8akUzhn1QrnNrOdsvjhs8uE1GxbnPpe60FBSmV5RZUQd6ak5UIJkHduSV3CFHzhhFlGXAukTumznNl/mC1cx0GRUp2oD6Z1sax84RcHP/NzvSCBUqRCa1S2t07pbKW+NDlKF6AJVed69MlJ/oO4lQrc4wYqSdlIBVg0= X-Forefront-Antispam-Report-Untrusted: CIP:40.67.248.234;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:nebula.arm.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(8676002)(508600001)(36860700001)(316002)(7696005)(186003)(8936002)(54906003)(1076003)(336012)(83380400001)(36756003)(4326008)(6916009)(44832011)(6666004)(426003)(356005)(966005)(70586007)(2906002)(70206006)(81166007)(7416002)(2616005)(5660300002)(82310400003)(26005)(86362001)(47076005)(36900700001);DIR:OUT;SFP:1101; X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM8PR08MB6625 Return-Path: Sami.Mujawar@arm.com X-MS-Exchange-Transport-CrossTenantHeadersStripped: VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-Office365-Filtering-Correlation-Id-Prvs: 195dc30f-4239-44ff-0deb-08d98428a9bf X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G5EDhCka9gf/VCjJ/eOnYCs2qnSzAgkUVNCiPTI+5zhgOhHeBzF6pgVXzbjHGkG22WR7A2ff21V/fslt1zh6NlQMitSkY6PUN/9VUc2mzb/wszvrKh1gq9ISUoNvc6KYHM1EBK0wuYByiOIOkWK8qIVlxPuYexTBLuULE7dw++UnNVYqkASXZ/AvFyp4nYcUkWizkmgXUCHrNtTOe5o2tr8GDhs+zliN8fd/Ng57RPnO8fL9n1dBCcmwlNLIecmDQnqlEpwN2m5wIKkJ1AedLuwwxs6usOxaGyWKd7VTI9Wjq8ciGdV3XAAQdN3f25ocjlPYJtvkxKMMsyoSWysSWUc18cJtTF3aCfFcmwZBB73HWbTfe3Ugjh4Ww76B+mQWSkmxmAz0kyJoC/0BBVpP/stqky+kd333cMmSu+SV5FOXTFRfK7ds4GjwJGwU7mYOi+nNRHdvJBQvXNlKD3H/sYYFH+WYTK+aszSbPqhaUW1stgI6/M4vdMSWZeqvLxUrl8ZR09eCjIK23+X7nAPXjMHOpUetrMjyinUBXMDE9ePoxdMRSM+Lb/E3bYh+dzfe6b8x4HG14ns5VVHOx06ptSn8RV/xHkiNIokZ8pnoCOMhYoLWFcoLH/Z8B4l0wf6Zvvkksec48AgywLDdFD63RZfBrMczIPFK5bWq4GudsLHhrworzTZEASvXZU4MoCIFW4Elt8WVOaoflC0yQIQOY22m7yfeLRD1cUDHpYX2KiBY2iVWDIGqAAPyxMIU2X3I4Kr2uQnO9Fz9o+AEdUu1Z2fkqi0UFP27pfqK5A8aURreslx38ed1W0XcNuVdnNkpGOwSvFPmIiIGCqUtp4+X1Q== X-Forefront-Antispam-Report: CIP:63.35.35.123;CTRY:IE;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:64aa7808-outbound-1.mta.getcheckrecipient.com;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;CAT:NONE;SFS:(4636009)(36840700001)(46966006)(6666004)(81166007)(426003)(2906002)(70206006)(966005)(70586007)(47076005)(2616005)(5660300002)(86362001)(82310400003)(26005)(7696005)(186003)(8936002)(1076003)(54906003)(8676002)(508600001)(316002)(36860700001)(4326008)(36756003)(6916009)(44832011)(336012)(83380400001);DIR:OUT;SFP:1101; X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Sep 2021 15:53:06.0786 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 4e4bec56-5087-44a2-a0b9-08d9842a64a7 X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-AuthSource: VE1EUR03FT034.eop-EUR03.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: PAXPR08MB6352 Content-Type: text/plain Bugzilla: Bug 3668 (https://bugzilla.tianocore.org/show_bug.cgi?id=3668) The Arm True Random Number Generator Firmware, Interface 1.0, specification defines an interface between an Operating System (OS) executing at EL1 and Firmware (FW) exposing a conditioned entropy source that is provided by a TRNG back end. This patch series: - defines a TRNG library class that provides an interface to access the entropy source on a platform. - implements a TRNG library instance that uses the Arm FW-TRNG interface. - Adds RawAlgorithm support to RngDxe for Arm architecture using the Arm FW-TRNG interface. - Enables RNG support using FW-TRNG interface for Kvmtool Guest/Virtual firmware. The changes can be seen at: https://github.com/samimujawar/edk2/tree/1829_arm_fw_trng_v1 Sami Mujawar (9): MdePkg: Definition for TRNG library class interface ArmPkg: PCD to select conduit for monitor calls ArmPkg: Add Arm Firmware TRNG library MdePkg: Add definition for NULL GUID MdePkg: Add NULL instance of TRNG Library SecurityPkg: Rename RdRandGenerateEntropy to common name SecurityPkg: Restructure checks in RngGetInfo SecurityPkg: Add RawAlgorithm support using TRNG library ArmVirtPkg: Kvmtool: Add RNG support using FW-TRNG interface ArmPkg/ArmPkg.dec | 5 + ArmPkg/ArmPkg.dsc | 1 + ArmPkg/Library/ArmFwTrngLib/ArmFwTrngDefs.h | 64 +++ ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.c | 483 ++++++++++++++++++++ ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.inf | 34 ++ ArmVirtPkg/ArmVirtKvmTool.dsc | 10 + ArmVirtPkg/ArmVirtKvmTool.fdf | 5 + MdePkg/Include/Guid/NullGuid.h | 21 + MdePkg/Include/Library/TrngLib.h | 123 +++++ MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.c | 111 +++++ MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.inf | 30 ++ MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.uni | 12 + MdePkg/MdePkg.dec | 13 +- MdePkg/MdePkg.dsc | 1 + SecurityPkg/RandomNumberGenerator/RngDxe/AArch64/RngDxe.c | 79 +++- SecurityPkg/RandomNumberGenerator/RngDxe/Arm/RngDxe.c | 164 +++++++ SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c | 61 +++ SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.c | 13 +- SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h | 43 -- SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RngDxe.c | 12 +- SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.c | 13 +- SecurityPkg/RandomNumberGenerator/RngDxe/RngDxe.inf | 13 +- SecurityPkg/RandomNumberGenerator/RngDxe/RngDxeInternals.h | 22 +- SecurityPkg/SecurityPkg.dsc | 12 +- 24 files changed, 1272 insertions(+), 73 deletions(-) create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngDefs.h create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.c create mode 100644 ArmPkg/Library/ArmFwTrngLib/ArmFwTrngLib.inf create mode 100644 MdePkg/Include/Guid/NullGuid.h create mode 100644 MdePkg/Include/Library/TrngLib.h create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.c create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.inf create mode 100644 MdePkg/Library/BaseTrngLibNull/BaseTrngLibNull.uni create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Arm/RngDxe.c create mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/ArmTrng.c delete mode 100644 SecurityPkg/RandomNumberGenerator/RngDxe/Rand/RdRand.h -- 'Guid(CE165669-3EF3-493F-B85D-6190EE5B9759)'