• Luck, Tony's avatar
    ACPI, APEI, EINJ: Changes to the ACPI/APEI/EINJ debugfs interface · 3482fb5e
    Luck, Tony authored
    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: default avatarNaveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
    Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
    3482fb5e
einj.c 22.1 KB