/** @file | |
Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef TDX_ACPI_TABLE_H_ | |
#define TDX_ACPI_TABLE_H_ | |
#include <PiDxe.h> | |
#include <Protocol/AcpiTable.h> | |
#include <Protocol/FirmwareVolume2.h> | |
#include <Protocol/PciIo.h> | |
#include <Library/BaseLib.h> | |
#include <Library/UefiBootServicesTableLib.h> | |
#include <Library/DebugLib.h> | |
#include <Library/PcdLib.h> | |
#include <IndustryStandard/IntelTdx.h> | |
#include <IndustryStandard/Acpi.h> | |
VOID | |
EFIAPI | |
AsmGetRelocationMap ( | |
OUT MP_RELOCATION_MAP *AddressMap | |
); | |
/** | |
At the beginning of system boot, a 4K-aligned, 4K-size memory (Td mailbox) is | |
pre-allocated by host VMM. BSP & APs do the page accept together in that memory | |
region. | |
After that TDVF is designed to relocate the mailbox to a 4K-aligned, 4K-size | |
memory block which is allocated in the ACPI Nvs memory. APs are waken up and | |
spin around the relocated mailbox for further command. | |
@return EFI_PHYSICAL_ADDRESS Address of the relocated mailbox | |
**/ | |
EFI_PHYSICAL_ADDRESS | |
EFIAPI | |
RelocateMailbox ( | |
VOID | |
); | |
/** | |
Alter the MADT when ACPI Table from QEMU is available. | |
@param[in] Event Event whose notification function is being invoked | |
@param[in] Context Pointer to the notification function's context | |
**/ | |
VOID | |
EFIAPI | |
AlterAcpiTable ( | |
IN EFI_EVENT Event, | |
IN VOID *Context | |
); | |
#endif |