Proposed ACPI specifications(1) enables EINJv2 by extending set_error_type_with_address strcut. This commit adds einjv2 extension struct and EINJv2 error types to prepare the driver for EINJv2 support. (1) https://bugzilla.tianocore.org/show_bug.cgi?id=4615 Signed-off-by: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx> --- drivers/acpi/apei/einj.c | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/drivers/acpi/apei/einj.c b/drivers/acpi/apei/einj.c index 90efbcbf6b54..119f7accd1c9 100644 --- a/drivers/acpi/apei/einj.c +++ b/drivers/acpi/apei/einj.c @@ -43,6 +43,28 @@ */ static int acpi5; +struct syndrome_array { + union { + u32 acpi_id; + u32 device_id; + u32 pcie_sbdf; + u8 fru_id[16]; + } comp_id; + union { + u32 proc_synd; + u32 mem_synd; + u32 pcie_synd; + u8 vendor_synd[16]; + } comp_synd; +}; + +struct einjv2_extension_struct { + u32 length; + u16 revision; + u16 component_arr_count; + struct syndrome_array component_arr[]; +} __packed; + struct set_error_type_with_address { u32 type; u32 vendor_extension; @@ -51,7 +73,9 @@ struct set_error_type_with_address { u64 memory_address; u64 memory_address_range; u32 pcie_sbdf; -}; + struct einjv2_extension_struct einjv2_struct; +} __packed; + enum { SETWA_FLAGS_APICID = 1, SETWA_FLAGS_MEM = 2, -- 2.34.1