]> git.proxmox.com Git - mirror_edk2.git/blob - OvmfPkg/IoMmuDxe/AmdSevIoMmu.h
OvmfPkg: Add IoMmuDxe driver
[mirror_edk2.git] / OvmfPkg / IoMmuDxe / AmdSevIoMmu.h
1 /** @file
2
3 The protocol provides support to allocate, free, map and umap a DMA buffer for
4 bus master (e.g PciHostBridge). When SEV is enabled, the DMA operations must
5 be performed on unencrypted buffer hence protocol clear the encryption bit
6 from the DMA buffer.
7
8 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
9 Copyright (c) 2017, AMD Inc. All rights reserved.<BR>
10 This program and the accompanying materials are licensed and made available
11 under the terms and conditions of the BSD License which accompanies this
12 distribution. The full text of the license may be found at
13 http://opensource.org/licenses/bsd-license.php
14
15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
16 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
17
18 **/
19
20 #ifndef __AMD_SEV_IOMMU_H_
21 #define __AMD_SEV_IOMMU_H
22
23 #include <Protocol/IoMmu.h>
24
25 #include <Library/BaseLib.h>
26 #include <Library/DebugLib.h>
27 #include <Library/BaseMemoryLib.h>
28 #include <Library/MemoryAllocationLib.h>
29 #include <Library/UefiBootServicesTableLib.h>
30 #include <Library/MemEncryptSevLib.h>
31
32 /**
33 Install IOMMU protocol to provide the DMA support for PciHostBridge and
34 MemEncryptSevLib.
35
36 **/
37 VOID
38 EFIAPI
39 AmdSevInstallIoMmuProtocol (
40 VOID
41 );
42
43 #endif