cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

fsr-3level.c (3529B)


      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