Skip to content

Commit 17b6097

Browse files
Roland DreierDavid Woodhouse
authored andcommitted
intel-iommu: Decode (and ignore) RHSA entries
I recently got a system where the DMAR table included a couple of RHSA (remapping hardware static affinity) entries. Rather than printing a message about an "Unknown DMAR structure," it would probably be more useful to dump the RHSA structure (as other DMAR structures are dumped). Signed-off-by: Roland Dreier <[email protected]> Signed-off-by: David Woodhouse <[email protected]>
1 parent 4de75cf commit 17b6097

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

drivers/pci/dmar.c

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,7 @@ dmar_table_print_dmar_entry(struct acpi_dmar_header *header)
354354
struct acpi_dmar_hardware_unit *drhd;
355355
struct acpi_dmar_reserved_memory *rmrr;
356356
struct acpi_dmar_atsr *atsr;
357+
struct acpi_dmar_rhsa *rhsa;
357358

358359
switch (header->type) {
359360
case ACPI_DMAR_TYPE_HARDWARE_UNIT:
@@ -375,6 +376,12 @@ dmar_table_print_dmar_entry(struct acpi_dmar_header *header)
375376
atsr = container_of(header, struct acpi_dmar_atsr, header);
376377
printk(KERN_INFO PREFIX "ATSR flags: %#x\n", atsr->flags);
377378
break;
379+
case ACPI_DMAR_HARDWARE_AFFINITY:
380+
rhsa = container_of(header, struct acpi_dmar_rhsa, header);
381+
printk(KERN_INFO PREFIX "RHSA base: %#016Lx proximity domain: %#x\n",
382+
(unsigned long long)rhsa->base_address,
383+
rhsa->proximity_domain);
384+
break;
378385
}
379386
}
380387

@@ -459,6 +466,9 @@ parse_dmar_table(void)
459466
ret = dmar_parse_one_atsr(entry_header);
460467
#endif
461468
break;
469+
case ACPI_DMAR_HARDWARE_AFFINITY:
470+
/* We don't do anything with RHSA (yet?) */
471+
break;
462472
default:
463473
printk(KERN_WARNING PREFIX
464474
"Unknown DMAR structure type %d\n",

0 commit comments

Comments
 (0)