CcIoMmu.h 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. /** @file
  2. The protocol provides support to allocate, free, map and umap a DMA buffer
  3. for bus master (e.g PciHostBridge). When SEV is enabled, the DMA operations
  4. must be performed on unencrypted buffer hence protocol clear the encryption
  5. bit from the DMA buffer.
  6. Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
  7. Copyright (c) 2017, AMD Inc. All rights reserved.<BR>
  8. (C) Copyright 2017 Hewlett Packard Enterprise Development LP<BR>
  9. SPDX-License-Identifier: BSD-2-Clause-Patent
  10. **/
  11. #ifndef _AMD_SEV_IOMMU_H_
  12. #define _AMD_SEV_IOMMU_H_
  13. #include <Protocol/IoMmu.h>
  14. #include <Library/BaseLib.h>
  15. #include <Library/BaseMemoryLib.h>
  16. #include <Library/DebugLib.h>
  17. #include <Library/MemEncryptSevLib.h>
  18. #include <Library/MemEncryptTdxLib.h>
  19. #include <Library/MemoryAllocationLib.h>
  20. #include <Library/UefiBootServicesTableLib.h>
  21. /**
  22. Install IOMMU protocol to provide the DMA support for PciHostBridge.
  23. **/
  24. EFI_STATUS
  25. EFIAPI
  26. InstallIoMmuProtocol (
  27. VOID
  28. );
  29. #endif