~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to include/linux/dma_remapping.h

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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