BZ: https://bugzilla.tianocore.org/show_bug.cgi?id=4654 An SVSM requires a calling area page whose address (CAA) is used by the SVSM to communicate and process the SVSM request. Add a pre-defined page area to the OvmfPkg and AmdSev packages and define corresponding PCDs used to communicate the location and size of the area. Keep the AmdSev package in sync with the OvmfPkg and adjust the AmdSev launch and hash area memory locations. Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Erdem Aktas <erdemaktas@google.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Laszlo Ersek <lersek@redhat.com> Cc: Michael Roth <michael.roth@amd.com> Cc: Min Xu <min.m.xu@intel.com> Acked-by: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Tom Lendacky <thomas.lendacky@amd.com>
70 lines
2.4 KiB
INI
70 lines
2.4 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
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfWorkAreaSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdCfvBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdCfvRawDataOffset
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdCfvRawDataSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdBfvBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdBfvRawDataOffset
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdBfvRawDataSize
|
|
|
|
[FixedPcd]
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfCpuidSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfPeiMemFvBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdSevLaunchSecretBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdSevLaunchSecretSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdQemuHashTableBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdQemuHashTableSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecSvsmCaaBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecSvsmCaaSize
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsBase
|
|
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSnpSecretsSize
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdUse5LevelPageTable
|