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