OvmfPkg: Add TdxMailboxLib

RFC: https://bugzilla.tianocore.org/show_bug.cgi?id=3429

In Tdx BSP may issues commands to APs for some task, for example, to
accept pages paralelly. BSP also need to wait until all the APs have
done the task. TdxMailboxLib wraps these common funtions for BSP.

Cc: Ard Biesheuvel <ardb+tianocore@kernel.org>
Cc: Jordan Justen <jordan.l.justen@intel.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: Tom Lendacky <thomas.lendacky@amd.com>
Cc: Gerd Hoffmann <kraxel@redhat.com>
Acked-by: Gerd Hoffmann <kraxel@redhat.com>
Reviewed-by: Jiewen Yao <jiewen.yao@intel.com>
Signed-off-by: Min Xu <min.m.xu@intel.com>
This commit is contained in:
Min Xu
2021-07-18 10:45:30 +08:00
committed by mergify[bot]
parent 352eabdcd5
commit 6a608255bb
5 changed files with 358 additions and 0 deletions

View File

@@ -0,0 +1,52 @@
#/** @file
#
# TBD
#
# Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>
# Copyright (c) 2008, Apple Inc. All rights reserved.<BR>
#
# SPDX-License-Identifier: BSD-2-Clause-Patent
#
#
#**/
[Defines]
INF_VERSION = 0x00010005
BASE_NAME = TdxMailboxLib
FILE_GUID = 2F81A9BA-748E-4519-BB11-A63A039D561E
MODULE_TYPE = BASE
VERSION_STRING = 1.0
LIBRARY_CLASS = TdxMailboxLib
#
# VALID_ARCHITECTURES = X64 IA32
#
[Sources.IA32]
TdxMailboxNull.c
[Sources.X64]
TdxMailbox.c
[Packages]
MdePkg/MdePkg.dec
MdeModulePkg/MdeModulePkg.dec
UefiCpuPkg/UefiCpuPkg.dec
OvmfPkg/OvmfPkg.dec
[LibraryClasses]
BaseLib
DebugLib
BaseMemoryLib
PcdLib
UefiCpuLib
DebugAgentLib
IoLib
SynchronizationLib
MemoryAllocationLib
[Guids]
[Pcd]
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupBase
gUefiOvmfPkgTokenSpaceGuid.PcdOvmfSecGhcbBackupSize