diff options
| author | Yu Zhao <yu.zhao@intel.com> | 2009-05-18 01:51:34 -0400 |
|---|---|---|
| committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-05-18 09:45:09 -0400 |
| commit | aa5d2b515b6fca5f8a56eac84f7fa0a68c1ce9b7 (patch) | |
| tree | c98753254dfe2f3e54a4c38c9191ab5f4afb4c39 /include/linux | |
| parent | e277d2fc79d6abb86fafadb58dca0b9c498a9aa7 (diff) | |
VT-d: parse ATSR in DMA Remapping Reporting Structure
Parse the Root Port ATS Capability Reporting Structure in the DMA
Remapping Reporting Structure ACPI table.
Signed-off-by: Yu Zhao <yu.zhao@intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/dmar.h | 9 | ||||
| -rw-r--r-- | include/linux/intel-iommu.h | 1 |
2 files changed, 10 insertions, 0 deletions
diff --git a/include/linux/dmar.h b/include/linux/dmar.h index e397dc342cda..7c9a207e5da6 100644 --- a/include/linux/dmar.h +++ b/include/linux/dmar.h | |||
| @@ -185,6 +185,15 @@ struct dmar_rmrr_unit { | |||
| 185 | 185 | ||
| 186 | #define for_each_rmrr_units(rmrr) \ | 186 | #define for_each_rmrr_units(rmrr) \ |
| 187 | list_for_each_entry(rmrr, &dmar_rmrr_units, list) | 187 | list_for_each_entry(rmrr, &dmar_rmrr_units, list) |
| 188 | |||
| 189 | struct dmar_atsr_unit { | ||
| 190 | struct list_head list; /* list of ATSR units */ | ||
| 191 | struct acpi_dmar_header *hdr; /* ACPI header */ | ||
| 192 | struct pci_dev **devices; /* target devices */ | ||
| 193 | int devices_cnt; /* target device count */ | ||
| 194 | u8 include_all:1; /* include all ports */ | ||
| 195 | }; | ||
| 196 | |||
| 188 | /* Intel DMAR initialization functions */ | 197 | /* Intel DMAR initialization functions */ |
| 189 | extern int intel_iommu_init(void); | 198 | extern int intel_iommu_init(void); |
| 190 | #else | 199 | #else |
diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h index 29e05a034c09..0a1939f200fc 100644 --- a/include/linux/intel-iommu.h +++ b/include/linux/intel-iommu.h | |||
| @@ -331,6 +331,7 @@ static inline void __iommu_flush_cache( | |||
| 331 | } | 331 | } |
| 332 | 332 | ||
| 333 | extern struct dmar_drhd_unit * dmar_find_matched_drhd_unit(struct pci_dev *dev); | 333 | extern struct dmar_drhd_unit * dmar_find_matched_drhd_unit(struct pci_dev *dev); |
| 334 | extern int dmar_find_matched_atsr_unit(struct pci_dev *dev); | ||
| 334 | 335 | ||
| 335 | extern int alloc_iommu(struct dmar_drhd_unit *drhd); | 336 | extern int alloc_iommu(struct dmar_drhd_unit *drhd); |
| 336 | extern void free_iommu(struct intel_iommu *iommu); | 337 | extern void free_iommu(struct intel_iommu *iommu); |
