powerpc: Support to handle control memory access error [FEAT]
BUGZILLA
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2068688
UPSTREAM STATUS
Upstream Status: Patches have been accepted on kernel/git/powerpc/linux.git
CONFLICTS
None
BUILD INFORMATION
Build Info: http://brewweb.engineering.redhat.com/brew/taskinfo?taskID=44249693
TESTING
The bus error generated by the inject_ctrl_mem_err test on the patched kernel was properly logged as expected.
[root@ltcden6##]# uname -a
Linux ltcden6c3-lp1.aus.stglabs.ibm.com 5.14.0-75.PATCHED_rh2068688.el9_0.ppc64le #1 SMP Tue Mar 29 15:40:27 EDT 2022 ppc64le ppc64le ppc64le GNU/Linux
[root@ltcden6##]# ls
cma_inject.c cma_inject.s cma.sh inject_ctrl_mem_err vas-api.h
[root@ltcden6##]# ./inject_ctrl_mem_err
Bus error (core dumped)
[root@ltcden6##]# dmesg
[ 679.146780] Disabling lock debugging due to kernel taint
[ 679.146797] MCE: CPU30: machine check (Severe) Real address Load/Store (foreign/control memory) [Not recovered]
[ 679.146802] MCE: CPU30: PID: 11354 Comm: inject_ctrl_mem NIP: [0000000010000a28]
[ 679.146806] MCE: CPU30: Initiator CPU
[ 679.146808] MCE: CPU30: Unknown
[ 679.146811] inject_ctrl_mem[11354]: bus error (7) at 10000a28 nip 10000a28 lr 10000a18 code 4 in inject_ctrl_mem_err[10000000+10000]
[ 679.146821] inject_ctrl_mem[11354]: code: e93f0072 39000000 7d274b78 38c00001 38a00003 38801000 38600000 4bfffc6d
[ 679.146826] inject_ctrl_mem[11354]: code: e8410018 f87f0078 e93f0078 39400001 <91490000> f00002d0 393f0060 7c004fae
[ 679.146868] RTAS: event: 1, Type: Platform Error (224), Severity: 3
[ 679.146877] potentially unexpected fatal signal 7.
[ 679.146880] CPU: 30 PID: 11354 Comm: inject_ctrl_mem Kdump: loaded Tainted: G M --------- --- 5.14.0-75.PATCHED_rh2068688.el9_0.ppc64le #1
[ 679.146885] NIP: 0000000010000a28 LR: 0000000010000a18 CTR: 0000000000000000
[ 679.146888] REGS: c00000013ae53e80 TRAP: 0200 Tainted: G M --------- --- (5.14.0-75.PATCHED_rh2068688.el9_0.ppc64le)
[ 679.146893] MSR: 8000000002a0f033 <SF,VEC,VSX,EE,PR,FP,ME,IR,DR,RI,LE> CR: 82002402 XER: 00000000
[ 679.146902] CFAR: 000000000000021c DAR: 00007fff85b90000 DSISR: 02000008 IRQMASK: 0
GPR00: 0000000010000a18 00007fffcb84f030 0000000010027f00 00007fff85b90000
GPR04: 0000000000001000 0000000000000003 0000000000000001 0000000000000003
GPR08: 0000000000000000 00007fff85b90000 0000000000000001 0000000000000000
GPR12: 0000000000000000 00007fff85c3a4e0 0000000000000000 0000000000000000
GPR16: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR20: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
GPR24: 00000000100008ac 00007fffcb84f548 000000001001fce8 00007fff85c2f6d8
GPR28: 00007fffcb84f640 00007fffcb84f538 0000000000000001 00007fffcb84f030
[ 679.146940] NIP [0000000010000a28] 0x10000a28
[ 679.146944] LR [0000000010000a18] 0x10000a18
[ 679.146948] Call Trace:
DESCRIPTION
This FEAT request brings in a few patches which provide support to parsing/logging control memory access errors on pseries.
Signed-off-by: Desnes A. Nunes do Rosario drosario@redhat.com
Edited by Desnes Nunes