RE: [PATCH v2] ACPI: APEI: EINJ: EINJV2 support added

From: Luck, Tony
Date: Thu May 04 2023 - 17:02:02 EST


> +An error injection example::
> +
> + # cd /sys/kernel/debug/apei/einj
> + # cat available_error_type # See which errors can be injected
> + 0x00000001 EINJV2 Processor Error
> + 0x00000002 EINJV2 Memory Error
> + 0x00000004 EINJV2 PCI Express Error
> + # echo 0x2 > error_type
> + # echo 0x5 > flags
> + # echo 0x12345000 > param1
> + # echo 0x2 > param5
> + # echo 1 > error_inject
>
> Is the expectation that platforms that implement EINJV2 will not include legacy
> EINJ support?

I spoke to some BIOS folks here. They said that the ACPI 6.5 change is an
extension to the action table with new opcodes for GET/SET when EINJV2
is supported. The legacy actions are not deprecated. So platform firmware could
support both old and new injection formats.

So I'm going to double down on this:

> Maybe it would be better to change the top-level directory to:
>
> /sys/kernel/debug/apei/einjv2

and say this isn't a "maybe". The EINJV2 interface files should go
in a new directory. The old files should continue to work (assuming
firmware still enumerates the old available types).

Simplifying the interface for EINJV2 in the new directory is an option.
I think we should take it ... the "paramN" files that mean different
things for different injection types were an evolution rather than a design.

-Tony