Root/
1 | #ifndef _DMA_REMAPPING_H |
2 | #define _DMA_REMAPPING_H |
3 | |
4 | /* |
5 | * VT-d hardware uses 4KiB page size regardless of host page size. |
6 | */ |
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) |
11 | |
12 | #define VTD_STRIDE_SHIFT (9) |
13 | #define VTD_STRIDE_MASK (((u64)-1) << VTD_STRIDE_SHIFT) |
14 | |
15 | #define DMA_PTE_READ (1) |
16 | #define DMA_PTE_WRITE (2) |
17 | #define DMA_PTE_LARGE_PAGE (1 << 7) |
18 | #define DMA_PTE_SNP (1 << 11) |
19 | |
20 | #define CONTEXT_TT_MULTI_LEVEL 0 |
21 | #define CONTEXT_TT_DEV_IOTLB 1 |
22 | #define CONTEXT_TT_PASS_THROUGH 2 |
23 | |
24 | struct intel_iommu; |
25 | struct dmar_domain; |
26 | struct root_entry; |
27 | |
28 | |
29 | #ifdef CONFIG_INTEL_IOMMU |
30 | extern void free_dmar_iommu(struct intel_iommu *iommu); |
31 | extern int iommu_calculate_agaw(struct intel_iommu *iommu); |
32 | extern int iommu_calculate_max_sagaw(struct intel_iommu *iommu); |
33 | extern int dmar_disabled; |
34 | extern int intel_iommu_enabled; |
35 | #else |
36 | static inline int iommu_calculate_agaw(struct intel_iommu *iommu) |
37 | { |
38 | return 0; |
39 | } |
40 | static inline int iommu_calculate_max_sagaw(struct intel_iommu *iommu) |
41 | { |
42 | return 0; |
43 | } |
44 | static inline void free_dmar_iommu(struct intel_iommu *iommu) |
45 | { |
46 | } |
47 | #define dmar_disabled (1) |
48 | #define intel_iommu_enabled (0) |
49 | #endif |
50 | |
51 | |
52 | #endif |
53 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9