From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (NAM02-SN1-obe.outbound.protection.outlook.com [40.107.77.89]) by mx.groups.io with SMTP id smtpd.web09.33491.1618239146387753523 for ; Mon, 12 Apr 2021 07:52:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=DJMxKt1x; 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.77.89, mailfrom: brijesh.singh@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Ns+2+Jv1lflGUVKbJAf6Dhc9RtAEQoTCLiubVzXoWsSCeNfsNmo1bmZn2FYQFN8vCGO3fzO0gLvtYym0Pt7h+2JUtZfJxsycdq5pKvV0jlLWieWhUEsszmSK8bvcGwau0ES8OqOWPatcYbPGlaNimTvYfua0eZwBEvk3dMdMr5yJiJAp5nCk9rQvIPdPy7qKmFlcWHmen5fLbOa7R2ufiv1kUk+yoetpeEY9XHo2GCrraaCk/feJ5ayah31PjNHhiulf2u4ItCWMG9tMYG25tMepspID0Nv7jWhwQ8gH9lbGwtcyQ7ZsIA2/GZNuc73rqAKq5eaf/ygJXHq5PJ953w== 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=QERoJRxED3mZj7G/1u06JXzQOlMYX1pZOUDShTpemGk=; b=hNjtrP+VVuC3GTgyLkDrko7hex4my60Yi1pBtPq7Cf+Sm5q9omyObExAeoSIr1AlpmIxSQYEcK5HFWEkwZxRSdU7G+oIJy42OOiBN1Bg4qP1mc6vC1Gj9FvuuIR/oPDPvcFJJHXR5ipIh4IQUTqDjFkV41+4f57MdveVJMI6y/byNEuKyF5qa60lXCYivrkOD+FwKJkydxWo3npEtkYauk9vcpmo7K+iYd6FEsK+IqULoMZjtlr1C/7Nc47LDuOsO6X/rETEGoimtYj+aZgu+8xDpLwR9i5BsWL+YcTguZe2Xz0W6nI6IyTOSAWgBu/ewkfy2K6ZSjgSnhP3ojH/ng== 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=QERoJRxED3mZj7G/1u06JXzQOlMYX1pZOUDShTpemGk=; b=DJMxKt1xGKQdVJl/HyE3exISokz5aTe5iM8xRlTJNKwu3B9YKlRlbl3Pi1zf6/PLA3BkT8Y0JE2L+yrg2oO5vc6GL0CIXhwIQN/ShZaIdomrywPvHVNDfDn8J1Q5n6V+pQKP+GkewY/XDl01SnPD/skpj7p6vJA98Vjsj1AgkB0= Authentication-Results: redhat.com; dkim=none (message not signed) header.d=none;redhat.com; dmarc=none action=none header.from=amd.com; Received: from SN6PR12MB2718.namprd12.prod.outlook.com (2603:10b6:805:6f::22) by SA0PR12MB4557.namprd12.prod.outlook.com (2603:10b6:806:9d::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.18; Mon, 12 Apr 2021 14:52:25 +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.4020.022; Mon, 12 Apr 2021 14:52:24 +0000 Cc: brijesh.singh@amd.com, James Bottomley , Min Xu , Jiewen Yao , Tom Lendacky , Jordan Justen , Ard Biesheuvel , Laszlo Ersek Subject: Re: [RFC PATCH 01/19] OvmfPkg: Reserve the Secrets and Cpuid page for the SEV-SNP guest To: devel@edk2.groups.io References: <20210324153215.17971-1-brijesh.singh@amd.com> <20210324153215.17971-2-brijesh.singh@amd.com> From: "Brijesh Singh" Message-ID: <6bfc9b77-57ae-02ea-5be1-eeb15eab446b@amd.com> Date: Mon, 12 Apr 2021 09:52:23 -0500 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:78.0) Gecko/20100101 Thunderbird/78.9.0 In-Reply-To: <20210324153215.17971-2-brijesh.singh@amd.com> X-Originating-IP: [70.112.153.56] X-ClientProxiedBy: SA0PR11CA0136.namprd11.prod.outlook.com (2603:10b6:806:131::21) 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 Brijeshs-MacBook-Pro.local (70.112.153.56) by SA0PR11CA0136.namprd11.prod.outlook.com (2603:10b6:806:131::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.17 via Frontend Transport; Mon, 12 Apr 2021 14:52:24 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b382cded-0dc1-4ac7-edc4-08d8fdc29581 X-MS-TrafficTypeDiagnostic: SA0PR12MB4557: X-MS-Exchange-Transport-Forked: True X-Microsoft-Antispam-PRVS: X-MS-Oob-TLC-OOBClassifiers: OLM:6108; X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: p4i5s+eonvyFn4EVnHFki+aIm+mplUMUCgzJZYiwY/B3PVoUt2WeiHYRVtR1nHRFYmbKnMVte0BI3vXHLwxGZJYBSOrYHCNaZWiggRU2mBUhCgIp8C2qhyVvY9fo9GgF6763eoboOhpexUBQHkUJrsTG5/W8klvSyy4SwuyK1L4V7K2WZ0Zah/fZmMcZavLX2vO4vtL3QsvnJC0DnpEHVaHwCwUt5KnoL9lhzK5v3+KQ1RUBMBx/+x5mYjNRWEBgcXtPCKu1/hr9U3YS1jpmsga9APtBnOGy4MKh149H1SSFqqMU1PgRvz1kB98vMfo+k+Ho62L5NwsusQBxu+NSAcznp5vlFfTSfppDpU90DEQKj1oLpDaZ75akrVqHPQXwR84vbsd0RMROW6yRoll2zr1ZxPxCATyHAf19syJZqZdozBrKLCA5Tq3am8/mOd5KI7cFftJyJ5r9s7vT6lcjreqMYOKEYpENnAO+Lodq+ZX6CxBSuxKMyeIXVeKM/zgnZohsFm2Q+JjCxAYvX/nGPuvi5rzIh+/a8r95YcS0741Sz3FdeG++/nniZt3s/uCEUhl/RLoLwyEN+xuEP8JXjSEdMJgcW5Ifb7tfcBoxwcNiS1NDKU3y+gz7glriAFq1ZHevWM0xEw8XysSDVzdKkKhYOIIztTr7WVxP/TcgZE7RU2eI3Sq6WVwclKhh/MjGRoWLYhj1s++fWwLirWiuoie1IbKEiFEhqJxtCKqN1Ma607km9LPKv4Db6/FfoMlArg10MHqoih437iD47RxNqNGwoa5MiDWUO6cvZPGmFs2pdKVSvK0+OVm/2Bq6yuny 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)(346002)(376002)(396003)(39860400002)(366004)(136003)(2906002)(44832011)(16526019)(83380400001)(54906003)(956004)(966005)(52116002)(19627235002)(2616005)(4326008)(5660300002)(86362001)(478600001)(31696002)(6916009)(6512007)(66946007)(66476007)(53546011)(6506007)(26005)(36756003)(66556008)(38100700002)(186003)(38350700002)(8936002)(8676002)(316002)(6486002)(31686004)(43740500002)(45980500001);DIR:OUT;SFP:1101; X-MS-Exchange-AntiSpam-MessageData: =?utf-8?B?T2dYSjFReWozQzk2NGJHTkVZZTBZdWVmTnRJa05EVmJVdVhtYnpkeU41eTYx?= =?utf-8?B?NzdRTjlWZG9LdEZxalhpbTVuSzhwVElLMmU5Q0l6TXhjWFdqTDkvZDFhenlM?= =?utf-8?B?UWptdHdwVnlFMG5YUFhWQXpKV1NLd3Z2Tyt2YWhHOXVSMlIrUmlLQ01KOHVn?= =?utf-8?B?RlZTdlVpV0hTUU9GMU1GYnpZTUpaL21MZERKRFpZOWtyMzMxZDZSdy8rN2F2?= =?utf-8?B?bWtveVYwaVFrSlJZaU1Xc2FGR1dHZEJyLzBDb010WXJMK3RqcnJkTVcwMmVP?= =?utf-8?B?bW8rZE45NHlTbTkvelEzejhzcENXNkEyYUJ6em1yOWJGKzFUZGxCdnZFYXp2?= =?utf-8?B?NVlmd29BL0ZGU0JmSENtTyszUVdhVkpKamRuamdKaXRyMldVQUYrUjZmaWpj?= =?utf-8?B?TnJwZFBNbDU3SGFrZkpUY01iSS9rNy9Ia1FBNGJFRTVWV0JUdm1UOVNSY1JL?= =?utf-8?B?YXBpWEs5eFBnQWsvSFRkTGlHRHBIcEZiQktXWkpBVlZRN3U0QTkyZkdTb2JE?= =?utf-8?B?N0hxc0NSYmc2Ym1rVm9MQXVTTmkzaHY3WCthNjJMQ285cWRyZmlkU3Fsem5o?= =?utf-8?B?ZC80T3FOcHdvUDUwOFdaQ0ZEL0ZSTHFpSXU5eGg1YnMySFhGV1F4TE80MlB2?= =?utf-8?B?Y0t6OXJZdEJyRG1aVnlxR3oxN0FTZmhJZTFVOG1NNGltQ0V2UHdSb3lTeHVo?= =?utf-8?B?UzBqSjlSbWxEQi9yOUZ5ZkpPOGZvZEdhUmlyU0pyTUNnTk45S2ZrdTRndUVu?= =?utf-8?B?NjRlVUZ3NGk2MGRvL3NoWFJBdERwb1BDVVQ4THZTNXN1VHFOYUhJUkthdDV0?= =?utf-8?B?dUpsRDFCRHllL0dUL1cwNTNKenVNSWx0VHBiWDYvMEpuRnpqOW1OMlBLcCtU?= =?utf-8?B?amM1dCtXcnhVWXEvUHVMQVFoUURpUTFLQUhXQ0dXTis0a0RQcmNwVisyVXFU?= =?utf-8?B?YkF1R0xIb2lPb0hKc003MEhHZlVLUFdDTHAxOGR2MW9HQnJmOVhIVmcyQnZ0?= =?utf-8?B?dXdiTmlzTmd2UWpTSkxBRWhEeWtHeW90UXpZZW5rQVJOUUgydnlYaGlzenRx?= =?utf-8?B?N29SWVpBSnA1TEhEZEM5V2ZwckhnczlhbHg0N0p1TFdaYmovcld4YnBiSkxK?= =?utf-8?B?UUh6Rk9TVFhaM0x6YkN5TjdxS0RXUkFVY28zRnVDbmVWWGpwMWRwV3FUMHhR?= =?utf-8?B?UmdBU0R5ekdzZlBlVXFkZ0dsWDdGeTZpV3lMa1JyYlRvQzZYbHRoMmVrVGgr?= =?utf-8?B?dEZEeEVPUjNsN21JUjROSXVId2d4UGNXUjg0ZU1tL0xNa0Q5U09ESkdvREgy?= =?utf-8?B?dTZTTnhKbHhqdzZTZHRrM2lONlV1Mk5tNDBoZkl0cFFGWW1ZdjB3NWt5blN6?= =?utf-8?B?enp2TEhxdkRrLzQ5d0pKUTh6Y1lhaGI5WVpDYk80T2JTYVJUWGYrZG1oY0RK?= =?utf-8?B?S1dxWEpsa1dsMkpjU1ZsYjNST2VVd0lUb1NuWkNLZGtENFI3bWRoZ0hPUmdH?= =?utf-8?B?OE9lMEdFYXpjYnkxbm84NFVoZDNqZmQySm13R3RTb282TjJWeFVKYy9tbENu?= =?utf-8?B?anNPa2hmQkU3SFVPbGo5T0Jndk5VUDh0QmdmaGcweUxsRkQ3K2pjUGFHNFZj?= =?utf-8?B?LzhvNnZlWlQwU3pZWFcyemF4TjQxd2pTRzlVZysxdzArcldTdDRWL0crY2E5?= =?utf-8?B?L1FHaUpvY1VyeUVuTlg4Zm54ZWxrL2ZjTkRXeHBVZGtmeTJIZld6cThVL21q?= =?utf-8?Q?gz1iDMD34+WOhIiQYGPu1yFdsxgGaMSQIGCpE+Y?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: b382cded-0dc1-4ac7-edc4-08d8fdc29581 X-MS-Exchange-CrossTenant-AuthSource: SN6PR12MB2718.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Apr 2021 14:52:24.8337 (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: +yzT/pE1EIYxg2pC8jfrTW6peWTTr7L3t9AQDV+cb07eLWWagTcvY1K0O3wQIl3c5blW1QdcxqUdTk8uHZs2cA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA0PR12MB4557 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit Content-Language: en-US Hi James and Laszlo, I was planning to work to add the support to reserve the Secrets and CPUID page in E820 map and then create the EFI configuration table entry for it so that guest OS can reach to it. We have two packages "SecretDxe" and "SecretPei" in OvmfPkg/AmdSev. Any issues if I use them in the OvmfPkg.dsc ? Here is what I was thinking: 1) Rename the PcdSevLaunchSecretBase -> PcdSevSecretsBase 2) When SNP is enabled then VMM use this page as secrets page for the SNP 3) When SEV or SEV-ES is enabled then VMM uses this page as a launch secret page This will allow me to drop PcdOvmfSnpSecretsBase. This will not just save 4-bytes but also minimize the code duplication. Thoughts ? -Brijesh On 3/24/21 10:31 AM, Brijesh Singh wrote: > BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=3275 > > During the SEV-SNP guest launch sequence, two special pages need to > be inserted, the secrets page and cpuid page. The secrets page, > contain the VM platform communication keys. The guest BIOS and OS > can use this key to communicate with the SEV firmware to get the > attestation report. The Cpuid page, contain the CPUIDs entries > filtered through the AMD-SEV firmware. > > The VMM will locate the secrets and cpuid page addresses through a > fixed GUID and pass them to SEV firmware to populate further. > For more information about the page content, see the SEV-SNP spec. > > To simplify the pre-validation range calculation in the next patch, > the CPUID and Secrets pages are moved to the start of the > MEMFD_BASE_ADDRESS. > > Cc: James Bottomley > Cc: Min Xu > Cc: Jiewen Yao > Cc: Tom Lendacky > Cc: Jordan Justen > Cc: Ard Biesheuvel > Cc: Laszlo Ersek > Signed-off-by: Brijesh Singh > --- > OvmfPkg/OvmfPkg.dec | 8 +++++++ > OvmfPkg/OvmfPkgX64.fdf | 24 ++++++++++++-------- > OvmfPkg/ResetVector/Ia16/ResetVectorVtf0.asm | 19 ++++++++++++++++ > OvmfPkg/ResetVector/ResetVector.inf | 4 ++++ > OvmfPkg/ResetVector/ResetVector.nasmb | 2 ++ > 5 files changed, 48 insertions(+), 9 deletions(-) > > diff --git a/OvmfPkg/OvmfPkg.dec b/OvmfPkg/OvmfPkg.dec > index 4348bb45c6..062926772d 100644 > --- a/OvmfPkg/OvmfPkg.dec > +++ b/OvmfPkg/OvmfPkg.dec > @@ -317,6 +317,14 @@ > gUefiOvmfPkgTokenSpaceGuid.PcdSevLaunchSecretBase|0x0|UINT32|0x42 > gUefiOvmfPkgTokenSpaceGuid.PcdSevLaunchSecretSize|0x0|UINT32|0x43 > > + ## The base address of the CPUID page used by SEV-SNP > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpCpuidBase|0|UINT32|0x48 > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpCpuidSize|0|UINT32|0x49 > + > + ## The base address of the Secrets page used by SEV-SNP > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsBase|0|UINT32|0x50 > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsSize|0|UINT32|0x51 > + > [PcdsDynamic, PcdsDynamicEx] > gUefiOvmfPkgTokenSpaceGuid.PcdEmuVariableEvent|0|UINT64|2 > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfFlashVariablesEnable|FALSE|BOOLEAN|0x10 > diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf > index d519f85328..ea214600be 100644 > --- a/OvmfPkg/OvmfPkgX64.fdf > +++ b/OvmfPkg/OvmfPkgX64.fdf > @@ -67,27 +67,33 @@ ErasePolarity = 1 > BlockSize = 0x10000 > NumBlocks = 0xD0 > > -0x000000|0x006000 > +0x000000|0x001000 > +gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpCpuidBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpCpuidSize > + > +0x001000|0x001000 > +gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsSize > + > +0x002000|0x006000 > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize > > -0x006000|0x001000 > +0x008000|0x001000 > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfLockBoxStorageSize > > -0x007000|0x001000 > +0x009000|0x001000 > gEfiMdePkgTokenSpaceGuid.PcdGuidedExtractHandlerTableAddress|gUefiOvmfPkgTokenSpaceGuid.PcdGuidedExtractHandlerTableSize > > -0x008000|0x001000 > +0x00A000|0x001000 > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbPageTableBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbPageTableSize > > -0x009000|0x002000 > +0x00B000|0x002000 > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbSize > > -0x00B000|0x001000 > -gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase|gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaSize > - > -0x00C000|0x001000 > +0x00D000|0x001000 > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupSize > > +0x00F000|0x001000 > +gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase|gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaSize > + > 0x010000|0x010000 > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase|gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize > > diff --git a/OvmfPkg/ResetVector/Ia16/ResetVectorVtf0.asm b/OvmfPkg/ResetVector/Ia16/ResetVectorVtf0.asm > index 9c0b5853a4..5456f02924 100644 > --- a/OvmfPkg/ResetVector/Ia16/ResetVectorVtf0.asm > +++ b/OvmfPkg/ResetVector/Ia16/ResetVectorVtf0.asm > @@ -47,6 +47,25 @@ TIMES (15 - ((guidedStructureEnd - guidedStructureStart + 15) % 16)) DB 0 > ; > guidedStructureStart: > > +; > +; SEV-SNP boot support > +; > +; sevSnpBlock: > +; For the initial boot of SEV-SNP guest, a Secrets and CPUID page must be > +; reserved by the BIOS at a RAM area defined by SEV_SNP_SECRETS_PAGE > +; and SEV_SNP_CPUID_PAGE. A VMM will locate this information using the > +; SEV-SNP boot block. > +; > +; GUID (SEV-SNP boot block): bd39c0c2-2f8e-4243-83e8-1b74cebcb7d9 > +; > +sevSnpBootBlockStart: > + DD SEV_SNP_SECRETS_PAGE > + DD SEV_SNP_CPUID_PAGE > + DW sevSnpBootBlockEnd - sevSnpBootBlockStart > + DB 0xC2, 0xC0, 0x39, 0xBD, 0x8e, 0x2F, 0x43, 0x42 > + DB 0x83, 0xE8, 0x1B, 0x74, 0xCE, 0xBC, 0xB7, 0xD9 > +sevSnpBootBlockEnd: > + > ; > ; SEV Secret block > ; > diff --git a/OvmfPkg/ResetVector/ResetVector.inf b/OvmfPkg/ResetVector/ResetVector.inf > index dc38f68919..d890bb6b29 100644 > --- a/OvmfPkg/ResetVector/ResetVector.inf > +++ b/OvmfPkg/ResetVector/ResetVector.inf > @@ -37,6 +37,10 @@ > gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBase > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbSize > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpCpuidBase > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpCpuidSize > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsBase > + gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsSize > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbPageTableBase > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbPageTableSize > gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase > diff --git a/OvmfPkg/ResetVector/ResetVector.nasmb b/OvmfPkg/ResetVector/ResetVector.nasmb > index 5fbacaed5f..2c194958f4 100644 > --- a/OvmfPkg/ResetVector/ResetVector.nasmb > +++ b/OvmfPkg/ResetVector/ResetVector.nasmb > @@ -75,6 +75,8 @@ > %define SEV_ES_WORK_AREA (FixedPcdGet32 (PcdSevEsWorkAreaBase)) > %define SEV_ES_WORK_AREA_RDRAND (FixedPcdGet32 (PcdSevEsWorkAreaBase) + 8) > %define SEV_ES_WORK_AREA_ENC_MASK (FixedPcdGet32 (PcdSevEsWorkAreaBase) + 16) > + %define SEV_SNP_SECRETS_PAGE FixedPcdGet32 (PcdOvmfSnpSecretsBase) > + %define SEV_SNP_CPUID_PAGE FixedPcdGet32 (PcdOvmfSnpCpuidBase) > %define SEV_ES_VC_TOP_OF_STACK (FixedPcdGet32 (PcdOvmfSecPeiTempRamBase) + FixedPcdGet32 (PcdOvmfSecPeiTempRamSize)) > %include "Ia32/Flat32ToFlat64.asm" > %include "Ia32/PageTables64.asm"