Mauro Carvalho Chehab <mchehab+hua...@kernel.org> writes: > Using the QMP GHESv2 API requires preparing a raw data array > containing a CPER record. > > Add a helper script with subcommands to prepare such data. > > Currently, only ARM Processor error CPER record is supported, by > using: > $ ghes_inject.py arm > > which produces those warnings on Linux: > > [ 705.032426] [Firmware Warn]: GHES: Unhandled processor error type 0x02: > cache error > [ 774.866308] {4}[Hardware Error]: Hardware error from APEI Generic Hardware > Error Source: 1 > [ 774.866583] {4}[Hardware Error]: event severity: recoverable > [ 774.866738] {4}[Hardware Error]: Error 0, type: recoverable > [ 774.866889] {4}[Hardware Error]: section_type: ARM processor error > [ 774.867048] {4}[Hardware Error]: MIDR: 0x00000000000f0510 > [ 774.867189] {4}[Hardware Error]: running state: 0x0 > [ 774.867321] {4}[Hardware Error]: Power State Coordination Interface > state: 0 > [ 774.867511] {4}[Hardware Error]: Error info structure 0: > [ 774.867679] {4}[Hardware Error]: num errors: 2 > [ 774.867801] {4}[Hardware Error]: error_type: 0x02: cache error > [ 774.867962] {4}[Hardware Error]: error_info: 0x000000000091000f > [ 774.868124] {4}[Hardware Error]: transaction type: Data Access > [ 774.868280] {4}[Hardware Error]: cache error, operation type: Data > write > [ 774.868465] {4}[Hardware Error]: cache level: 2 > [ 774.868592] {4}[Hardware Error]: processor context not corrupted > [ 774.868774] [Firmware Warn]: GHES: Unhandled processor error type 0x02: > cache error > > Such script allows customizing the error data, allowing to change > all fields at the record. Please use: > > $ ghes_inject.py arm -h > > For more details about its usage. > > Signed-off-by: Mauro Carvalho Chehab <mchehab+hua...@kernel.org>
[...] > diff --git a/scripts/arm_processor_error.py b/scripts/arm_processor_error.py > new file mode 100644 > index 000000000000..b0e8450e667e > --- /dev/null > +++ b/scripts/arm_processor_error.py > @@ -0,0 +1,476 @@ > +#!/usr/bin/env python3 > +# > +# pylint: disable=C0301,C0114,R0903,R0912,R0913,R0914,R0915,W0511 > +# SPDX-License-Identifier: GPL-2.0 Sorry if this has been answered already... why not GPL-2.0-or-later? More of the same below. [...]