a905da1d6f4156a44b8990fde0e9b8f4cebc77b6
[linux-modified.git] / machine_check.c
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->esr;
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 }