From: Tony Luck Date: Fri, 17 Oct 2008 20:52:22 +0000 (-0700) Subject: Pull vtd-iommu into release branch X-Git-Tag: v2.6.28-rc1~64^2 X-Git-Url: http://git.cascardo.info/?a=commitdiff_plain;h=fe393164c529f72def1952fb66c11732d0984d78;p=cascardo%2Flinux.git Pull vtd-iommu into release branch Conflicts: arch/ia64/kernel/acpi.c --- fe393164c529f72def1952fb66c11732d0984d78 diff --cc arch/ia64/kernel/acpi.c index 00936491933e,8cc2f8a610c4..0635015d0aaa --- a/arch/ia64/kernel/acpi.c +++ b/arch/ia64/kernel/acpi.c @@@ -122,10 -124,20 +125,22 @@@ acpi_get_sysname(void return "uv"; else return "sn2"; + } else if (xen_pv_domain() && !strcmp(hdr->oem_id, "XEN")) { + return "xen"; } + #ifdef CONFIG_DMAR + /* Look for Intel IOMMU */ + nentries = (hdr->length - sizeof(*hdr)) / + sizeof(xsdt->table_offset_entry[0]); + for (i = 0; i < nentries; i++) { + hdr = __va(xsdt->table_offset_entry[i]); + if (strncmp(hdr->signature, ACPI_SIG_DMAR, + sizeof(ACPI_SIG_DMAR) - 1) == 0) + return "dig_vtd"; + } + #endif + return "dig"; #else # if defined (CONFIG_IA64_HP_SIM) @@@ -140,8 -152,8 +155,10 @@@ return "uv"; # elif defined (CONFIG_IA64_DIG) return "dig"; +# elif defined (CONFIG_IA64_XEN_GUEST) + return "xen"; + # elif defined(CONFIG_IA64_DIG_VTD) + return "dig_vtd"; # else # error Unknown platform. Fix acpi.c. # endif