On 2026-03-20 09:52, Bjorn Helgaas wrote:
> External email: Use caution opening links or attachments
>
>
> On Thu, Mar 19, 2026 at 07:13:09PM +0800, Kai-Heng Feng wrote:
> > Add support for decoding NVIDIA-specific CPER sections delivered via
> > the APEI GHES vendor record notifier chain. NVIDIA hardware generates
> > vendor-specific CPER sections containing error signatures and diagnostic
> > register dumps. This implementation registers a notifier_block with the
> > GHES vendor record notifier and decodes these sections, printing error
> > details via dev_info().
> >
> > The driver binds to ACPI device NVDA2012, present on NVIDIA server
> > platforms. The NVIDIA CPER section contains a fixed header with error
> > metadata (signature, error type, severity, socket) followed by
> > variable-length register address-value pairs for hardware diagnostics.
> >
> > This work is based on libcper [0].
> >
> > Example output:
> > nvidia-ghes NVDA2012:00: NVIDIA CPER section, error_data_length: 544
> > nvidia-ghes NVDA2012:00: signature: CMET-INFO
> > nvidia-ghes NVDA2012:00: error_type: 0
> > nvidia-ghes NVDA2012:00: error_instance: 0
> > nvidia-ghes NVDA2012:00: severity: 3
> > nvidia-ghes NVDA2012:00: socket: 0
> > nvidia-ghes NVDA2012:00: number_regs: 32
> > nvidia-ghes NVDA2012:00: instance_base: 0x0000000000000000
> > nvidia-ghes NVDA2012:00: register[0]: address=0x8000000100000000 
> > value=0x0000000100000000
>
> Is there a convenient way to connect NVDA2012:00 with the actual device?  I
> assume this is typically a PCIe device?  How would we relate this with PCIe
> errors?

The CPER report is from ARM RAS firmware and not neccessarily be related
to a PCIe device.

>
> Consider a cover letter.  Some of these comments apply to the series.

Will do in next version.

>
> Wrap commit logs to fit in 75 columns.  When indented by "git log", all of
> these overflow 80 columns by just a few characters.
>
> Possibly reorder so the acpi/apei patches are together.  I don't think the
> NVIDIA record handler depends on the PCI patch.
>
> Typical subject line style in drivers/acpi/apei appears to be:
>
>   ACPI: APEI: GHES: Add ...
>
> > +config ACPI_APEI_NVIDIA_GHES
> > +     tristate "NVIDIA GHES vendor record handler"
> > +     depends on ACPI_APEI_GHES
>
> Maybe s/ACPI_APEI_NVIDIA_GHES/ACPI_APEI_GHES_NVIDIA/ since there will
> likely be more, and they'll sort nicely if the vendor is at the end.

OK, will do.

>
> > +     help
> > +       Support for decoding NVIDIA-specific CPER sections delivered via
> > +       the APEI GHES vendor record notifier chain. Registers a handler
> > +       for the NVIDIA section GUID and logs error signatures, severity,
> > +       socket, and diagnostic register address-value pairs.
> > +
> > +       Enable on NVIDIA server platforms (e.g. DGX, HGX) that expose
> > +       ACPI device NVDA2012 in their firmware tables.
>
> Wrap to fit in 80 columns like the rest of this file.
>
> > +++ b/drivers/acpi/apei/nvidia-ghes.c
>
> Maybe rename to "ghes-nvidia.c" so future decoders for other vendors are
> grouped?

Will do.

Reply via email to