From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM02-DM3-obe.outbound.protection.outlook.com (NAM02-DM3-obe.outbound.protection.outlook.com [40.107.95.44]) by mx.groups.io with SMTP id smtpd.web09.15905.1621448408814808065 for ; Wed, 19 May 2021 11:20:09 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="body hash did not verify" header.i=@amd.com header.s=selector1 header.b=ECmWAqEh; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.95.44, mailfrom: brijesh.singh@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=HrLw6FlV8vgY6lpkZhMgSrV2QmvvJ1OGJJtZNNn7XB+DS+0dii0kv6Bd3Pw120JsdUPDMf5xePPG+XdOjeNX0XreJT7rt2DcaruSK73dJ4c+n/onGzc3x7UEkn2YIp1qlrqHINGR7I8lhOhzyNoNZx/ZrxQ8OsILIdvWXz/x+mXU6KqlILmm5IB1GerAj8HoZz6OdxTxIWGdz7o3hsTdDx3i4MIrKPnWLY1O2drG9i/X9dqVaItFs1JyXD4ph/sJCBLFCRS4J7ba9/HfXA3PHv4w7pmSza8EOf/LwvfaLPkzJcJ+EdJOyome3Zb55WG7kcxq6tdk+UVJhWcx/4HJNA== 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=7uZWQ+2ygV7lOycaLe4XWIwyvb3e03KaRyqUCnweI/I=; b=WS6dv/nKVgx5llYA5jV3oHpKtWvDxCs0NlWsYELx0HZFYRuI2gK7os9rNQyC0I6AVNjHjf48jsfAqGhEQx+Bn/y7juXN3lcw2+keYP292LQfIpy5hxzuzL6JgyodoZtyHri0kXdjvkQEQeYasZPCz9naoh/kzoEvzwO38BSZ0lK+Rez0pxih5in5lDflsA7qWGQdLNENRImph0kLiWXS3nCpEd9ZgPdgakPISX+HX5MiOSlzsJaSd9RD1jJcSwIJG32UrnTlD6kN4i76ZNYHsmwrftG9n7Pho8OgDAP9WXsqsSN6PDYHrgIc1+60rE4m/uUAK1jHkSMYWjFHjNQw9g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=7uZWQ+2ygV7lOycaLe4XWIwyvb3e03KaRyqUCnweI/I=; b=ECmWAqEhlad2ATSEbgkrU6FBramkDns/AEm2TBFaXXHU1BtgHHA+ZEHKHdORS4/Lpcm+X5oqd97i1fT+wb2nAMjjjqG2EHCv5OCfPaVDlvcUhshICEnRDBLMis6a1wYOfMFsEwfHmjyPG5NS3hcXHwy0C571BOtFIW6ioXcrUTc= Authentication-Results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=amd.com; Received: from SN6PR12MB2718.namprd12.prod.outlook.com (2603:10b6:805:6f::22) by SN1PR12MB2365.namprd12.prod.outlook.com (2603:10b6:802:2e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25; Wed, 19 May 2021 18:20:06 +0000 Received: from SN6PR12MB2718.namprd12.prod.outlook.com ([fe80::9898:5b48:a062:db94]) by SN6PR12MB2718.namprd12.prod.outlook.com ([fe80::9898:5b48:a062:db94%6]) with mapi id 15.20.4129.032; Wed, 19 May 2021 18:20:06 +0000 From: "Brijesh Singh" To: devel@edk2.groups.io CC: Brijesh Singh , James Bottomley , Min Xu , Jiewen Yao , Tom Lendacky , Jordan Justen , Ard Biesheuvel , Laszlo Ersek , Erdem Aktas , Michael D Kinney , Liming Gao , Zhiguang Liu Subject: [PATCH v3 00/13] Add GHCBv2 macro and helpers Date: Wed, 19 May 2021 13:19:36 -0500 Message-ID: <20210519181949.6574-1-brijesh.singh@amd.com> X-Mailer: git-send-email 2.17.1 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: SN7PR04CA0212.namprd04.prod.outlook.com (2603:10b6:806:127::7) To SN6PR12MB2718.namprd12.prod.outlook.com (2603:10b6:805:6f::22) Return-Path: brijesh.singh@amd.com MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sbrijesh-desktop.amd.com (165.204.77.1) by SN7PR04CA0212.namprd04.prod.outlook.com (2603:10b6:806:127::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4129.25 via Frontend Transport; Wed, 19 May 2021 18:20:05 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: a9251a78-6d9e-4737-a800-08d91af2ba5a X-MS-TrafficTypeDiagnostic: SN1PR12MB2365: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:962; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: SaMmr7slOpqUgbRnP4DKuQ1a1WS36IwpvDh4z7WqXIAioEKNYRMlVl4gQR/2S5V9OFjlCT5ceImuiBXt1qO0QuBtIPmTp0XriqG7uU8/tLM8q560urKXqhNS3sY6HIhaO+47Zy5yyJgMcnnyP1qgytdhDEKsoO5pXONQ4iht4MPZgroOJLX2P+xXLOiPAwXGY0FlvGFPQO/zzcLJldZ9cm1Wcu5NS3rPHUL76iLlejd9/86adm2FjrGiNTsPXTtTvDjJwW0VfBQLhYvkb1IQ3GqM+YH0xY1OVIDHDswaJUP8rjT9FLXQfKP8hoXt9tnbeeqWD2D6AlietXXOVObfyNZH7xOAnrZ7Pa5mJn2lvycrhwVW3JGMbk74tGHfNDdiV5N6cwPmZAPQ3Ekm5vFnkfwy6vuGYGj+O9IJuijph8wb7d7emwojQIqR4lkU72U9OrfeoS8RJIZ0vpiSJwOXseTPsC/7RcONXH7hAdNbbUHtrrUCsR+ETF7gVJoz6jzaSgCRTc6CQpmKhLS1T6sa9suyNaqTg2S7WGHt9ijb8mZW0fb1TxYxc1FwnloSzzBLx10mhzU1qYhwhenMBKcbQJIwAGaF4Pl6oHR8PBN2eb+f+vfDxI5uy0SVrHRr59BMo5dqxMemExo9+/VmPES5/Ewv4qwD93cJhUfzgtn10uM= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2718.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(346002)(396003)(366004)(376002)(39840400004)(16526019)(4326008)(6916009)(956004)(2616005)(478600001)(1076003)(2906002)(5660300002)(6486002)(19627235002)(54906003)(66946007)(66476007)(316002)(7416002)(8676002)(66556008)(8936002)(83380400001)(36756003)(38100700002)(38350700002)(86362001)(26005)(7696005)(52116002)(186003)(44832011)(6666004);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?CPW9fuAAp37rgdIb9UvTdjad6/teexqSI063cWbbHvBioJYVSiL49LeTWybw?= =?us-ascii?Q?FKV7/8h6itEmUf2Ms/VaUSZTdPx5opSwSoic8NMVFSqyxGcxSR/ETB+FZfq3?= =?us-ascii?Q?UtJXQoMLti7lwXSqdVU+bYr9OTTfz1Z0BTq0j0/gxPegACyzkike6YRO9Dqz?= =?us-ascii?Q?GumzZ7a4Gu0TWUdIG+GMSyMK8kLXt66QQmC/IJtCml5vPe6xE8XdCa8DoXr9?= =?us-ascii?Q?KL/MTbx2+O5rVV3G+PMhvmtVIEcGOs1LhmqgRbcMWIKFZgXLdlt+ft1CvLDz?= =?us-ascii?Q?FkTpV+QWy2d3pxSjDceeBtUQ83meKs/m5O1O3JkROMmC0d6q409EFwLbsA4c?= =?us-ascii?Q?qFaqOpsbGUMUXdlikjtyquZXckAkY74XpSfDS18D5kgEx3qGz6bs73PbDwob?= =?us-ascii?Q?LGroRv5PHTVWcyoeqxVMA3u2DR93bEaHn3RE07PTpr4Jl2jt7TYo3p660ABl?= =?us-ascii?Q?RkFgr9ph3iluuoxCMeINomEDbXlHmHQ4tw02yxcWaqyFkbtyFAQQmoi3pVZP?= =?us-ascii?Q?Ub3JyWcllwOJEqew+tqqrDERbk3XkgVh1cHSLWkaV6JBS9ILpX3q5spwGL6z?= =?us-ascii?Q?gdGvQfWh6yrxEn3e5mu5hGOl2r4l/Gnfc5s/mkEDY8COPtM+C5mfkXVaso9A?= =?us-ascii?Q?Xsnav84wWC5Qpf2NZCTw1v5GZu64MoYwA9FPvsROG+3NX+bNxZUG1u91xZul?= =?us-ascii?Q?u7sQenrLcNsi700vfCBxTVHpK2SNFdwnL/CFTxPUSwOphDVakdXanUS7zbkK?= =?us-ascii?Q?Jv6I0pugcEOR9WvKy1oDKm65Y/vKXCrZkq01PT5/lC5IqftvJoUMScHM6U/D?= =?us-ascii?Q?gOp1Isg922BXxO5X1NUrZKHxe4tyajFI+2WeuRqeCN0ZpaOrKMvIfU2sbLlY?= =?us-ascii?Q?8/bxiWFQVX/6+CifEi0xK0xYqR9j5asC8DIRwwshxG+/5wMnrfRMUFs2NdgN?= =?us-ascii?Q?fQJ0uDcZHkxP+m26TD8fuNTo0t9zXguTXyvhbJEtDU4HAenkWgUnsMtfCPCS?= =?us-ascii?Q?aigeRuHLjBcrm4lQlWHzpaH1lzH2nKqZzEgoqTvCWw3IiHZZknMVjP0BD3OZ?= =?us-ascii?Q?70eucsnx6HfIFDYKa7t/GunAg3vRuK+zoMtj5Yp+brD0/g1T4++0bGb5syoR?= =?us-ascii?Q?bBqaiitabj3WPKcG2MzeZHWTcGzt4NAPmZM5IRL/medAIOBa36fbYxldmWzX?= =?us-ascii?Q?/NgqbKybFyFCylczLcUL/BJ1fycqefjixbkX2t1oywmxRN+XY7dX6yMR6FLx?= =?us-ascii?Q?6xu7V6M5aYxCR0iGM8lD9glBYMj8h7F7xmq8QRDyU1m9bln6pEEB2BeOXtmc?= =?us-ascii?Q?pQAftyuUaO2+z12I1Vdz1Xct?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: a9251a78-6d9e-4737-a800-08d91af2ba5a X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2718.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 19 May 2021 18:20:06.1456 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: OcKwfstu34AFY8mWtbPhqikBsXaeqBk/7oChGtZ78xhaHz+57tKjCmjKZzQFcbP9yj+Wbl+lV2/8XA/nQZGy/A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN1PR12MB2365 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain This series is taken from the SNP RFC. This series defines the GHCBv2 macros and NAE events. Additionally, it also introduces a helper to clear the page encryption mask from the Mmio region. The series is based on the commit: 15ee7b76891a CryptoPkg/BaseCryptLib: Fix possible uninitialized use Cc: James Bottomley Cc: Min Xu Cc: Jiewen Yao Cc: Tom Lendacky Cc: Jordan Justen Cc: Ard Biesheuvel Cc: Laszlo Ersek Cc: Erdem Aktas Cc: Michael D Kinney Cc: Liming Gao Cc: Zhiguang Liu Change since v2: - fix commit message for typos and add R-b Change since v1: - address the review comments - drop the Mmio specific changes from 'remove Flush .." patch Brijesh Singh (11): MdePkg/Register/Amd: expand the SEV MSR to include the SNP definition MdePkg/Register/Amd: realign macros with more space for future expansion MdePkg/Register/Amd: define GHCB macros for hypervisor feature detection MdePkg/Register/Amd: define GHCB macro for Register GPA structure MdePkg/Register/Amd: define GHCB macro for the Page State Change MdePkg/BaseLib: add support for PVALIDATE instruction OvmfPkg/BaseMemEncryptSevLib: introduce MemEncryptSevClearMmioPageEncMask() OvmfPkg/AmdSevDxe: use MemEncryptSevClearMmioPageEncMask() to clear EncMask OvmfPkg/QemuFlashFvbServicesRuntimeDxe: use Mmio helper to clear enc mask OvmfPkg/TpmMmioSevDecryptPei: use MemEncryptSevClearMmioPageEncMask() OvmfPkg/BaseMemEncryptSevLib: remove Flush parameter Tom Lendacky (2): MdePkg/Register/Amd: define GHCB macros for SNP AP creation MdePkg/BaseLib: add support for RMPADJUST instruction MdePkg/Library/BaseLib/BaseLib.inf | 2 + MdePkg/Include/Library/BaseLib.h | 85 +++++++++++ MdePkg/Include/Register/Amd/Fam17Msr.h | 46 +++++- MdePkg/Include/Register/Amd/Ghcb.h | 137 +++++++++++++++++- OvmfPkg/Include/Library/MemEncryptSevLib.h | 35 ++++- .../BaseMemEncryptSevLib/X64/VirtualMemory.h | 33 ++++- OvmfPkg/AmdSevDxe/AmdSevDxe.c | 13 +- OvmfPkg/IoMmuDxe/AmdSevIoMmu.c | 6 +- .../Ia32/MemEncryptSevLib.c | 41 +++++- .../X64/MemEncryptSevLib.c | 49 +++++-- .../X64/PeiDxeVirtualMemory.c | 47 ++++-- .../X64/SecVirtualMemory.c | 38 ++++- .../SmmCpuFeaturesLib/SmmCpuFeaturesLib.c | 3 +- OvmfPkg/PlatformPei/AmdSev.c | 3 +- .../FwBlockServiceDxe.c | 5 +- .../QemuFlashSmm.c | 5 +- .../TpmMmioSevDecryptPeim.c | 5 +- MdePkg/Include/X64/Nasm.inc | 16 ++ MdePkg/Library/BaseLib/X64/Pvalidate.nasm | 42 ++++++ MdePkg/Library/BaseLib/X64/RmpAdjust.nasm | 40 +++++ 20 files changed, 562 insertions(+), 89 deletions(-) create mode 100644 MdePkg/Library/BaseLib/X64/Pvalidate.nasm create mode 100644 MdePkg/Library/BaseLib/X64/RmpAdjust.nasm --=20 2.17.1