Pull vtd-iommu into release branch
Conflicts: arch/ia64/kernel/acpi.c
This commit is contained in:
@@ -92,6 +92,9 @@ acpi_get_sysname(void)
|
||||
struct acpi_table_rsdp *rsdp;
|
||||
struct acpi_table_xsdt *xsdt;
|
||||
struct acpi_table_header *hdr;
|
||||
#ifdef CONFIG_DMAR
|
||||
u64 i, nentries;
|
||||
#endif
|
||||
|
||||
rsdp_phys = acpi_find_rsdp();
|
||||
if (!rsdp_phys) {
|
||||
@@ -126,6 +129,18 @@ acpi_get_sysname(void)
|
||||
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)
|
||||
@@ -142,6 +157,8 @@ acpi_get_sysname(void)
|
||||
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
|
||||
|
Reference in New Issue
Block a user