IntelSiliconPkg/VTdInfoPpi: Let it follow DMAR table.
[mirror_edk2.git] / IntelSiliconPkg / Feature / VTd / IntelVTdPmrPei / IntelVTdPmrPei.h
CommitLineData
3f5ed3fa
JY
1/** @file\r
2 The definition for DMA access Library.\r
3\r
4 Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>\r
5 This program and the accompanying materials\r
6 are licensed and made available under the terms and conditions of the BSD License\r
7 which accompanies this distribution. The full text of the license may be found at\r
8 http://opensource.org/licenses/bsd-license.php.\r
9\r
10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
12\r
13**/\r
14\r
15#ifndef __DMA_ACCESS_LIB_H__\r
16#define __DMA_ACCESS_LIB_H__\r
17\r
18/**\r
19 Set DMA protected region.\r
20\r
21 @param LowMemoryBase The protected low memory region base.\r
22 @param LowMemoryLength The protected low memory region length.\r
23 @param HighMemoryBase The protected high memory region base.\r
24 @param HighMemoryLength The protected high memory region length.\r
25\r
26 @retval EFI_SUCCESS The DMA protection is set.\r
27 @retval EFI_UNSUPPORTED The DMA protection is not set.\r
28**/\r
29EFI_STATUS\r
30SetDmaProtectedRange (\r
31 IN UINT32 LowMemoryBase,\r
32 IN UINT32 LowMemoryLength,\r
33 IN UINT64 HighMemoryBase,\r
34 IN UINT64 HighMemoryLength\r
35 );\r
36\r
37/**\r
38 Diable DMA protection.\r
39\r
40 @retval DMA protection is disabled.\r
41**/\r
42EFI_STATUS\r
43DisableDmaProtection (\r
44 VOID\r
45 );\r
46\r
47/**\r
48 Get protected low memory alignment.\r
49\r
50 @return protected low memory alignment.\r
51**/\r
52UINT32\r
53GetLowMemoryAlignment (\r
54 VOID\r
55 );\r
56\r
57/**\r
58 Get protected high memory alignment.\r
59\r
60 @return protected high memory alignment.\r
61**/\r
62UINT64\r
63GetHighMemoryAlignment (\r
64 VOID\r
65 );\r
66\r
67#endif\r
68\r