TdxAcpiTable.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. /** @file
  2. Copyright (c) 2008 - 2012, Intel Corporation. All rights reserved.<BR>
  3. SPDX-License-Identifier: BSD-2-Clause-Patent
  4. **/
  5. #ifndef TDX_ACPI_TABLE_H_
  6. #define TDX_ACPI_TABLE_H_
  7. #include <PiDxe.h>
  8. #include <Protocol/AcpiTable.h>
  9. #include <Protocol/FirmwareVolume2.h>
  10. #include <Protocol/PciIo.h>
  11. #include <Library/BaseLib.h>
  12. #include <Library/UefiBootServicesTableLib.h>
  13. #include <Library/DebugLib.h>
  14. #include <Library/PcdLib.h>
  15. #include <IndustryStandard/IntelTdx.h>
  16. #include <IndustryStandard/Acpi.h>
  17. VOID
  18. EFIAPI
  19. AsmGetRelocationMap (
  20. OUT MP_RELOCATION_MAP *AddressMap
  21. );
  22. /**
  23. At the beginning of system boot, a 4K-aligned, 4K-size memory (Td mailbox) is
  24. pre-allocated by host VMM. BSP & APs do the page accept together in that memory
  25. region.
  26. After that TDVF is designed to relocate the mailbox to a 4K-aligned, 4K-size
  27. memory block which is allocated in the ACPI Nvs memory. APs are waken up and
  28. spin around the relocated mailbox for further command.
  29. @return EFI_PHYSICAL_ADDRESS Address of the relocated mailbox
  30. **/
  31. EFI_PHYSICAL_ADDRESS
  32. EFIAPI
  33. RelocateMailbox (
  34. VOID
  35. );
  36. /**
  37. Alter the MADT when ACPI Table from QEMU is available.
  38. @param[in] Event Event whose notification function is being invoked
  39. @param[in] Context Pointer to the notification function's context
  40. **/
  41. VOID
  42. EFIAPI
  43. AlterAcpiTable (
  44. IN EFI_EVENT Event,
  45. IN VOID *Context
  46. );
  47. #endif