67 lines
2.4 KiB
Plaintext
67 lines
2.4 KiB
Plaintext
APEI Error INJection
|
|
~~~~~~~~~~~~~~~~~~~~
|
|
|
|
EINJ provides a hardware error injection mechanism
|
|
It is very useful for debugging and testing of other APEI and RAS features.
|
|
|
|
To use EINJ, make sure the following are enabled in your kernel
|
|
configuration:
|
|
|
|
CONFIG_DEBUG_FS
|
|
CONFIG_ACPI_APEI
|
|
CONFIG_ACPI_APEI_EINJ
|
|
|
|
The user interface of EINJ is debug file system, under the
|
|
directory apei/einj. The following files are provided.
|
|
|
|
- available_error_type
|
|
Reading this file returns the error injection capability of the
|
|
platform, that is, which error types are supported. The error type
|
|
definition is as follow, the left field is the error type value, the
|
|
right field is error description.
|
|
|
|
0x00000001 Processor Correctable
|
|
0x00000002 Processor Uncorrectable non-fatal
|
|
0x00000004 Processor Uncorrectable fatal
|
|
0x00000008 Memory Correctable
|
|
0x00000010 Memory Uncorrectable non-fatal
|
|
0x00000020 Memory Uncorrectable fatal
|
|
0x00000040 PCI Express Correctable
|
|
0x00000080 PCI Express Uncorrectable fatal
|
|
0x00000100 PCI Express Uncorrectable non-fatal
|
|
0x00000200 Platform Correctable
|
|
0x00000400 Platform Uncorrectable non-fatal
|
|
0x00000800 Platform Uncorrectable fatal
|
|
|
|
The format of file contents are as above, except there are only the
|
|
available error type lines.
|
|
|
|
- error_type
|
|
This file is used to set the error type value. The error type value
|
|
is defined in "available_error_type" description.
|
|
|
|
- error_inject
|
|
Write any integer to this file to trigger the error
|
|
injection. Before this, please specify all necessary error
|
|
parameters.
|
|
|
|
- param1
|
|
This file is used to set the first error parameter value. Effect of
|
|
parameter depends on error_type specified. For memory error, this is
|
|
physical memory address. Only available if param_extension module
|
|
parameter is specified.
|
|
|
|
- param2
|
|
This file is used to set the second error parameter value. Effect of
|
|
parameter depends on error_type specified. For memory error, this is
|
|
physical memory address mask. Only available if param_extension
|
|
module parameter is specified.
|
|
|
|
Injecting parameter support is a BIOS version specific extension, that
|
|
is, it only works on some BIOS version. If you want to use it, please
|
|
make sure your BIOS version has the proper support and specify
|
|
"param_extension=y" in module parameter.
|
|
|
|
For more information about EINJ, please refer to ACPI specification
|
|
version 4.0, section 17.5.
|