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

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

Version: ~ [ linux-5.9 ] ~ [ linux-5.8.14 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.70 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.150 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.200 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.238 ] ~ [ linux-4.8.17 ] ~ [ linux-4.7.10 ] ~ [ linux-4.6.7 ] ~ [ linux-4.5.7 ] ~ [ linux-4.4.238 ] ~ [ linux-4.3.6 ] ~ [ linux-4.2.8 ] ~ [ linux-4.1.52 ] ~ [ linux-4.0.9 ] ~ [ linux-3.19.8 ] ~ [ linux-3.18.140 ] ~ [ linux-3.17.8 ] ~ [ linux-3.16.85 ] ~ [ linux-3.15.10 ] ~ [ linux-3.14.79 ] ~ [ linux-3.13.11 ] ~ [ linux-3.12.74 ] ~ [ linux-3.11.10 ] ~ [ 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 static struct fsr_info fsr_info[] = {
  2         /*
  3          * The following are the standard ARMv3 and ARMv4 aborts.  ARMv5
  4          * defines these to be "precise" aborts.
  5          */
  6         { do_bad,               SIGSEGV, 0,             "vector exception"                 },
  7         { do_bad,               SIGBUS,  BUS_ADRALN,    "alignment exception"              },
  8         { do_bad,               SIGKILL, 0,             "terminal exception"               },
  9         { do_bad,               SIGBUS,  BUS_ADRALN,    "alignment exception"              },
 10         { do_bad,               SIGBUS,  0,             "external abort on linefetch"      },
 11         { do_translation_fault, SIGSEGV, SEGV_MAPERR,   "section translation fault"        },
 12         { do_bad,               SIGBUS,  0,             "external abort on linefetch"      },
 13         { do_page_fault,        SIGSEGV, SEGV_MAPERR,   "page translation fault"           },
 14         { do_bad,               SIGBUS,  0,             "external abort on non-linefetch"  },
 15         { do_bad,               SIGSEGV, SEGV_ACCERR,   "section domain fault"             },
 16         { do_bad,               SIGBUS,  0,             "external abort on non-linefetch"  },
 17         { do_bad,               SIGSEGV, SEGV_ACCERR,   "page domain fault"                },
 18         { do_bad,               SIGBUS,  0,             "external abort on translation"    },
 19         { do_sect_fault,        SIGSEGV, SEGV_ACCERR,   "section permission fault"         },
 20         { do_bad,               SIGBUS,  0,             "external abort on translation"    },
 21         { do_page_fault,        SIGSEGV, SEGV_ACCERR,   "page permission fault"            },
 22         /*
 23          * The following are "imprecise" aborts, which are signalled by bit
 24          * 10 of the FSR, and may not be recoverable.  These are only
 25          * supported if the CPU abort handler supports bit 10.
 26          */
 27         { do_bad,               SIGBUS,  0,             "unknown 16"                       },
 28         { do_bad,               SIGBUS,  0,             "unknown 17"                       },
 29         { do_bad,               SIGBUS,  0,             "unknown 18"                       },
 30         { do_bad,               SIGBUS,  0,             "unknown 19"                       },
 31         { do_bad,               SIGBUS,  0,             "lock abort"                       }, /* xscale */
 32         { do_bad,               SIGBUS,  0,             "unknown 21"                       },
 33         { do_bad,               SIGBUS,  BUS_OBJERR,    "imprecise external abort"         }, /* xscale */
 34         { do_bad,               SIGBUS,  0,             "unknown 23"                       },
 35         { do_bad,               SIGBUS,  0,             "dcache parity error"              }, /* xscale */
 36         { do_bad,               SIGBUS,  0,             "unknown 25"                       },
 37         { do_bad,               SIGBUS,  0,             "unknown 26"                       },
 38         { do_bad,               SIGBUS,  0,             "unknown 27"                       },
 39         { do_bad,               SIGBUS,  0,             "unknown 28"                       },
 40         { do_bad,               SIGBUS,  0,             "unknown 29"                       },
 41         { do_bad,               SIGBUS,  0,             "unknown 30"                       },
 42         { do_bad,               SIGBUS,  0,             "unknown 31"                       },
 43 };
 44 
 45 static struct fsr_info ifsr_info[] = {
 46         { do_bad,               SIGBUS,  0,             "unknown 0"                        },
 47         { do_bad,               SIGBUS,  0,             "unknown 1"                        },
 48         { do_bad,               SIGBUS,  0,             "debug event"                      },
 49         { do_bad,               SIGSEGV, SEGV_ACCERR,   "section access flag fault"        },
 50         { do_bad,               SIGBUS,  0,             "unknown 4"                        },
 51         { do_translation_fault, SIGSEGV, SEGV_MAPERR,   "section translation fault"        },
 52         { do_bad,               SIGSEGV, SEGV_ACCERR,   "page access flag fault"           },
 53         { do_page_fault,        SIGSEGV, SEGV_MAPERR,   "page translation fault"           },
 54         { do_bad,               SIGBUS,  0,             "external abort on non-linefetch"  },
 55         { do_bad,               SIGSEGV, SEGV_ACCERR,   "section domain fault"             },
 56         { do_bad,               SIGBUS,  0,             "unknown 10"                       },
 57         { do_bad,               SIGSEGV, SEGV_ACCERR,   "page domain fault"                },
 58         { do_bad,               SIGBUS,  0,             "external abort on translation"    },
 59         { do_sect_fault,        SIGSEGV, SEGV_ACCERR,   "section permission fault"         },
 60         { do_bad,               SIGBUS,  0,             "external abort on translation"    },
 61         { do_page_fault,        SIGSEGV, SEGV_ACCERR,   "page permission fault"            },
 62         { do_bad,               SIGBUS,  0,             "unknown 16"                       },
 63         { do_bad,               SIGBUS,  0,             "unknown 17"                       },
 64         { do_bad,               SIGBUS,  0,             "unknown 18"                       },
 65         { do_bad,               SIGBUS,  0,             "unknown 19"                       },
 66         { do_bad,               SIGBUS,  0,             "unknown 20"                       },
 67         { do_bad,               SIGBUS,  0,             "unknown 21"                       },
 68         { do_bad,               SIGBUS,  0,             "unknown 22"                       },
 69         { do_bad,               SIGBUS,  0,             "unknown 23"                       },
 70         { do_bad,               SIGBUS,  0,             "unknown 24"                       },
 71         { do_bad,               SIGBUS,  0,             "unknown 25"                       },
 72         { do_bad,               SIGBUS,  0,             "unknown 26"                       },
 73         { do_bad,               SIGBUS,  0,             "unknown 27"                       },
 74         { do_bad,               SIGBUS,  0,             "unknown 28"                       },
 75         { do_bad,               SIGBUS,  0,             "unknown 29"                       },
 76         { do_bad,               SIGBUS,  0,             "unknown 30"                       },
 77         { do_bad,               SIGBUS,  0,             "unknown 31"                       },
 78 };
 79 

~ [ 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