/** @file | |
The protocol provides support to allocate, free, map and umap a DMA buffer | |
for bus master (e.g PciHostBridge). When SEV is enabled, the DMA operations | |
must be performed on unencrypted buffer hence protocol clear the encryption | |
bit from the DMA buffer. | |
Copyright (c) 2017, Intel Corporation. All rights reserved.<BR> | |
Copyright (c) 2017, AMD Inc. All rights reserved.<BR> | |
(C) Copyright 2017 Hewlett Packard Enterprise Development LP<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. | |
**/ | |
#ifndef _AMD_SEV_IOMMU_H_ | |
#define _AMD_SEV_IOMMU_H_ | |
#include <Protocol/IoMmu.h> | |
#include <Library/BaseLib.h> | |
#include <Library/BaseMemoryLib.h> | |
#include <Library/DebugLib.h> | |
#include <Library/MemEncryptSevLib.h> | |
#include <Library/MemoryAllocationLib.h> | |
#include <Library/UefiBootServicesTableLib.h> | |
/** | |
Install IOMMU protocol to provide the DMA support for PciHostBridge and | |
MemEncryptSevLib. | |
**/ | |
EFI_STATUS | |
EFIAPI | |
AmdSevInstallIoMmuProtocol ( | |
VOID | |
); | |
#endif |