Leo Duran 89a286ce77 MdeModulePkg/Universal/CapsulePei: Add support for PCD PcdPteMemoryEncryptionAddressOrMask
This PCD holds the address mask for page table entries when memory
encryption is enabled on AMD processors supporting the Secure Encrypted
Virtualization (SEV) feature.

The mask is applied when 4GB tables are created (UefiCapsule.c), and when
the tables are expanded on-demand by page-faults above 4GB's (X64Entry.c).

Cc: Feng Tian <feng.tian@intel.com>
Cc: Star Zeng <star.zeng@intel.com>
Cc: Laszlo Ersek <lersek@redhat.com>
Cc: Brijesh Singh <brijesh.singh@amd.com>
Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Leo Duran <leo.duran@amd.com>
Reviewed-by: Star Zeng <star.zeng@intel.com>
2017-03-01 12:51:02 +08:00

100 lines
2.8 KiB
INI

## @file
# Capsule update PEIM supports EFI and UEFI.
#
# Caution: This module requires additional review when modified.
# This driver will have external input - capsule image.
# This external input must be validated carefully to avoid security issue like
# buffer overflow, integer overflow.
#
# Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
#
# This program and the accompanying materials
# are licensed and made available under the terms and conditions
# of the BSD License which accompanies this distribution. The
# full text of the license may be found at
# http://opensource.org/licenses/bsd-license.php
#
# THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
# WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
#
##
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = CapsulePei
MODULE_UNI_FILE = CapsulePei.uni
FILE_GUID = C779F6D8-7113-4AA1-9648-EB1633C7D53B
MODULE_TYPE = PEIM
VERSION_STRING = 1.0
ENTRY_POINT = CapsuleMain
#
# The following information is for reference only and not required by the build tools.
#
# VALID_ARCHITECTURES = IA32 X64 IPF EBC
#
[Sources]
UefiCapsule.c
Capsule.h
Common/CapsuleCoalesce.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
[LibraryClasses]
BaseLib
HobLib
BaseMemoryLib
PeiServicesLib
PeimEntryPoint
DebugLib
PeiServicesTablePointerLib
PrintLib
ReportStatusCodeLib
[LibraryClasses.IA32]
PeCoffGetEntryPointLib
PcdLib
DebugAgentLib
[Guids]
## SOMETIMES_CONSUMES ## Variable:L"CapsuleUpdateData"
## SOMETIMES_CONSUMES ## Variable:L"CapsuleLongModeBuffer"
gEfiCapsuleVendorGuid
[Ppis]
gEfiPeiReadOnlyVariable2PpiGuid ## CONSUMES
gEfiPeiCapsulePpiGuid ## PRODUCES
[Ppis.IA32]
gEfiPeiLoadFilePpiGuid ## SOMETIMES_CONSUMES
[Pcd.IA32]
gEfiMdeModulePkgTokenSpaceGuid.PcdCapsuleCoalesceFile ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES
gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES
[FeaturePcd.IA32]
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
[Depex]
gEfiPeiReadOnlyVariable2PpiGuid
# [BootMode]
# FLASH_UPDATE ## SOMETIMES_CONSUMES
# [Hob.IA32]
# UNDEFINED ## SOMETIMES_CONSUMES # CPU
# [Hob]
# UNDEFINED ## SOMETIMES_PRODUCES # UEFI_CAPSULE
[UserExtensions.TianoCore."ExtraFiles"]
CapsulePeiExtra.uni