ex.S 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * arch/sh/kernel/cpu/sh4/ex.S
  3. *
  4. * The 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. */
  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. #if defined(CONFIG_SH_FPU)
  37. .long do_fpu_error /* 120 */
  38. #else
  39. .long exception_error /* 120 */
  40. #endif
  41. .long exception_error /* 140 */
  42. .long system_call ! Unconditional Trap /* 160 */
  43. .long exception_error ! reserved_instruction (filled by trap_init) /* 180 */
  44. .long exception_error ! illegal_slot_instruction (filled by trap_init) /*1A0*/
  45. ENTRY(nmi_slot)
  46. #if defined (CONFIG_KGDB_NMI)
  47. .long debug_enter /* 1C0 */ ! Allow trap to debugger
  48. #else
  49. .long exception_none /* 1C0 */ ! Not implemented yet
  50. #endif
  51. ENTRY(user_break_point_trap)
  52. .long break_point_trap /* 1E0 */
  53. /*
  54. * Pad the remainder of the table out, exceptions residing in far
  55. * away offsets can be manually inserted in to their appropriate
  56. * location via set_exception_table_{evt,vec}().
  57. */
  58. .balign 4096,0,4096