On Mon, 10 Feb 2025 10:37:02 -0800 Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx> wrote: > Add einjv2 extension struct and EINJv2 error types to prepare > the driver for EINJv2 support. ACPI specifications(1) enables > EINJv2 by extending set_error_type_with_address struct. > > (1) https://bugzilla.tianocore.org/show_bug.cgi?id=4615 > > Signed-off-by: Zaid Alali <zaidal@xxxxxxxxxxxxxxxxxxxxxx> > --- > drivers/acpi/apei/einj-core.c | 23 +++++++++++++++++++++++ > 1 file changed, 23 insertions(+) > > diff --git a/drivers/acpi/apei/einj-core.c b/drivers/acpi/apei/einj-core.c > index 369d92e410c1..c604aa875644 100644 > --- a/drivers/acpi/apei/einj-core.c > +++ b/drivers/acpi/apei/einj-core.c > @@ -50,6 +50,28 @@ > */ > static int acpi5; > > +struct syndrome_array { > + union { > + u32 acpi_id; > + u32 device_id; > + u32 pcie_sbdf; > + u8 vendor_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[]; __counted_by() marking would be a good addition. > +}; > + > struct set_error_type_with_address { > u32 type; > u32 vendor_extension; > @@ -58,6 +80,7 @@ struct set_error_type_with_address { > u64 memory_address; > u64 memory_address_range; > u32 pcie_sbdf; > + struct einjv2_extension_struct einjv2_struct; > }; > enum { > SETWA_FLAGS_APICID = 1,