Skip to content

Commit 1f6239c

Browse files
miczyg1rafaeljw
authored andcommitted
ACPICA: Implement IVRS IVHD type 11h parsing
ACPICA commit 6ddc19419896e4149ced1b5f35f0dc12516c0399 The AMD IVRS table parsing supported only IVHD type 10h structures. Parsing an IVHD type 11h caused the iasl to report unknown subtable type. Add necessary structure definition for IVHD type 11h and apply correct parsing method based on subtable type. Link: acpica/acpica@6ddc1941 Signed-off-by: Michał Żygowski <[email protected]> Signed-off-by: Bob Moore <[email protected]> Signed-off-by: Erik Kaneda <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
1 parent 1c040f3 commit 1f6239c

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

include/acpi/actbl2.h

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -274,7 +274,8 @@ struct acpi_ivrs_header {
274274
/* Values for subtable Type above */
275275

276276
enum acpi_ivrs_type {
277-
ACPI_IVRS_TYPE_HARDWARE = 0x10,
277+
ACPI_IVRS_TYPE_HARDWARE1 = 0x10,
278+
ACPI_IVRS_TYPE_HARDWARE2 = 0x11,
278279
ACPI_IVRS_TYPE_MEMORY1 = 0x20,
279280
ACPI_IVRS_TYPE_MEMORY2 = 0x21,
280281
ACPI_IVRS_TYPE_MEMORY3 = 0x22
@@ -301,7 +302,7 @@ enum acpi_ivrs_type {
301302

302303
/* 0x10: I/O Virtualization Hardware Definition Block (IVHD) */
303304

304-
struct acpi_ivrs_hardware {
305+
struct acpi_ivrs_hardware_10 {
305306
struct acpi_ivrs_header header;
306307
u16 capability_offset; /* Offset for IOMMU control fields */
307308
u64 base_address; /* IOMMU control registers */
@@ -310,6 +311,19 @@ struct acpi_ivrs_hardware {
310311
u32 reserved;
311312
};
312313

314+
/* 0x11: I/O Virtualization Hardware Definition Block (IVHD) */
315+
316+
struct acpi_ivrs_hardware_11 {
317+
struct acpi_ivrs_header header;
318+
u16 capability_offset; /* Offset for IOMMU control fields */
319+
u64 base_address; /* IOMMU control registers */
320+
u16 pci_segment_group;
321+
u16 info; /* MSI number and unit ID */
322+
u32 attributes;
323+
u64 efr_register_image;
324+
u64 reserved;
325+
};
326+
313327
/* Masks for Info field above */
314328

315329
#define ACPI_IVHD_MSI_NUMBER_MASK 0x001F /* 5 bits, MSI message number */

0 commit comments

Comments
 (0)