Message ID | 20250403231339.23708-7-zaidal@os.amperecomputing.com |
---|---|
State | New |
Headers | show |
Series | Enable EINJv2 Support | expand |
On Thu, 3 Apr 2025 16:13:36 -0700 Zaid Alali <zaidal@os.amperecomputing.com> 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://github.com/tianocore/edk2/issues/9449 > See v4 reply which had a tag and a note that this should use a link tag with # [1] after it. With that fixed up Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > Signed-off-by: Zaid Alali <zaidal@os.amperecomputing.com>
diff --git a/drivers/acpi/apei/einj-core.c b/drivers/acpi/apei/einj-core.c index 0d99f9951c03..d1ddc82744c7 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(component_arr_count); +}; + 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,
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://github.com/tianocore/edk2/issues/9449 Signed-off-by: Zaid Alali <zaidal@os.amperecomputing.com> --- drivers/acpi/apei/einj-core.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+)