iommu.h 1.2 KB
Newer Older
V
Vegard Nossum 已提交
1 2
#ifndef ASM_X86__IOMMU_H
#define ASM_X86__IOMMU_H
3 4 5

extern void pci_iommu_shutdown(void);
extern void no_iommu_init(void);
6
extern struct dma_mapping_ops nommu_dma_ops;
7 8
extern int force_iommu, no_iommu;
extern int iommu_detected;
9
extern int dmar_disabled;
F
Fenghua Yu 已提交
10
extern int forbid_dac;
11

12
extern unsigned long iommu_nr_pages(unsigned long addr, unsigned long len);
13

F
Fenghua Yu 已提交
14 15 16
/* 10 seconds */
#define DMAR_OPERATION_TIMEOUT ((cycles_t) tsc_khz*10*1000)

17
#ifdef CONFIG_GART_IOMMU
18 19 20 21 22
extern int gart_iommu_aperture;
extern int gart_iommu_aperture_allowed;
extern int gart_iommu_aperture_disabled;

extern void early_gart_iommu_check(void);
23 24 25
extern void gart_iommu_init(void);
extern void gart_iommu_shutdown(void);
extern void __init gart_parse_options(char *);
26 27
extern void gart_iommu_hole_init(void);

28
#else
29 30 31
#define gart_iommu_aperture            0
#define gart_iommu_aperture_allowed    0
#define gart_iommu_aperture_disabled   1
32

33
static inline void early_gart_iommu_check(void)
34 35
{
}
36 37 38
static inline void gart_iommu_init(void)
{
}
39 40 41
static inline void gart_iommu_shutdown(void)
{
}
42 43 44 45 46 47
static inline void gart_parse_options(char *options)
{
}
static inline void gart_iommu_hole_init(void)
{
}
48 49
#endif

V
Vegard Nossum 已提交
50
#endif /* ASM_X86__IOMMU_H */