diff options
Diffstat (limited to 'Documentation')
-rw-r--r-- | Documentation/acpi/apei/einj.txt | 55 | ||||
-rw-r--r-- | Documentation/kernel-parameters.txt | 5 |
2 files changed, 49 insertions, 11 deletions
diff --git a/Documentation/acpi/apei/einj.txt b/Documentation/acpi/apei/einj.txt index 5cc699ba5453..e7cc36397217 100644 --- a/Documentation/acpi/apei/einj.txt +++ b/Documentation/acpi/apei/einj.txt | |||
@@ -47,20 +47,53 @@ directory apei/einj. The following files are provided. | |||
47 | 47 | ||
48 | - param1 | 48 | - param1 |
49 | This file is used to set the first error parameter value. Effect of | 49 | This file is used to set the first error parameter value. Effect of |
50 | parameter depends on error_type specified. For memory error, this is | 50 | parameter depends on error_type specified. |
51 | physical memory address. Only available if param_extension module | ||
52 | parameter is specified. | ||
53 | 51 | ||
54 | - param2 | 52 | - param2 |
55 | This file is used to set the second error parameter value. Effect of | 53 | This file is used to set the second error parameter value. Effect of |
56 | parameter depends on error_type specified. For memory error, this is | 54 | parameter depends on error_type specified. |
57 | physical memory address mask. Only available if param_extension | 55 | |
58 | module parameter is specified. | 56 | BIOS versions based in the ACPI 4.0 specification have limited options |
57 | to control where the errors are injected. Your BIOS may support an | ||
58 | extension (enabled with the param_extension=1 module parameter, or | ||
59 | boot command line einj.param_extension=1). This allows the address | ||
60 | and mask for memory injections to be specified by the param1 and | ||
61 | param2 files in apei/einj. | ||
62 | |||
63 | BIOS versions using the ACPI 5.0 specification have more control over | ||
64 | the target of the injection. For processor related errors (type 0x1, | ||
65 | 0x2 and 0x4) the APICID of the target should be provided using the | ||
66 | param1 file in apei/einj. For memory errors (type 0x8, 0x10 and 0x20) | ||
67 | the address is set using param1 with a mask in param2 (0x0 is equivalent | ||
68 | to all ones). For PCI express errors (type 0x40, 0x80 and 0x100) the | ||
69 | segment, bus, device and function are specified using param1: | ||
70 | |||
71 | 31 24 23 16 15 11 10 8 7 0 | ||
72 | +-------------------------------------------------+ | ||
73 | | segment | bus | device | function | reserved | | ||
74 | +-------------------------------------------------+ | ||
75 | |||
76 | An ACPI 5.0 BIOS may also allow vendor specific errors to be injected. | ||
77 | In this case a file named vendor will contain identifying information | ||
78 | from the BIOS that hopefully will allow an application wishing to use | ||
79 | the vendor specific extension to tell that they are running on a BIOS | ||
80 | that supports it. All vendor extensions have the 0x80000000 bit set in | ||
81 | error_type. A file vendor_flags controls the interpretation of param1 | ||
82 | and param2 (1 = PROCESSOR, 2 = MEMORY, 4 = PCI). See your BIOS vendor | ||
83 | documentation for details (and expect changes to this API if vendors | ||
84 | creativity in using this feature expands beyond our expectations). | ||
85 | |||
86 | Example: | ||
87 | # cd /sys/kernel/debug/apei/einj | ||
88 | # cat available_error_type # See which errors can be injected | ||
89 | 0x00000002 Processor Uncorrectable non-fatal | ||
90 | 0x00000008 Memory Correctable | ||
91 | 0x00000010 Memory Uncorrectable non-fatal | ||
92 | # echo 0x12345000 > param1 # Set memory address for injection | ||
93 | # echo 0xfffffffffffff000 > param2 # Mask - anywhere in this page | ||
94 | # echo 0x8 > error_type # Choose correctable memory error | ||
95 | # echo 1 > error_inject # Inject now | ||
59 | 96 | ||
60 | Injecting parameter support is a BIOS version specific extension, that | ||
61 | is, it only works on some BIOS version. If you want to use it, please | ||
62 | make sure your BIOS version has the proper support and specify | ||
63 | "param_extension=y" in module parameter. | ||
64 | 97 | ||
65 | For more information about EINJ, please refer to ACPI specification | 98 | For more information about EINJ, please refer to ACPI specification |
66 | version 4.0, section 17.5. | 99 | version 4.0, section 17.5 and ACPI 5.0, section 18.6. |
diff --git a/Documentation/kernel-parameters.txt b/Documentation/kernel-parameters.txt index b29f3c416296..033d4e69b43b 100644 --- a/Documentation/kernel-parameters.txt +++ b/Documentation/kernel-parameters.txt | |||
@@ -1059,6 +1059,11 @@ bytes respectively. Such letter suffixes can also be entirely omitted. | |||
1059 | By default, super page will be supported if Intel IOMMU | 1059 | By default, super page will be supported if Intel IOMMU |
1060 | has the capability. With this option, super page will | 1060 | has the capability. With this option, super page will |
1061 | not be supported. | 1061 | not be supported. |
1062 | |||
1063 | intel_idle.max_cstate= [KNL,HW,ACPI,X86] | ||
1064 | 0 disables intel_idle and fall back on acpi_idle. | ||
1065 | 1 to 6 specify maximum depth of C-state. | ||
1066 | |||
1062 | intremap= [X86-64, Intel-IOMMU] | 1067 | intremap= [X86-64, Intel-IOMMU] |
1063 | on enable Interrupt Remapping (default) | 1068 | on enable Interrupt Remapping (default) |
1064 | off disable Interrupt Remapping | 1069 | off disable Interrupt Remapping |