ACPI, APEI, EINJ: Changes to the ACPI/APEI/EINJ debugfs interface
authorLuck, Tony <tony.luck@intel.com>
Wed, 6 Nov 2013 21:30:36 +0000 (13:30 -0800)
committerTony Luck <tony.luck@intel.com>
Wed, 18 Dec 2013 00:04:22 +0000 (16:04 -0800)
commit3482fb5e0c1c20ce0dbcfc5ca3b6558a8c455b10
tree7df05124c756cd05b66419a7ba741b934903fedc
parent319e2e3f63c348a9b66db4667efa73178e18b17d
ACPI, APEI, EINJ: Changes to the ACPI/APEI/EINJ debugfs interface

When I added support for ACPI5 I made the assumption that
injected processor errors would just need to know the APICID,
memory errors just the address and mask, and PCIe errors just the
segment/bus/device/function. So I had the code check the type of injection
and multiplex the "param1" value appropriately.

This was not a good assumption :-(

There are injection scenarios where we need to specify more than one of
these items. E.g. injecting a cache error we need to specify an APICID
of the cpu that owns the cache, and also an address (so that we can trip
the error by accessing the address).

Add a "flags" file to give the user direct access to specify which items
are valid in the ACPI SET_ERROR_TYPE_WITH_ADDRESS structure. Also add
new files param3 and param4 to hold all these values.

For backwards compatability with old injection scripts we maintain the
old behaviour if flags remains set at zero (or is reset to 0).

Acked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Signed-off-by: Tony Luck <tony.luck@intel.com>
Documentation/acpi/apei/einj.txt
drivers/acpi/apei/einj.c