diff options
author | Yu Zhao <yu.zhao@intel.com> | 2009-05-18 13:51:34 +0800 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-05-18 14:45:09 +0100 |
commit | aa5d2b515b6fca5f8a56eac84f7fa0a68c1ce9b7 (patch) | |
tree | c98753254dfe2f3e54a4c38c9191ab5f4afb4c39 /include/linux | |
parent | e277d2fc79d6abb86fafadb58dca0b9c498a9aa7 (diff) | |
download | kernel-crypto-aa5d2b515b6fca5f8a56eac84f7fa0a68c1ce9b7.tar.gz kernel-crypto-aa5d2b515b6fca5f8a56eac84f7fa0a68c1ce9b7.tar.xz kernel-crypto-aa5d2b515b6fca5f8a56eac84f7fa0a68c1ce9b7.zip |
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 e397dc342cd..7c9a207e5da 100644 --- a/include/linux/dmar.h +++ b/include/linux/dmar.h @@ -185,6 +185,15 @@ struct dmar_rmrr_unit { #define for_each_rmrr_units(rmrr) \ list_for_each_entry(rmrr, &dmar_rmrr_units, list) + +struct dmar_atsr_unit { + struct list_head list; /* list of ATSR units */ + struct acpi_dmar_header *hdr; /* ACPI header */ + struct pci_dev **devices; /* target devices */ + int devices_cnt; /* target device count */ + u8 include_all:1; /* include all ports */ +}; + /* Intel DMAR initialization functions */ extern int intel_iommu_init(void); #else diff --git a/include/linux/intel-iommu.h b/include/linux/intel-iommu.h index 29e05a034c0..0a1939f200f 100644 --- a/include/linux/intel-iommu.h +++ b/include/linux/intel-iommu.h @@ -331,6 +331,7 @@ static inline void __iommu_flush_cache( } extern struct dmar_drhd_unit * dmar_find_matched_drhd_unit(struct pci_dev *dev); +extern int dmar_find_matched_atsr_unit(struct pci_dev *dev); extern int alloc_iommu(struct dmar_drhd_unit *drhd); extern void free_iommu(struct intel_iommu *iommu); |