Split the existing 4KB page reserved for SEV launch secrets into two parts: first 3KB for SEV launch secrets and last 1KB for firmware config hashes. The area of the firmware config hashes will be attested (measured) by the PSP and thus the untrusted VMM can't pass in different files from what the guest owner allows. Declare this in the Reset Vector table using GUID 7255371f-3a3b-4b04-927b-1da6efa8d454 and a uint32_t table of a base and size value (similar to the structure used to declare the launch secret block). Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Ashish Kalra <ashish.kalra@amd.com> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Min Xu <min.m.xu@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Ref: https://bugzilla.tianocore.org/show_bug.cgi?id=3457 Co-developed-by: Dov Murik <dovmurik@linux.ibm.com> Signed-off-by: Dov Murik <dovmurik@linux.ibm.com> Signed-off-by: James Bottomley <jejb@linux.ibm.com> Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com> Reviewed-by: Brijesh Singh <brijesh.singh@amd.com> Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
52 lines
1.6 KiB
INI
52 lines
1.6 KiB
INI
## @file
|
|
# Reset Vector
|
|
#
|
|
# Copyright (c) 2006 - 2014, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = ResetVector
|
|
FILE_GUID = 1BA0062E-C779-4582-8566-336AE8F78F09
|
|
MODULE_TYPE = SEC
|
|
VERSION_STRING = 1.1
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64
|
|
#
|
|
|
|
[Sources]
|
|
ResetVector.nasmb
|
|
|
|
[Packages]
|
|
OvmfPkg/OvmfPkg.dec
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
UefiCpuPkg/UefiCpuPkg.dec
|
|
|
|
[BuildOptions]
|
|
*_*_IA32_NASMB_FLAGS = -I$(WORKSPACE)/UefiCpuPkg/ResetVector/Vtf0/
|
|
*_*_X64_NASMB_FLAGS = -I$(WORKSPACE)/UefiCpuPkg/ResetVector/Vtf0/
|
|
|
|
[Pcd]
|
|
gUefiCpuPkgTokenSpaceGuid.PcdSevEsWorkAreaBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbPageTableBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbPageTableSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPageTablesSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecPeiTempRamSize
|
|
|
|
[FixedPcd]
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdSevLaunchSecretBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdSevLaunchSecretSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdQemuHashTableBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdQemuHashTableSize
|