ex.S 681 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /* SPDX-License-Identifier: GPL-2.0
  2. *
  3. * arch/sh/kernel/cpu/sh2/ex.S
  4. *
  5. * The SH-2 exception vector table
  6. *
  7. * Copyright (C) 2005 Yoshinori Sato
  8. */
  9. #include <linux/linkage.h>
  10. !
  11. ! convert Exception Vector to Exception Number
  12. !
  13. exception_entry:
  14. no = 0
  15. .rept 256
  16. mov.l r1,@-sp
  17. bra exception_trampoline
  18. mov #no,r1
  19. no = no + 1
  20. .endr
  21. exception_trampoline:
  22. mov.l r0,@-sp
  23. mov.l $exception_handler,r0
  24. extu.b r1,r1
  25. jmp @r0
  26. extu.w r1,r1
  27. .align 2
  28. $exception_entry:
  29. .long exception_entry
  30. $exception_handler:
  31. .long exception_handler
  32. !
  33. ! Exception Vector Base
  34. !
  35. .align 2
  36. ENTRY(vbr_base)
  37. vector = 0
  38. .rept 256
  39. .long exception_entry + vector * 6
  40. vector = vector + 1
  41. .endr