1 /* SPDX-License-Identifier: GPL-2.0 2 * 3 * arch/sh/kernel/cpu/sh2a/ex.S 4 * 5 * The SH-2A exception vector table 6 * 7 * Copyright (C) 2008 Yoshinori Sato 8 */ 9 10 #include <linux/linkage.h> 11 12 ! 13 ! convert Exception Vector to Exception Number 14 ! 15 16 ! exception no 0 to 255 17 exception_entry0: 18 no = 0 19 .rept 256 20 mov.l r1,@-sp 21 bra exception_trampoline0 22 mov #no,r1 23 no = no + 1 24 .endr 25 exception_trampoline0: 26 mov.l r0,@-sp 27 mov.l 1f,r0 28 extu.b r1,r1 29 jmp @r0 30 extu.w r1,r1 31 32 .align 2 33 1: .long exception_handler 34 35 ! exception no 256 to 511 36 exception_entry1: 37 no = 0 38 .rept 256 39 mov.l r1,@-sp 40 bra exception_trampoline1 41 mov #no,r1 42 no = no + 1 43 .endr 44 exception_trampoline1: 45 mov.l r0,@-sp 46 extu.b r1,r1 47 movi20 #0x100,r0 48 add r0,r1 49 mov.l 1f,r0 50 jmp @r0 51 extu.w r1,r1 52 53 .align 2 54 1: .long exception_handler 55 56 ! 57 ! Exception Vector Base 58 ! 59 .align 2 60 ENTRY(vbr_base) 61 vector = 0 62 .rept 256 63 .long exception_entry0 + vector * 6 64 vector = vector + 1 65 .endr 66 vector = 0 67 .rept 256 68 .long exception_entry1 + vector * 6 69 vector = vector + 1 70 .endr
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.