Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

s390/mm: Let dump_fault_info() print additional information

Let dump_fault_info() print additional information to make debugging
easier:

Print "FSI" if the access-exception-fetch/store-indication facility is
installed. If it is installed the TEID may also indicate if an exception
happened because of a fetch or a store operation.

Print "SOP", "ESOP-1", or "ESOP-2" depending on the type of the installed
Suppression-on-Protection facility. This also gives additional information
about the validity and meaning of the TEID bits.

The output is changed from something like:

Failing address: 0000000000000000 TEID: 0000000000000803

to

Failing address: 0000000000000000 TEID: 0000000000000803 ESOP-2 FSI

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>

+10 -1
+10 -1
arch/s390/mm/fault.c
··· 133 133 union teid teid = { .val = regs->int_parm_long }; 134 134 unsigned long asce; 135 135 136 - pr_alert("Failing address: %016lx TEID: %016lx\n", 136 + pr_alert("Failing address: %016lx TEID: %016lx", 137 137 get_fault_address(regs), teid.val); 138 + if (test_facility(131)) 139 + pr_cont(" ESOP-2"); 140 + else if (machine_has_esop()) 141 + pr_cont(" ESOP-1"); 142 + else 143 + pr_cont(" SOP"); 144 + if (test_facility(75)) 145 + pr_cont(" FSI"); 146 + pr_cont("\n"); 138 147 pr_alert("Fault in "); 139 148 switch (teid.as) { 140 149 case PSW_BITS_AS_HOME: