// SPDX-License-Identifier: GPL-2.0-or-later | |
/* | |
*/ | |
#include <linux/kernel.h> | |
#include <linux/printk.h> | |
#include <linux/ptrace.h> | |
#include <asm/reg.h> | |
int machine_check_4xx(struct pt_regs *regs) | |
{ | |
unsigned long reason = regs->dsisr; | |
if (reason & ESR_IMCP) { | |
printk("Instruction"); | |
mtspr(SPRN_ESR, reason & ~ESR_IMCP); | |
} else | |
printk("Data"); | |
printk(" machine check in kernel mode.\n"); | |
return 0; | |
} |