Commit | Line | Data |
---|---|---|
e61d98d8 SS |
1 | #ifndef _DMA_REMAPPING_H |
2 | #define _DMA_REMAPPING_H | |
3 | ||
4 | /* | |
5b6985ce | 5 | * VT-d hardware uses 4KiB page size regardless of host page size. |
e61d98d8 | 6 | */ |
5b6985ce FY |
7 | #define VTD_PAGE_SHIFT (12) |
8 | #define VTD_PAGE_SIZE (1UL << VTD_PAGE_SHIFT) | |
9 | #define VTD_PAGE_MASK (((u64)-1) << VTD_PAGE_SHIFT) | |
10 | #define VTD_PAGE_ALIGN(addr) (((addr) + VTD_PAGE_SIZE - 1) & VTD_PAGE_MASK) | |
e61d98d8 | 11 | |
e61d98d8 SS |
12 | #define DMA_PTE_READ (1) |
13 | #define DMA_PTE_WRITE (2) | |
14 | ||
e61d98d8 | 15 | struct intel_iommu; |
99126f7c MM |
16 | struct dmar_domain; |
17 | struct root_entry; | |
e61d98d8 | 18 | |
e61d98d8 | 19 | extern void free_dmar_iommu(struct intel_iommu *iommu); |
c66b9906 IM |
20 | |
21 | #ifdef CONFIG_DMAR | |
1b573683 | 22 | extern int iommu_calculate_agaw(struct intel_iommu *iommu); |
c66b9906 IM |
23 | #else |
24 | static inline int iommu_calculate_agaw(struct intel_iommu *iommu) | |
25 | { | |
26 | return 0; | |
27 | } | |
28 | #endif | |
e61d98d8 | 29 | |
2ae21010 SS |
30 | extern int dmar_disabled; |
31 | ||
e61d98d8 | 32 | #endif |