ex.S 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. /*
  2. * arch/sh/kernel/cpu/sh3/ex.S
  3. *
  4. * The SH-3 and SH-4 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. #include <linux/linkage.h>
  13. .align 2
  14. .data
  15. ENTRY(exception_handling_table)
  16. .long exception_error /* 000 */
  17. .long exception_error
  18. #if defined(CONFIG_MMU)
  19. .long tlb_miss_load /* 040 */
  20. .long tlb_miss_store
  21. .long initial_page_write
  22. .long tlb_protection_violation_load
  23. .long tlb_protection_violation_store
  24. .long address_error_load
  25. .long address_error_store /* 100 */
  26. #else
  27. .long exception_error ! tlb miss load /* 040 */
  28. .long exception_error ! tlb miss store
  29. .long exception_error ! initial page write
  30. .long exception_error ! tlb prot violation load
  31. .long exception_error ! tlb prot violation store
  32. .long exception_error ! address error load
  33. .long exception_error ! address error store /* 100 */
  34. #endif
  35. #if defined(CONFIG_SH_FPU)
  36. .long do_fpu_error /* 120 */
  37. #else
  38. .long exception_error /* 120 */
  39. #endif
  40. .long exception_error /* 140 */
  41. .long system_call ! Unconditional Trap /* 160 */
  42. .long exception_error ! reserved_instruction (filled by trap_init) /* 180 */
  43. .long exception_error ! illegal_slot_instruction (filled by trap_init) /*1A0*/
  44. ENTRY(nmi_slot)
  45. #if defined (CONFIG_KGDB_NMI)
  46. .long debug_enter /* 1C0 */ ! Allow trap to debugger
  47. #else
  48. .long exception_none /* 1C0 */ ! Not implemented yet
  49. #endif
  50. ENTRY(user_break_point_trap)
  51. .long break_point_trap /* 1E0 */
  52. /*
  53. * Pad the remainder of the table out, exceptions residing in far
  54. * away offsets can be manually inserted in to their appropriate
  55. * location via set_exception_table_{evt,vec}().
  56. */
  57. .balign 4096,0,4096