CPER records describing a firmware-first error are identified by GUID.
The ghes driver currently logs, but ignores any unknown CPER records.
This prevents describing errors that can't be represented by a standard
entry, that would otherwise allow a driver to recover from an error.
The UEFI spec calls these 'Non-standard Section Body' (N.2.3 of
version 2.8).
patch set
1. add a notifier chain for these non-standard/vendor-records
in the ghes driver.
2. add a driver to handle HiSilicon hip PCIe controller's errors.
Changes:
V11:
1. Following modifications made by James Morse in the APEI patch
for the vendor error record.
- Removed kfifo and ghes_gdata_pool. Expanded commit message.
Note: Kept the Signed-off-by: James Morse as he is given
because I am not sure the right format.
2. Changes in the HIP PCIe error handler driver
for the comments by Andy Shevchenko.
V10:
1. Changes for Bjorn's comments on HIP PCIe error handler driver
and APEI patch.
2. Changes in the HIP PCIe error handler driver
for the feedbacks by Andy Shevchenko.
V9:
1. Fixed 2 improvements suggested by the kbuild test robot.
1.1 Change ghes_gdata_pool_init() as static function.
1.2. Removed using buffer to store the error data for
logging in the hisi_pcie_handle_error()
V8:
1. Removed reporting the standard errors through the interface
because of the conflict with the recent patches in the
memory error handling path.
2. Fix comments by Dan Carpenter.
V7:
1. Add changes in the APEI driver suggested by Borislav Petkov, for
queuing up all the non-fatal HW errors to the work queue and
notify the registered kernel drivers from the bottom half using
blocking notifier, common interface for both standard and
vendor-spcific errors.
2. Fix for further feedbacks in v5 HIP PCIe error handler driver
by Bjorn Helgaas.
V6:
1. Fix few changes in the patch subject line suggested by Bjorn Helgaas.
V5:
1. Fix comments from James Morse.
1.1 Changed the notification method to use the atomic_notifier_chain.
1.2 Add the error handled status for the user space.
V4:
1. Fix for the following smatch warning in the PCIe error driver,
reported by kbuild test robot<[email protected]>:
warn: should '((((1))) << (9 + i))' be a 64 bit type?
if (err->val_bits & BIT(HISI_PCIE_LOCAL_VALID_ERR_MISC + i))
^^^ This should be BIT_ULL() because it goes up to 9 + 32.
V3:
1. Fix the comments from Bjorn Helgaas.
V2:
1. Changes in the HiSilicon PCIe controller's error handling driver
for the comments from Bjorn Helgaas.
2. Changes in the APEI interface to support reporting the vendor error
for module with multiple devices, but use the same section type.
In the error handler will use socket id/sub module id etc to distinguish
the device.
V1:
1. Fix comments from James Morse.
2. add driver to handle HiSilicon hip08 PCIe controller's errors,
which is an application of the above interface.
Shiju Jose (1):
ACPI / APEI: Add a notifier chain for unknown (vendor) CPER records
Yicong Yang (1):
PCI: hip: Add handling of HiSilicon HIP PCIe controller errors
drivers/acpi/apei/ghes.c | 63 +++++
drivers/pci/controller/Kconfig | 8 +
drivers/pci/controller/Makefile | 1 +
drivers/pci/controller/pcie-hisi-error.c | 327 +++++++++++++++++++++++
include/acpi/ghes.h | 27 ++
5 files changed, 426 insertions(+)
create mode 100644 drivers/pci/controller/pcie-hisi-error.c
--
2.17.1
On Mon, Jun 22, 2020 at 01:05:25PM +0100, Shiju Jose wrote:
> CPER records describing a firmware-first error are identified by GUID.
> The ghes driver currently logs, but ignores any unknown CPER records.
> This prevents describing errors that can't be represented by a standard
> entry, that would otherwise allow a driver to recover from an error.
> The UEFI spec calls these 'Non-standard Section Body' (N.2.3 of
> version 2.8).
>
> patch set
> 1. add a notifier chain for these non-standard/vendor-records
> in the ghes driver.
>
> 2. add a driver to handle HiSilicon hip PCIe controller's errors.
>
> Changes:
>
> V11:
> 1. Following modifications made by James Morse in the APEI patch
> for the vendor error record.
> - Removed kfifo and ghes_gdata_pool. Expanded commit message.
>
> Note: Kept the Signed-off-by: James Morse as he is given
> because I am not sure the right format.
Wait, what? He doesn't seem to have given any S-o-b in the public
thread.
Signed-off-by means that you handled a patch. Presumably you are the
maintainer and hopefully you looked at the patch before applying it.
Signed-off-by is like signing a legal document to say that you didn't
add any Top Secrety SCO UNIXWare source code. Reviewed-by means you
reviewed it and approve. Acked-by means you approve the patch which
sort of means you are the maintainer or you care about it for some
reason, for example, maybe there was a debate and you like the chosen
approach.
regards,
dan carpenter