1// SPDX-License-Identifier: GPL-2.0
2static struct fsr_info fsr_info[] = {
3	{ do_bad,		SIGBUS,  0,		"unknown 0"			},
4	{ do_bad,		SIGBUS,  0,		"unknown 1"			},
5	{ do_bad,		SIGBUS,  0,		"unknown 2"			},
6	{ do_bad,		SIGBUS,  0,		"unknown 3"			},
7	{ do_bad,		SIGBUS,  0,		"reserved translation fault"	},
8	{ do_translation_fault,	SIGSEGV, SEGV_MAPERR,	"level 1 translation fault"	},
9	{ do_translation_fault,	SIGSEGV, SEGV_MAPERR,	"level 2 translation fault"	},
10	{ do_page_fault,	SIGSEGV, SEGV_MAPERR,	"level 3 translation fault"	},
11	{ do_bad,		SIGBUS,  0,		"reserved access flag fault"	},
12	{ do_bad,		SIGSEGV, SEGV_ACCERR,	"level 1 access flag fault"	},
13	{ do_page_fault,	SIGSEGV, SEGV_ACCERR,	"level 2 access flag fault"	},
14	{ do_page_fault,	SIGSEGV, SEGV_ACCERR,	"level 3 access flag fault"	},
15	{ do_bad,		SIGBUS,  0,		"reserved permission fault"	},
16	{ do_bad,		SIGSEGV, SEGV_ACCERR,	"level 1 permission fault"	},
17	{ do_page_fault,	SIGSEGV, SEGV_ACCERR,	"level 2 permission fault"	},
18	{ do_page_fault,	SIGSEGV, SEGV_ACCERR,	"level 3 permission fault"	},
19	{ do_bad,		SIGBUS,  0,		"synchronous external abort"	},
20	{ do_bad,		SIGBUS,  0,		"asynchronous external abort"	},
21	{ do_bad,		SIGBUS,  0,		"unknown 18"			},
22	{ do_bad,		SIGBUS,  0,		"unknown 19"			},
23	{ do_bad,		SIGBUS,  0,		"synchronous abort (translation table walk)" },
24	{ do_bad,		SIGBUS,  0,		"synchronous abort (translation table walk)" },
25	{ do_bad,		SIGBUS,  0,		"synchronous abort (translation table walk)" },
26	{ do_bad,		SIGBUS,  0,		"synchronous abort (translation table walk)" },
27	{ do_bad,		SIGBUS,  0,		"synchronous parity error"	},
28	{ do_bad,		SIGBUS,  0,		"asynchronous parity error"	},
29	{ do_bad,		SIGBUS,  0,		"unknown 26"			},
30	{ do_bad,		SIGBUS,  0,		"unknown 27"			},
31	{ do_bad,		SIGBUS,  0,		"synchronous parity error (translation table walk" },
32	{ do_bad,		SIGBUS,  0,		"synchronous parity error (translation table walk" },
33	{ do_bad,		SIGBUS,  0,		"synchronous parity error (translation table walk" },
34	{ do_bad,		SIGBUS,  0,		"synchronous parity error (translation table walk" },
35	{ do_bad,		SIGBUS,  0,		"unknown 32"			},
36	{ do_bad,		SIGBUS,  BUS_ADRALN,	"alignment fault"		},
37	{ do_bad,		SIGBUS,  0,		"debug event"			},
38	{ do_bad,		SIGBUS,  0,		"unknown 35"			},
39	{ do_bad,		SIGBUS,  0,		"unknown 36"			},
40	{ do_bad,		SIGBUS,  0,		"unknown 37"			},
41	{ do_bad,		SIGBUS,  0,		"unknown 38"			},
42	{ do_bad,		SIGBUS,  0,		"unknown 39"			},
43	{ do_bad,		SIGBUS,  0,		"unknown 40"			},
44	{ do_bad,		SIGBUS,  0,		"unknown 41"			},
45	{ do_bad,		SIGBUS,  0,		"unknown 42"			},
46	{ do_bad,		SIGBUS,  0,		"unknown 43"			},
47	{ do_bad,		SIGBUS,  0,		"unknown 44"			},
48	{ do_bad,		SIGBUS,  0,		"unknown 45"			},
49	{ do_bad,		SIGBUS,  0,		"unknown 46"			},
50	{ do_bad,		SIGBUS,  0,		"unknown 47"			},
51	{ do_bad,		SIGBUS,  0,		"unknown 48"			},
52	{ do_bad,		SIGBUS,  0,		"unknown 49"			},
53	{ do_bad,		SIGBUS,  0,		"unknown 50"			},
54	{ do_bad,		SIGBUS,  0,		"unknown 51"			},
55	{ do_bad,		SIGBUS,  0,		"implementation fault (lockdown abort)" },
56	{ do_bad,		SIGBUS,  0,		"unknown 53"			},
57	{ do_bad,		SIGBUS,  0,		"unknown 54"			},
58	{ do_bad,		SIGBUS,  0,		"unknown 55"			},
59	{ do_bad,		SIGBUS,  0,		"unknown 56"			},
60	{ do_bad,		SIGBUS,  0,		"unknown 57"			},
61	{ do_bad,		SIGBUS,  0,		"implementation fault (coprocessor abort)" },
62	{ do_bad,		SIGBUS,  0,		"unknown 59"			},
63	{ do_bad,		SIGBUS,  0,		"unknown 60"			},
64	{ do_bad,		SIGBUS,  0,		"unknown 61"			},
65	{ do_bad,		SIGBUS,  0,		"unknown 62"			},
66	{ do_bad,		SIGBUS,  0,		"unknown 63"			},
67};
68
69#define ifsr_info	fsr_info
70