1*47d11326SKuninori Morimoto/* SPDX-License-Identifier: GPL-2.0 2*47d11326SKuninori Morimoto * 3de398406SYoshinori Sato * arch/sh/kernel/cpu/sh2/ex.S 4de398406SYoshinori Sato * 5de398406SYoshinori Sato * The SH-2 exception vector table 6de398406SYoshinori Sato * 7de398406SYoshinori Sato * Copyright (C) 2005 Yoshinori Sato 8de398406SYoshinori Sato */ 9de398406SYoshinori Sato 10de398406SYoshinori Sato#include <linux/linkage.h> 11de398406SYoshinori Sato 12de398406SYoshinori Sato! 13de398406SYoshinori Sato! convert Exception Vector to Exception Number 14de398406SYoshinori Sato! 15de398406SYoshinori Satoexception_entry: 16de398406SYoshinori Satono = 0 17de398406SYoshinori Sato .rept 256 186e80f5e8SYoshinori Sato mov.l r1,@-sp 19de398406SYoshinori Sato bra exception_trampoline 206e80f5e8SYoshinori Sato mov #no,r1 21de398406SYoshinori Satono = no + 1 22de398406SYoshinori Sato .endr 23de398406SYoshinori Satoexception_trampoline: 246e80f5e8SYoshinori Sato mov.l r0,@-sp 256e80f5e8SYoshinori Sato mov.l $exception_handler,r0 266e80f5e8SYoshinori Sato extu.b r1,r1 276e80f5e8SYoshinori Sato jmp @r0 286e80f5e8SYoshinori Sato extu.w r1,r1 29de398406SYoshinori Sato 30de398406SYoshinori Sato .align 2 31de398406SYoshinori Sato$exception_entry: 32de398406SYoshinori Sato .long exception_entry 33de398406SYoshinori Sato$exception_handler: 34de398406SYoshinori Sato .long exception_handler 35de398406SYoshinori Sato! 36de398406SYoshinori Sato! Exception Vector Base 37de398406SYoshinori Sato! 38de398406SYoshinori Sato .align 2 39de398406SYoshinori SatoENTRY(vbr_base) 40de398406SYoshinori Satovector = 0 41de398406SYoshinori Sato .rept 256 426e80f5e8SYoshinori Sato .long exception_entry + vector * 6 43de398406SYoshinori Satovector = vector + 1 44de398406SYoshinori Sato .endr 45