diff options
Diffstat (limited to 'drivers/pci/dmar.c')
| -rw-r--r-- | drivers/pci/dmar.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/drivers/pci/dmar.c b/drivers/pci/dmar.c index 14bbaa17e2ca..22b02c6df854 100644 --- a/drivers/pci/dmar.c +++ b/drivers/pci/dmar.c | |||
| @@ -354,6 +354,7 @@ dmar_table_print_dmar_entry(struct acpi_dmar_header *header) | |||
| 354 | struct acpi_dmar_hardware_unit *drhd; | 354 | struct acpi_dmar_hardware_unit *drhd; |
| 355 | struct acpi_dmar_reserved_memory *rmrr; | 355 | struct acpi_dmar_reserved_memory *rmrr; |
| 356 | struct acpi_dmar_atsr *atsr; | 356 | struct acpi_dmar_atsr *atsr; |
| 357 | struct acpi_dmar_rhsa *rhsa; | ||
| 357 | 358 | ||
| 358 | switch (header->type) { | 359 | switch (header->type) { |
| 359 | case ACPI_DMAR_TYPE_HARDWARE_UNIT: | 360 | case ACPI_DMAR_TYPE_HARDWARE_UNIT: |
| @@ -375,6 +376,12 @@ dmar_table_print_dmar_entry(struct acpi_dmar_header *header) | |||
| 375 | atsr = container_of(header, struct acpi_dmar_atsr, header); | 376 | atsr = container_of(header, struct acpi_dmar_atsr, header); |
| 376 | printk(KERN_INFO PREFIX "ATSR flags: %#x\n", atsr->flags); | 377 | printk(KERN_INFO PREFIX "ATSR flags: %#x\n", atsr->flags); |
| 377 | break; | 378 | 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; | ||
| 378 | } | 385 | } |
| 379 | } | 386 | } |
| 380 | 387 | ||
| @@ -459,9 +466,13 @@ parse_dmar_table(void) | |||
| 459 | ret = dmar_parse_one_atsr(entry_header); | 466 | ret = dmar_parse_one_atsr(entry_header); |
| 460 | #endif | 467 | #endif |
| 461 | break; | 468 | break; |
| 469 | case ACPI_DMAR_HARDWARE_AFFINITY: | ||
| 470 | /* We don't do anything with RHSA (yet?) */ | ||
| 471 | break; | ||
| 462 | default: | 472 | default: |
| 463 | printk(KERN_WARNING PREFIX | 473 | printk(KERN_WARNING PREFIX |
| 464 | "Unknown DMAR structure type\n"); | 474 | "Unknown DMAR structure type %d\n", |
| 475 | entry_header->type); | ||
| 465 | ret = 0; /* for forward compatibility */ | 476 | ret = 0; /* for forward compatibility */ |
| 466 | break; | 477 | break; |
| 467 | } | 478 | } |
