]> xenbits.xensource.com Git - xen.git/commit
AMD IOMMU: introduce support for IVHD block type 11h
authorSuravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Wed, 8 Jun 2016 12:13:30 +0000 (14:13 +0200)
committerJan Beulich <jbeulich@suse.com>
Wed, 8 Jun 2016 12:13:30 +0000 (14:13 +0200)
commiteb4858721050ff56f3add7ab67e9ea9332b459f7
tree7ef688c6505cede20c35a2795d6e16c3f23c0ea7
parentcd42ccb27f4e364b6e75b6fecb06bb99ad8da988
AMD IOMMU: introduce support for IVHD block type 11h

Along with the IVHD block type 10h, newer AMD platforms also come with
types 11h, which is a superset of the older one. Having multiple IVHD
block types in the same platform allows backward compatibility of newer
systems to work with existing drivers.  The driver should only parse
the highest-level (newest) type of IVHD block that it can support.
However, the current driver returns error when encounters with unknown
IVHD block type. This causes existing driver to unnecessarily fail IOMMU
initialization on new systems.

This patch introduces a new logic, which scans through IVRS table looking
for the highest-level supporsted IVHD block type. It also adds support
for the new IVHD block type 11h. More information about the IVHD type 11h
can be found in the AMD I/O Virtualization Technology (IOMMU) Specification
rev 2.62.

    http://support.amd.com/TechDocs/48882_IOMMU.pdf

Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
xen/drivers/passthrough/amd/iommu_acpi.c
xen/drivers/passthrough/amd/iommu_init.c
xen/include/acpi/actbl2.h
xen/include/asm-x86/amd-iommu.h
xen/include/asm-x86/hvm/svm/amd-iommu-proto.h