From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (NAM11-BN8-obe.outbound.protection.outlook.com [40.107.236.82]) by mx.groups.io with SMTP id smtpd.web10.5252.1607034407696610659 for ; Thu, 03 Dec 2020 14:26:48 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@amdcloud.onmicrosoft.com header.s=selector2-amdcloud-onmicrosoft-com header.b=RgwP0USc; 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.236.82, mailfrom: ashish.kalra@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Zu1kMZiVR4bT+i5Hw3EcSloChODvKhEFXdKSjLV7vz/nq9W7XmSglooOA+fJBjHfVcfEkjZVbs9LKuJ42f+SURMB+0Vo1Xpfxs6EjBkHV2xDdIa2AReH8XNod3e4pzuXuwoPUXj+LdY9xPwTvvBpooAjAPcV7zQyd2JnEm8s/YbtK3X9wYgqa9u3UyrZ9aKRj25hD/cPc7v99bKy4v3/VyVmC9Q4dCORKXMCvTEb2fqhhTIwie/zIyFlVnlgBaP9UME56G08uaNODt32V4v9igxqawfkCnWNKpW7rfAY0uFCKBbji0ZWqCGuxis4THVeUm4AxG1PwBc7/uoLURCwNQ== 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=LOUbBl4SkElv3HgLQwknni7yPCFt66pcmsNy+GZhCLo=; b=MFYmFnYsKaHdwjMbZSHACvgiHWpqv/rFN9d/jR5QsgwDCs8ZjGN2yg6eKY5jlADXmUHsopAXD43C6HYgbEtdk+rQTxUIUzviCRb5ru0XmdhLn71rtGLrkgemqi7Yw5IIjzzpon0GtlhyBY/MkTiR1u4G1LeYC70fCcQloQj78M5r3ZEmanxTHYHDzwe37XYYndzpPqkAiRcjFh2KrJ03B8596nlFRgJwp/KOtIOLzb9IrBw6Y1SGzW7NTMQgN4FCDpKmcxr5DW1DWu9j6qra96YhPfVR0bpcUq6vd6O/5+JBL5cE2ztIErgF5mD/VUgbCo9YSbnGFmGYDcxYmhCd2g== 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=amdcloud.onmicrosoft.com; s=selector2-amdcloud-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=LOUbBl4SkElv3HgLQwknni7yPCFt66pcmsNy+GZhCLo=; b=RgwP0UScBhHKfONqh0i2fvXxDJ7d+AmrNqIjdvGNrbWZ861UPI3dik0qF/xehcpOkh97NwdFs0AFl7nh1kWtAAp3e5iLn97dy4NflIiLnkewg1xwFH67QuLSdVj+KlyejEvJsDRTRgp49aiSNh45GiYWa57gLpeOEsg/5V2IxuQ= 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 SN6PR12MB2767.namprd12.prod.outlook.com (2603:10b6:805:75::23) by SN6PR12MB2783.namprd12.prod.outlook.com (2603:10b6:805:78::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3611.25; Thu, 3 Dec 2020 22:26:44 +0000 Received: from SN6PR12MB2767.namprd12.prod.outlook.com ([fe80::d8f2:fde4:5e1d:afec]) by SN6PR12MB2767.namprd12.prod.outlook.com ([fe80::d8f2:fde4:5e1d:afec%3]) with mapi id 15.20.3611.025; Thu, 3 Dec 2020 22:26:44 +0000 From: ashish.kalra@amd.com To: devel@edk2.groups.io Cc: dovmurik@linux.vnet.ibm.com, brijesh.singh@amd.com, tobin@ibm.com, Jon.Grimm@amd.com, Thomas.Lendacky@amd.com, jejb@linux.ibm.com, frankeh@us.ibm.com, dgilbert@redhat.com, lersek@redhat.com, jordan.l.justen@intel.com, ard.biesheuvel@arm.com Subject: [PATCH v2 0/3] SEV Page Encryption Bitmap support for OVMF. Date: Thu, 3 Dec 2020 22:26:33 +0000 Message-Id: X-Mailer: git-send-email 2.17.1 X-Originating-IP: [165.204.77.1] X-ClientProxiedBy: DM6PR07CA0058.namprd07.prod.outlook.com (2603:10b6:5:74::35) To SN6PR12MB2767.namprd12.prod.outlook.com (2603:10b6:805:75::23) Return-Path: Ashish.Kalra@amd.com MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from ashkalra_ubuntu_server.amd.com (165.204.77.1) by DM6PR07CA0058.namprd07.prod.outlook.com (2603:10b6:5:74::35) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3632.17 via Frontend Transport; Thu, 3 Dec 2020 22:26:43 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-HT: Tenant X-MS-Office365-Filtering-Correlation-Id: 66e36b34-ea33-4623-5a7c-08d897da83f5 X-MS-TrafficTypeDiagnostic: SN6PR12MB2783: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:8882; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: h03dCjY7NjIP8ORTfHb7yJT/2C+OwrsrgXSMDtn8ArNrl/MrEGFHRJmpurhe32GP1825Ct2v2Sg7AGQhx6i7rH0z3XmZAuQ/K2fY1Sb8FXIBylHeNlRzIZCg+vQNCe3pyh7tiLQvGOaXKveLOZxUU/33sNVJUitoDkWXelSs8N9F8We7C4RavrnJLK2mpFQNrWe0UgyixI0NGgxFs3L3c0A8HBHSg4MshY+3KLAPCMtzRAn+79Y5ix96lwiR5QQlStM1wwBhfgb6YEvuOumdZ7cVRHULravRq7QmqBJiQ9rrOgHFgFSQD9L8BKFXPK1mI3xTJg5iVOhQL1buoa+ZI/N8/ur2mZ3SXfsHDNpnO7U23o1F6Fvzz/ordffGhUqWC/xsormLvFKfF30fudHttA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:SN6PR12MB2767.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(39860400002)(376002)(346002)(136003)(366004)(396003)(478600001)(86362001)(66476007)(5660300002)(6666004)(66946007)(66556008)(956004)(19627235002)(2616005)(966005)(7696005)(316002)(52116002)(2906002)(16526019)(8676002)(186003)(6916009)(6486002)(26005)(8936002)(36756003)(4326008);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?us-ascii?Q?fuVDxzLvVKE4ztjeVJ3nRYBsRlFKyozQpuqzKKaTaXfxvlMit6gfYcqrzGoe?= =?us-ascii?Q?ZvOPDNxQ+mHu5aT7yMtV9TSrA8oDMH2N0wyV6/Zh/iY9Q9Bhdt21OPWbdpwo?= =?us-ascii?Q?NY16jE4zXdlaVfEnuVUA/1S8sJKeyCdn3cphxfQSp9xIhzzFUEYfYP0MRrPz?= =?us-ascii?Q?BZfI6IJQ+x8Yol3awFT3vLZd/O4+jaoXm7bFnOBUw6ssdIna+40/NgRkZmjd?= =?us-ascii?Q?/yPVopQcKXUtJxr/UHpok73yF9aMZmObCuJGWykPjAyhZY9Ec3GWbvvf7dtF?= =?us-ascii?Q?TvJTBDKJ5oln8yLEaYHG0uQufF7Cx2iOPnAZjNqgeF7LnwFY0Lvceo1RXD3V?= =?us-ascii?Q?DwkiTAsCQuQhMzptLUw9d/ZMRznfXUBOB3M0un4S7MXcp2f2B3/vkCFX7LE/?= =?us-ascii?Q?2nvshyeIAJTLnnPLO8GI3Tl0VkLNv0mkwX+9P5CFrfgpUzE4wwKtf4GRbZ1B?= =?us-ascii?Q?Gd6uA7aleVhuzmC27bL1hPcWQbgjkwmVp+zn5VmkbOiRPhSB3IxG5yrYsi+W?= =?us-ascii?Q?4F/KKGr7yOMHj/ap73OnXmf0+KizQwQdIfUvM5qAGX5lRTkwS+ng3sN/zMYI?= =?us-ascii?Q?OIc0aFqrZGzciP4qhX/v8h9+Js/KsXCjqR7xCKZSUsFov2WD4LNUjqQwEtcu?= =?us-ascii?Q?kTkjHziw9G2IcpwLkxzUpq2QI+sj8OqEKtGJbLkopd4utskBj5i997G/IQBC?= =?us-ascii?Q?Q/EjAMUiSkUHUZ9Vtmn7uxg3UnFfvHRNtphpFNhPaTfFWYSeD7zVHCPJgUEt?= =?us-ascii?Q?UBLiwur1pl6zzGcRzF3yjsF71IZmcN6DmFFQvA6YyN2OrlPncKBdpwrK0b5d?= =?us-ascii?Q?cmYAfjCJF92hjzDh1a1sLxReHn1Uq135u0vOBi8ii4oajy2sBWnVVXrHJ0AN?= =?us-ascii?Q?iRXCvIIbVFLUTLLTqYvl2j/8/k2XDByD+YRMMb0cco7i795ZhpFHO3KzLkhj?= =?us-ascii?Q?owj+A4kOu1OxKso3trAxigJj4tQAUX5nPMZl8DaYxHqe6q7gu/zXnZ+XCW9b?= =?us-ascii?Q?IbbS?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 66e36b34-ea33-4623-5a7c-08d897da83f5 X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2767.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 03 Dec 2020 22:26:44.7373 (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: u8WF7SLVTibRsxjnao4pwBPMmhdbQKkQuog0VsLhJPppv3DuWxHr5Ei1EJOlR2ceViIUaCxhRFK4608Hqxpy/g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR12MB2783 Content-Type: text/plain From: Ashish Kalra By default all the SEV guest memory regions are considered encrypted, if a guest changes the encryption attribute of the page (e.g mark a page as decrypted) then notify hypervisor. Hypervisor will need to track the unencrypted pages. The information will be used during guest live migration, guest page migration and guest debugging. The patch-set also adds a new SEV and SEV-ES hypercall abstraction library to support SEV Page encryption/decryption status hypercalls for SEV and SEV-ES guests. BaseMemEncryptSevLib invokes hypercalls via this new hypercall library. A branch containing these patches is available here: https://github.com/ashkalra/edk2/tree/sev_page_encryption_bitmap_v2 Changes since v1: - Mark GHCB_BASE setup during reset-vector as decrypted explicitly in the hypervisor page encryption bitmap. - Resending the series with correct shallow threading. Ashish Kalra (2): OvmfPkg/MemEncryptHypercallLib: add library to support SEV hypercalls. OvmfPkg/PlatformPei: Mark SEC GHCB page in the page encryption bitmap. Brijesh Singh (1): OvmfPkg/BaseMemEncryptLib: Support to issue unencrypted hypercall .../Include/Library/MemEncryptHypercallLib.h | 37 ++++++ .../BaseMemEncryptSevLib.inf | 1 + .../BaseMemEncryptSevLib/X64/VirtualMemory.c | 18 +++ .../MemEncryptHypercallLib.c | 105 ++++++++++++++++++ .../MemEncryptHypercallLib.inf | 39 +++++++ .../X64/AsmHelperStub.nasm | 39 +++++++ OvmfPkg/OvmfPkgX64.dsc | 1 + OvmfPkg/PlatformPei/AmdSev.c | 10 ++ 8 files changed, 250 insertions(+) create mode 100644 OvmfPkg/Include/Library/MemEncryptHypercallLib.h create mode 100644 OvmfPkg/Library/MemEncryptHypercallLib/MemEncryptHypercallLib.c create mode 100644 OvmfPkg/Library/MemEncryptHypercallLib/MemEncryptHypercallLib.inf create mode 100644 OvmfPkg/Library/MemEncryptHypercallLib/X64/AsmHelperStub.nasm -- 2.17.1