From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM11-DM6-obe.outbound.protection.outlook.com (NAM11-DM6-obe.outbound.protection.outlook.com [40.107.223.77]) by mx.groups.io with SMTP id smtpd.web10.14576.1676904267981395235 for ; Mon, 20 Feb 2023 06:44:28 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=l0APcmld; 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.223.77, mailfrom: thomas.lendacky@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e6CVfnIyPBZS4XykQpPf8Qcz86CLucAz/0jO2keW9ImOq/b6K7kVZ+k2SioziW65lX+x3M8VrdwJOCfPaHGu6Gcy1THlHAeFU8n21t/5RgVBGHx4bNt+HoCuZ6Bg8Ng9lGLE9opklSMvxGneayAUJnc0Pbh7ZGewKGCGyyjTd8val7Q8LuJs50BN9HVSXZWlcHfuhK6T+jtfx4Zb5V5sHXI1PT+RjWUXZl1PP4M0HaDDCP3+RM31LopTp0GCA3CkFyADaXD4nQQPFgQ5cQQbEvhpt65iWc1oZJJWOb1fsvseebvzZqjkIjDv18NjPsWMD8U5PsFFfsOp70dNDoQRBA== 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=uYOOCQ7qk3ctLB85pQCvGvsZhvPKQ5KQo9qufoP6tWc=; b=dmmLwZW2LdfmyBjcIK7H/j1N73IKbt3AUhkYELWdBdl3qhRxWpx9rnVYbiM38nq6BUuOthDcQrhBseOi+b9nMPNpICzUY/qrbd7fKCRmNtAvxoGWIX4iJLPige9xh13X6cQcdmllJy97sBV2r507q7JKbXydFEBKjDUfPMdtZ7e1ARnQestqZN4VMpjjQ4gfXG0umuXWxfYBpn4Q96I6+BXhhCE0HwF89BocCxlkCZpIqlkIGLh5dzGA9zba3/xuN/M977BV+azQQROeSH4H/QKO1NMkbMj6GhlNKFMXQNxKaRGjrAKWQKmaC6kBQx1ztLEM2y9cSsD3gwR2jheHuQ== 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=uYOOCQ7qk3ctLB85pQCvGvsZhvPKQ5KQo9qufoP6tWc=; b=l0APcmld3RHlKA4nNYhsVIKCi5zO6jsAH8OXMP/BYaQT3ppY741j5lZQE8Qi8ir+cpNV/jNiSeEXpgM5mXNbLEAjvMNXeJh68XA0R+xxJVyIyPkddoN4IK6AJZJ5pkxL/CL2MybW6UK4Gltuatj2Tu6L3LMfNTs/xTQw2xtYb34= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from DM4PR12MB5229.namprd12.prod.outlook.com (2603:10b6:5:398::12) by CH3PR12MB7690.namprd12.prod.outlook.com (2603:10b6:610:14e::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6111.19; Mon, 20 Feb 2023 14:44:26 +0000 Received: from DM4PR12MB5229.namprd12.prod.outlook.com ([fe80::6cc0:9c7a:bd00:441c]) by DM4PR12MB5229.namprd12.prod.outlook.com ([fe80::6cc0:9c7a:bd00:441c%6]) with mapi id 15.20.6111.020; Mon, 20 Feb 2023 14:44:26 +0000 Message-ID: <67f06585-b9e6-a450-04fe-ad6b1105d3b6@amd.com> Date: Mon, 20 Feb 2023 08:44:23 -0600 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.7.1 Subject: Re: [RESEND] [PATCH v2 2/2] OvmfPkg/ResetVector: Exclude SEV launch secrets page from pre-validation To: Dov Murik , devel@edk2.groups.io Cc: Ard Biesheuvel , Jiewen Yao , Jordan Justen , Gerd Hoffmann , Erdem Aktas , James Bottomley , Min Xu , Michael Roth , Ashish Kalra , Mario Smarduch , Tobin Feldman-Fitzthum References: <20230220084942.1292756-1-dovmurik@linux.ibm.com> <20230220084942.1292756-3-dovmurik@linux.ibm.com> From: "Lendacky, Thomas" In-Reply-To: <20230220084942.1292756-3-dovmurik@linux.ibm.com> X-ClientProxiedBy: CH2PR19CA0025.namprd19.prod.outlook.com (2603:10b6:610:4d::35) To DM4PR12MB5229.namprd12.prod.outlook.com (2603:10b6:5:398::12) Return-Path: Thomas.Lendacky@amd.com MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: DM4PR12MB5229:EE_|CH3PR12MB7690:EE_ X-MS-Office365-Filtering-Correlation-Id: eb650e61-ca46-4419-83dc-08db1350f66e X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: rIkyvzjHOls/98mMnInwBdZ10Z7n2fyvoJu0Tmck2IwhmhDTjJ9zYEdP1zn9E0LqxVyBh0qcHxIv29RKr2qZKuD2F2e+tQ35cDru+g5OnmSjcGULrqDY+wjp+nihgA8qwpzPUD7y2cReV9BOMZ7ISTdLhcvYgeP1BoSD8SsN+Haz86iJbz268lccw1wIajqEGfqGEo5QdsCNtPmBkOg57eoH91SD/MIkm09v7HX65P60zogtGrPGrxFLNhkNjLyEnaNg0yjh6GKnignYsy4y00O3FBMhfK2+wd7kVRU2xiEYsSz3XkGWPWKewUkGq1uZkfSS7hQw1jOgaBIATdmDFAmIuWdQ9oa6KIcw0+RiPacrVU3k0anidRfANX6YtS8LRlbKOxoG+Q80UuxeZW87YZye84EgFhc4zy0QJzwrEMvCYS6G48/iD+nRxzxEzs2Jj1Gw5RTC6KkM7JcFPL5kK8zsQsSpKab03U3dw5hb1OyE0u1FADr8d5glSv/KwmgMSg3XaFMcMH2InrCpxYOjiZ0TL/CXAOR82thjrEv9lpBejVKg/xRicCxsaW3vxBJztbQIovy+ZvcYOeThuLs2GPuF8Y145E7NEDSuO05fAKyB/iaeYDYVPQEapbtKToYrrHz35RQfHdEfRM2pZdtkjtO4AbV6wnlXK7Gs2OTn90u8frRAeyqnfDITzxJxmsMcLHwvRDD1NcljQ3mUpBQm/IjIW78mUOZksKmv+4JeEAw= X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM4PR12MB5229.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230025)(4636009)(136003)(366004)(376002)(346002)(39860400002)(396003)(451199018)(8676002)(4326008)(6486002)(66556008)(66946007)(66476007)(54906003)(316002)(7416002)(8936002)(41300700001)(36756003)(31696002)(86362001)(478600001)(6666004)(38100700002)(26005)(53546011)(6512007)(6506007)(186003)(31686004)(2616005)(2906002)(5660300002)(83380400001)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?T2NhRitqY2Z3VURJRjJnUXN0V1c1WHlFSFFCVHQ2cHhYdG44YUZyRDFFU0Jo?= =?utf-8?B?NGQ5bE5Jc2hidmV6c2VDRnZpUWNPU3BPaStyMm1OcGc0YXYwbGY0Tit4WWZ3?= =?utf-8?B?Z2xINkUyTklXcEVFOTVWUVdyUlZ1RDVvNi9OaVRYM0kvZ1JSRlJrc2JZM2E2?= =?utf-8?B?cTljYXcra1ZHVStKQWNldEZXeDZHSEhGQ2hMVmtXL0ZYTmJYSVVIenF1aHU1?= =?utf-8?B?TUF2SUQ1dnJLNkVueTVxc2pzNVlFcVkrUDUzVVUxcVpZQytwV2hxcDVrTktz?= =?utf-8?B?TFJqUnAwN2sxNGowU1ppc0ovUE05cDhWUzl1WHhCeFVBNXIrZnFwaDZJNTdY?= =?utf-8?B?Zmc3cmhkWGJaRXVIbnl2MmhiRFNnOHJWVzY1NW1tKy85WFRSY0RESGxiYkh0?= =?utf-8?B?dW55WkJYbXBpWk9BZ29IWXNQc1NlUGRyTjNSc1hNQ3BZOEhoa2J1VFV3Zk12?= =?utf-8?B?WUFnMUlWOGNmVFFETVI2SmhRdWlpb1BRQ0w2QTg3eVZ6N2UwS0hnczZ2WFlC?= =?utf-8?B?V3l3YzIxYU1JNUlWQW05c0RKQjJPbTAyOS9tS1FVZWQ1VmVpKytUL21RZnhB?= =?utf-8?B?bDR4dDhoSUx6OGI4UTE1ekFtY05JbDZ6VmpkTHdDOXRRK3ZMRExJejg1YUwy?= =?utf-8?B?NEl0clF6VFVpc2hjNUd1bFdXUWd1djhTT1ZzV01ud2NoSWR4ejhOdUZUSU5u?= =?utf-8?B?clVCZlcvMHVTMjZVU0VvajhNeUlVOXVOeW4wVldLcVAvZk13KzZDNzVULzdm?= =?utf-8?B?Nm5OL252QngzVThGeVVaWEN4S2sva1E4R2s4T0owYyswdThFaEFmQXhPNGhZ?= =?utf-8?B?NjQ1SXIxWG5hZExBSDFuSjNIMXZ6YVBKRVdOMVVPaW5iRW1EU1pMVFVVNU5y?= =?utf-8?B?Mll6MW1vRW5QdXQ2SUIycVptbmRsRERzSlBxNEw0ZzEyT3hsVFBPQ0hOWE9t?= =?utf-8?B?UFAvQS9CZEVjN3RIWEVBajZkRnZrMC83OEFkZ0FvZHVuaUNlRVI2bUNMdkVk?= =?utf-8?B?R3pyNDVvRHhKdnhRNXpxc1pwaVVPanMwQzFxQ0JCS3FBejgrVEl3dy9GRnV6?= =?utf-8?B?K004VjVteEJTdG1JUFRMZ0ViYUNmbng5c0ZtcjVvTVJlOFZpY3dKSTU1WFJw?= =?utf-8?B?Wm8xRmp1OGpabWlVaFJqMTlXcFU3Mm8wc08zV05pNXM1cUhhVys2QTQrUDVw?= =?utf-8?B?MEp5Ung1dkc3RHkzNWZqaU4vd21GdXNRMDlYa2RvZGRJeEJRcmx1aEV6dUR6?= =?utf-8?B?VTFkVEpJTjQ4V3ZPR3gvN3lqWHptbFpnT3FRTXJxZkN4QmdnWEluOXUyb2l1?= =?utf-8?B?dThtcWJSOHlGYjNzTS9EcXhWdE9pZkZNVzZXZTR0dVVPc1JYZi9taGhtWjVO?= =?utf-8?B?RFpJSkJXS1AyZjc1SkpacnRDR08wbXVMZ2hlaEJXUkYyMTkwYjhXWm53b1Zh?= =?utf-8?B?MFkzd21vUlJWTm1BeUloVS9UZndsTDRaYnBKNDVoZkV3cys1bitmbDEvRU1k?= =?utf-8?B?dmtBNVVWNTFpU1ZVNXh6aTlvL1QxRnZoMWJDengybWRyaXRXKzM3NnM1WFdi?= =?utf-8?B?Nzlxcjc4c0xrZDFrRzl6SlpUd1ZYMUJFNE9iakRGcW9EdWRJbEJiZmRESG1Q?= =?utf-8?B?RFd4SFhtTFNQNzV3dUc4NHlGcUh0VlVDUTZKZGFIZ0ZxazhrSDZiTzVpdDcx?= =?utf-8?B?bTVmS3ovYTk3YkhCUVVnRUZQSElSMjdLRlhaRDZpdjdxVEhPaTNwQ3o4TjE4?= =?utf-8?B?QlZUV2htdVp3d2FoMk1ZYTM5RGhMVG9vWUg5a2FsUzAySG5ITC9pbU54eDMr?= =?utf-8?B?alV1aURIN2RLTTBDSGZnclowUm5DbTNiTExqUENvL0t1cTlmYkhFYzJqTzQ2?= =?utf-8?B?ek5lcjcyQkxlMVNBaFpFSE5ZVDkrckpRa25LbjI2eit6bXNrWTRpWS9qaHdo?= =?utf-8?B?c0JYL25mcTJWWXZBclI2cjZ1TFZpcjl3U0RqTTBGbGxNK25pUDN6SEszMkly?= =?utf-8?B?OG1kNHJiOXVySkVrc3MyM1pncDY4a202UkMwZEZ2UzhGOUVVaUJiNHUraFRZ?= =?utf-8?B?K01VQVRFcHdKcC85a2xIYWtNNzNPbVhiSnpGR0lWaGcvcnNPdFpENi9WSXRF?= =?utf-8?Q?zhleOGKzQ4r63qusKPX93czEm?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: eb650e61-ca46-4419-83dc-08db1350f66e X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5229.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 20 Feb 2023 14:44:25.8462 (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: Hdz5xvNKe5cXkKRkaxliO0wyaqX5wAMI8nS1682lamftz8cymT18uHQFV02TS7PlaizreP3E1E/qp4agDQVhkg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH3PR12MB7690 Content-Language: en-US Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2/20/23 02:49, Dov Murik wrote: > In order to allow the VMM (such as QEMU) to add a page with hashes of > kernel/initrd/cmdline for measured direct boot on SNP, this page must > not be part of the SNP metadata list reported to the VMM. > > Check if that page is defined; if it is, skip it in the metadata list. > In such case, VMM should fill the page with the hashes content, or > explicitly update it as a zero page (if kernel hashes are not used). Would it be better to define a new section type (similar to what I did in the SVSM PoC)? This way, it remains listed in the metadata and allows the VMM to detect it and decide how to handle it. Thanks, Tom > > Note that for SNP, the launch secret part of the page (lower 3KB) are > not relevant and will stay zero. The last 1KB is used for the hashes. > > This should have no effect on OvmfPkgX64 targets (which don't define > PcdSevLaunchSecretBase). > > Signed-off-by: Dov Murik > --- > OvmfPkg/ResetVector/ResetVector.nasmb | 14 +++++++++++++- > 1 file changed, 13 insertions(+), 1 deletion(-) > > diff --git a/OvmfPkg/ResetVector/ResetVector.nasmb b/OvmfPkg/ResetVector/ResetVector.nasmb > index 94fbb0a87b37..16f3daf49d82 100644 > --- a/OvmfPkg/ResetVector/ResetVector.nasmb > +++ b/OvmfPkg/ResetVector/ResetVector.nasmb > @@ -75,7 +75,19 @@ > ; > %define SNP_SEC_MEM_BASE_DESC_2 (GHCB_BASE + 0x1000) > %define SNP_SEC_MEM_SIZE_DESC_2 (SEV_SNP_SECRETS_BASE - SNP_SEC_MEM_BASE_DESC_2) > -%define SNP_SEC_MEM_BASE_DESC_3 (CPUID_BASE + CPUID_SIZE) > +%if (FixedPcdGet32 (PcdSevLaunchSecretBase) > 0) > + ; There's a reserved page for SEV secrets and hashes; the VMM will fill and > + ; validate the page, or mark it as a zero page. > + %define EXPECTED_END_OF_LAUNCH_SECRET_PAGE (FixedPcdGet32 (PcdSevLaunchSecretBase) + \ > + FixedPcdGet32 (PcdSevLaunchSecretSize) + \ > + FixedPcdGet32 (PcdQemuHashTableSize)) > + %if (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) != EXPECTED_END_OF_LAUNCH_SECRET_PAGE) > + %error "PcdOvmfSecPeiTempRamBase must start directly after the SEV Launch Secret page" > + %endif > + %define SNP_SEC_MEM_BASE_DESC_3 (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase)) > +%else > + %define SNP_SEC_MEM_BASE_DESC_3 (CPUID_BASE + CPUID_SIZE) > +%endif > %define SNP_SEC_MEM_SIZE_DESC_3 (FixedPcdGet32 (PcdOvmfPeiMemFvBase) - SNP_SEC_MEM_BASE_DESC_3) > > %ifdef ARCH_X64