123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- 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.
|