~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arm/mm/fsr-2level.c

Version: ~ [ linux-5.16-rc3 ] ~ [ linux-5.15.5 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.82 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.162 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.218 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.256 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.291 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.293 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.18.140 ] ~ [ linux-3.16.85 ] ~ [ linux-3.14.79 ] ~ [ linux-3.12.74 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.5 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 // SPDX-License-Identifier: GPL-2.0
  2 static struct fsr_info fsr_info[] = {
  3         /*
  4          * The following are the standard ARMv3 and ARMv4 aborts.  ARMv5
  5          * defines these to be "precise" aborts.
  6          */
  7         { do_bad,               SIGSEGV, 0,             "vector exception"                 },
  8         { do_bad,               SIGBUS,  BUS_ADRALN,    "alignment exception"              },
  9         { do_bad,               SIGKILL, 0,             "terminal exception"               },
 10         { do_bad,               SIGBUS,  BUS_ADRALN,    "alignment exception"              },
 11         { do_bad,               SIGBUS,  0,             "external abort on linefetch"      },
 12         { do_translation_fault, SIGSEGV, SEGV_MAPERR,   "section translation fault"        },
 13         { do_bad,               SIGBUS,  0,             "external abort on linefetch"      },
 14         { do_page_fault,        SIGSEGV, SEGV_MAPERR,   "page translation fault"           },
 15         { do_bad,               SIGBUS,  0,             "external abort on non-linefetch"  },
 16         { do_bad,               SIGSEGV, SEGV_ACCERR,   "section domain fault"             },
 17         { do_bad,               SIGBUS,  0,             "external abort on non-linefetch"  },
 18         { do_bad,               SIGSEGV, SEGV_ACCERR,   "page domain fault"                },
 19         { do_bad,               SIGBUS,  0,             "external abort on translation"    },
 20         { do_sect_fault,        SIGSEGV, SEGV_ACCERR,   "section permission fault"         },
 21         { do_bad,               SIGBUS,  0,             "external abort on translation"    },
 22         { do_page_fault,        SIGSEGV, SEGV_ACCERR,   "page permission fault"            },
 23         /*
 24          * The following are "imprecise" aborts, which are signalled by bit
 25          * 10 of the FSR, and may not be recoverable.  These are only
 26          * supported if the CPU abort handler supports bit 10.
 27          */
 28         { do_bad,               SIGBUS,  0,             "unknown 16"                       },
 29         { do_bad,               SIGBUS,  0,             "unknown 17"                       },
 30         { do_bad,               SIGBUS,  0,             "unknown 18"                       },
 31         { do_bad,               SIGBUS,  0,             "unknown 19"                       },
 32         { do_bad,               SIGBUS,  0,             "lock abort"                       }, /* xscale */
 33         { do_bad,               SIGBUS,  0,             "unknown 21"                       },
 34         { do_bad,               SIGBUS,  BUS_OBJERR,    "imprecise external abort"         }, /* xscale */
 35         { do_bad,               SIGBUS,  0,             "unknown 23"                       },
 36         { do_bad,               SIGBUS,  0,             "dcache parity error"              }, /* xscale */
 37         { do_bad,               SIGBUS,  0,             "unknown 25"                       },
 38         { do_bad,               SIGBUS,  0,             "unknown 26"                       },
 39         { do_bad,               SIGBUS,  0,             "unknown 27"                       },
 40         { do_bad,               SIGBUS,  0,             "unknown 28"                       },
 41         { do_bad,               SIGBUS,  0,             "unknown 29"                       },
 42         { do_bad,               SIGBUS,  0,             "unknown 30"                       },
 43         { do_bad,               SIGBUS,  0,             "unknown 31"                       },
 44 };
 45 
 46 static struct fsr_info ifsr_info[] = {
 47         { do_bad,               SIGBUS,  0,             "unknown 0"                        },
 48         { do_bad,               SIGBUS,  0,             "unknown 1"                        },
 49         { do_bad,               SIGBUS,  0,             "debug event"                      },
 50         { do_bad,               SIGSEGV, SEGV_ACCERR,   "section access flag fault"        },
 51         { do_bad,               SIGBUS,  0,             "unknown 4"                        },
 52         { do_translation_fault, SIGSEGV, SEGV_MAPERR,   "section translation fault"        },
 53         { do_bad,               SIGSEGV, SEGV_ACCERR,   "page access flag fault"           },
 54         { do_page_fault,        SIGSEGV, SEGV_MAPERR,   "page translation fault"           },
 55         { do_bad,               SIGBUS,  0,             "external abort on non-linefetch"  },
 56         { do_bad,               SIGSEGV, SEGV_ACCERR,   "section domain fault"             },
 57         { do_bad,               SIGBUS,  0,             "unknown 10"                       },
 58         { do_bad,               SIGSEGV, SEGV_ACCERR,   "page domain fault"                },
 59         { do_bad,               SIGBUS,  0,             "external abort on translation"    },
 60         { do_sect_fault,        SIGSEGV, SEGV_ACCERR,   "section permission fault"         },
 61         { do_bad,               SIGBUS,  0,             "external abort on translation"    },
 62         { do_page_fault,        SIGSEGV, SEGV_ACCERR,   "page permission fault"            },
 63         { do_bad,               SIGBUS,  0,             "unknown 16"                       },
 64         { do_bad,               SIGBUS,  0,             "unknown 17"                       },
 65         { do_bad,               SIGBUS,  0,             "unknown 18"                       },
 66         { do_bad,               SIGBUS,  0,             "unknown 19"                       },
 67         { do_bad,               SIGBUS,  0,             "unknown 20"                       },
 68         { do_bad,               SIGBUS,  0,             "unknown 21"                       },
 69         { do_bad,               SIGBUS,  0,             "unknown 22"                       },
 70         { do_bad,               SIGBUS,  0,             "unknown 23"                       },
 71         { do_bad,               SIGBUS,  0,             "unknown 24"                       },
 72         { do_bad,               SIGBUS,  0,             "unknown 25"                       },
 73         { do_bad,               SIGBUS,  0,             "unknown 26"                       },
 74         { do_bad,               SIGBUS,  0,             "unknown 27"                       },
 75         { do_bad,               SIGBUS,  0,             "unknown 28"                       },
 76         { do_bad,               SIGBUS,  0,             "unknown 29"                       },
 77         { do_bad,               SIGBUS,  0,             "unknown 30"                       },
 78         { do_bad,               SIGBUS,  0,             "unknown 31"                       },
 79 };
 80 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | Wiki (Japanese) | Wiki (English) | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

osdn.jp