From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM10-BN7-obe.outbound.protection.outlook.com (NAM10-BN7-obe.outbound.protection.outlook.com [40.107.92.66]) by mx.groups.io with SMTP id smtpd.web10.22549.1671638885468248573 for ; Wed, 21 Dec 2022 08:08:05 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=TaC4ycWV; 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.92.66, mailfrom: michael.roth@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=a3fYvf+Werwp+YiZr1kHvkbvS1ySdL/wRxypRMJ/nMLImk4M0yUc1yc7aiQVpv31NOxL4qd/8Y0Rrj6EoGCrzBGQN5qiOv34YmtlG8noSZI5Mluh3R279pLtOMd+rgL5tD8CPnhtDXCQ8w2e/cyZ6qDSRxKZvuSM/0T7s5T+knPojpBtMK/slx6J2N4+4DY+PmnUyo060paDq4HSQdg0Z73xUDQEvNdRqGAXzJWKmeMV7hE/APxyR0+uo1p2N2iSEmaDjhvQ7uR5jSYWwWE/W0uOOtSE1CDdDz8gECRaHT5Iy2pFYSUwCq7dR0Nxz2/Gtn1ve17rBbdSM/UR7mcw1w== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=U63SGPSImLMJDtkC0CbJ65JA2Vnn2FLvIgfYeXK+br4=; b=L0TDfrZkByPBj80a/8w0Fn4NP2RIfgNrsbOgawBrCCIh5UtIrNgNv2aXo7p38BUcQY1N0lsO1vhutsuATqtxymk2A9qrHzrhPs0FJg2KbtXBDGeCzLYgRJG2n8vdKZBS5GrIDRR/P/3AFQZtUFaLy4D+2SzxLzla8GXBRoqCXaWAxUkaNtYIAYCUmpoFssW9/uC/NCLKbodD1pEYYpCgFIaCKwQRKN2X/Ag6xwHCqCaCpD1+qdvRFa3jPOI97bNOlxYMx/kQA+WWjCgFgfznOOHzDiQ1nAfZjCLmysUMESEfsmUpwTwuyN0jnFo82Vu/T09hMVpY6bfx0BHb2jy3Ug== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass (sender ip is 165.204.84.17) smtp.rcpttodomain=edk2.groups.io smtp.mailfrom=amd.com; dmarc=pass (p=quarantine sp=quarantine pct=100) action=none header.from=amd.com; dkim=none (message not signed); 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=U63SGPSImLMJDtkC0CbJ65JA2Vnn2FLvIgfYeXK+br4=; b=TaC4ycWVRwgbEbBeA+UmPgYic3u5SSbvez/PxnoWOtul2v0AJ8MQDpvDbDTpKBO1hAeWyp3nCWZHFZu1nMMhor2icV+Ps5FfJOWtVlJkvaTTWCrzUtivAUjx1RQZtboCUstlpT0gsdn3rYtc0rvJLhJWkl1d8SfgLmEWZLtMp7c= Received: from BN9PR03CA0860.namprd03.prod.outlook.com (2603:10b6:408:13d::25) by SA1PR12MB7293.namprd12.prod.outlook.com (2603:10b6:806:2b9::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Wed, 21 Dec 2022 16:08:01 +0000 Received: from BN8NAM11FT049.eop-nam11.prod.protection.outlook.com (2603:10b6:408:13d:cafe::ac) by BN9PR03CA0860.outlook.office365.com (2603:10b6:408:13d::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.21 via Frontend Transport; Wed, 21 Dec 2022 16:08:01 +0000 X-MS-Exchange-Authentication-Results: spf=pass (sender IP is 165.204.84.17) smtp.mailfrom=amd.com; dkim=none (message not signed) header.d=none;dmarc=pass action=none header.from=amd.com; Received-SPF: Pass (protection.outlook.com: domain of amd.com designates 165.204.84.17 as permitted sender) receiver=protection.outlook.com; client-ip=165.204.84.17; helo=SATLEXMB04.amd.com; pr=C Received: from SATLEXMB04.amd.com (165.204.84.17) by BN8NAM11FT049.mail.protection.outlook.com (10.13.177.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.20.5944.10 via Frontend Transport; Wed, 21 Dec 2022 16:08:01 +0000 Received: from localhost (10.180.168.240) by SATLEXMB04.amd.com (10.181.40.145) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.34; Wed, 21 Dec 2022 10:08:00 -0600 From: "Roth, Michael" To: CC: Tom Lendacky , Subject: [PATCH 2/4] OvmfPkg/AmdSevDxe: Update ConfidentialComputing blob struct definition Date: Wed, 21 Dec 2022 10:06:49 -0600 Message-ID: <20221221160651.182143-3-michael.roth@amd.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20221221160651.182143-1-michael.roth@amd.com> References: <20221221160651.182143-1-michael.roth@amd.com> MIME-Version: 1.0 Return-Path: Michael.Roth@amd.com X-Originating-IP: [10.180.168.240] X-ClientProxiedBy: SATLEXMB04.amd.com (10.181.40.145) To SATLEXMB04.amd.com (10.181.40.145) X-EOPAttributedMessage: 0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: BN8NAM11FT049:EE_|SA1PR12MB7293:EE_ X-MS-Office365-Filtering-Correlation-Id: d5285c85-7242-464d-ddd0-08dae36d88dd X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: xW/Gm0/23RR7NtbGKCBKMBYgQ9cczDakEwebPHjQTpXVBfLcRnrEK1Za/4z6Kn16wIRqPXooz/1yxZNDrClab4d9U74NYUOD9Jlqeloj1YJEdaTvmgT+JLAzJO/WEGGzeeILqwQjv0r4ibxGQvyVJSJFPAFsTEJ9stU04rgStP2W/LsP1zBHLT8fAYvEBfq41ULJvwqQn/Q0KAs8TsMNacLgKyfv7CwoHLj6HU6lgMCsD187GKe087uVYi20XCaBa6jcN6ecNs9QkC/rif/2upqoQlaWtDdRzvxn9+kk43sRpQlcYWnEUeRmza9vy3GwJYy5WHUljW0rMe6oWq+rXgBPqkAuVASCob5TNnCIWEoOR6l2Gzk9aERqZPAe9Y4AAmQdNJcdyADO6aMFqQFpBQtNWylIiYg2J3Upf33ybuTmtwDvEru4do83QuDz6eN6hkrKXKGXkXrMpjM8NEwwc2vFC5qfS+8lMX0/1H80wNtWMz9p45K/9Av40O3xs+DT6GwRP+DjGPnIubsjzhQPOBUs9PFfkasNaxQIK/kY1k2pcGnPyUuvlQn0C7mgWoRAqPb7WwKvmxeN1n7RLmyUvVo8njWOt8QpW13WsTc/vnTm20Y5l9MhFWn0bIMbtQ18hQ3Pu4izdWTJJObNKY/yFW23l0jcgeXwxBX0iihSv5OoHRzMoLxgASK9TivXj998nMWNvIBWo0Ds/YQi8wn+GoQdylCPMyb0Fjm/40ogP+0= X-Forefront-Antispam-Report: CIP:165.204.84.17;CTRY:US;LANG:en;SCL:1;SRV:;IPV:CAL;SFV:NSPM;H:SATLEXMB04.amd.com;PTR:InfoDomainNonexistent;CAT:NONE;SFS:(13230022)(4636009)(39860400002)(346002)(136003)(396003)(376002)(451199015)(36840700001)(46966006)(40470700004)(54906003)(316002)(6916009)(36860700001)(478600001)(82740400003)(70206006)(4326008)(81166007)(8676002)(40460700003)(36756003)(356005)(86362001)(70586007)(82310400005)(2616005)(1076003)(40480700001)(5660300002)(83380400001)(8936002)(47076005)(426003)(6666004)(2906002)(15650500001)(336012)(41300700001)(16526019)(186003)(26005)(44832011)(36900700001);DIR:OUT;SFP:1101; X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Dec 2022 16:08:01.3216 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: d5285c85-7242-464d-ddd0-08dae36d88dd X-MS-Exchange-CrossTenant-Id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=3dd8961f-e488-4e60-8e11-a82d994e183d;Ip=[165.204.84.17];Helo=[SATLEXMB04.amd.com] X-MS-Exchange-CrossTenant-AuthSource: BN8NAM11FT049.eop-nam11.prod.protection.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Anonymous X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR12MB7293 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain The Confidential Computing blob defined here is intended to match the definition defined by linux guest kernel. Previously, both definitions relied on natural alignment, but that relies on both OVMF and kernel being compiled as 64-bit. While there aren't currently any plans to enable SNP support for 32-bit compilations, the kernel definition has since been updated to use explicit padding/reserved fields to avoid this dependency. Update OVMF to match that definition. While at it, also fix up the Reserved fields to match the numbering used in the kernel. No functional changes (for currently-supported environments, at least). Reviewed-by: Tom Lendacky Signed-off-by: Michael Roth --- OvmfPkg/AmdSevDxe/AmdSevDxe.c | 4 +++- OvmfPkg/Include/Guid/ConfidentialComputingSevSnpBlob.h | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/OvmfPkg/AmdSevDxe/AmdSevDxe.c b/OvmfPkg/AmdSevDxe/AmdSevDxe.c index 8dfda961d7..00bb6e5d96 100644 --- a/OvmfPkg/AmdSevDxe/AmdSevDxe.c +++ b/OvmfPkg/AmdSevDxe/AmdSevDxe.c @@ -41,11 +41,13 @@ AllocateConfidentialComputingBlob ( =0D CcBlob->Header =3D SIGNATURE_32 ('A', 'M', 'D', 'E');=0D CcBlob->Version =3D 1;=0D - CcBlob->Reserved1 =3D 0;=0D + CcBlob->Reserved =3D 0;=0D CcBlob->SecretsPhysicalAddress =3D (UINT64)(UINTN)FixedPcdGet32 (PcdOvmf= SnpSecretsBase);=0D CcBlob->SecretsSize =3D FixedPcdGet32 (PcdOvmfSnpSecretsSize)= ;=0D + CcBlob->Reserved1 =3D 0;=0D CcBlob->CpuidPhysicalAddress =3D (UINT64)(UINTN)FixedPcdGet32 (PcdOvmf= CpuidBase);=0D CcBlob->CpuidLSize =3D FixedPcdGet32 (PcdOvmfCpuidSize);=0D + CcBlob->Reserved2 =3D 0;=0D =0D *CcBlobPtr =3D CcBlob;=0D =0D diff --git a/OvmfPkg/Include/Guid/ConfidentialComputingSevSnpBlob.h b/OvmfP= kg/Include/Guid/ConfidentialComputingSevSnpBlob.h index b328310fd0..83620e31b8 100644 --- a/OvmfPkg/Include/Guid/ConfidentialComputingSevSnpBlob.h +++ b/OvmfPkg/Include/Guid/ConfidentialComputingSevSnpBlob.h @@ -18,14 +18,16 @@ { 0x85, 0x54, 0x93, 0xd7, 0x77, 0x91, 0x2d, 0x42 }, \=0D }=0D =0D -typedef struct {=0D +typedef PACKED struct {=0D UINT32 Header;=0D UINT16 Version;=0D - UINT16 Reserved1;=0D + UINT16 Reserved;=0D UINT64 SecretsPhysicalAddress;=0D UINT32 SecretsSize;=0D + UINT32 Reserved1;=0D UINT64 CpuidPhysicalAddress;=0D UINT32 CpuidLSize;=0D + UINT32 Reserved2;=0D } CONFIDENTIAL_COMPUTING_SNP_BLOB_LOCATION;=0D =0D extern EFI_GUID gConfidentialComputingSevSnpBlobGuid;=0D --=20 2.25.1