1 // SPDX-License-Identifier: GPL-2.0-or-later
2 /*
3  */
4 
5 #include <linux/kernel.h>
6 #include <linux/printk.h>
7 #include <linux/ptrace.h>
8 
9 #include <asm/reg.h>
10 
11 int machine_check_4xx(struct pt_regs *regs)
12 {
13 	unsigned long reason = regs->dsisr;
14 
15 	if (reason & ESR_IMCP) {
16 		printk("Instruction");
17 		mtspr(SPRN_ESR, reason & ~ESR_IMCP);
18 	} else
19 		printk("Data");
20 	printk(" machine check in kernel mode.\n");
21 
22 	return 0;
23 }
24