ex.S 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. /*
  2. * arch/sh/kernel/cpu/sh3/ex.S
  3. *
  4. * The SH-3 exception vector table.
  5. * Copyright (C) 1999, 2000, 2002 Niibe Yutaka
  6. * Copyright (C) 2003 - 2006 Paul Mundt
  7. *
  8. * This file is subject to the terms and conditions of the GNU General Public
  9. * License. See the file "COPYING" in the main directory of this archive
  10. * for more details.
  11. *
  12. */
  13. #include <linux/linkage.h>
  14. .align 2
  15. .data
  16. ENTRY(exception_handling_table)
  17. .long exception_error /* 000 */
  18. .long exception_error
  19. #if defined(CONFIG_MMU)
  20. .long tlb_miss_load /* 040 */
  21. .long tlb_miss_store
  22. .long initial_page_write
  23. .long tlb_protection_violation_load
  24. .long tlb_protection_violation_store
  25. .long address_error_load
  26. .long address_error_store /* 100 */
  27. #else
  28. .long exception_error ! tlb miss load /* 040 */
  29. .long exception_error ! tlb miss store
  30. .long exception_error ! initial page write
  31. .long exception_error ! tlb prot violation load
  32. .long exception_error ! tlb prot violation store
  33. .long exception_error ! address error load
  34. .long exception_error ! address error store /* 100 */
  35. #endif
  36. .long exception_error ! fpu_exception /* 120 */
  37. .long exception_error /* 140 */
  38. .long system_call ! Unconditional Trap /* 160 */
  39. .long exception_error ! reserved_instruction (filled by trap_init) /* 180 */
  40. .long exception_error ! illegal_slot_instruction (filled by trap_init) /*1A0*/
  41. ENTRY(nmi_slot)
  42. #if defined (CONFIG_KGDB_NMI)
  43. .long debug_enter /* 1C0 */ ! Allow trap to debugger
  44. #else
  45. .long exception_none /* 1C0 */ ! Not implemented yet
  46. #endif
  47. ENTRY(user_break_point_trap)
  48. .long break_point_trap /* 1E0 */
  49. /*
  50. * Pad the remainder of the table out, exceptions residing in far
  51. * away offsets can be manually inserted in to their appropriate
  52. * location via set_exception_table_{evt,vec}().
  53. */
  54. .balign 4096,0,4096