interrupt.S 810 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * interrupt.S - trampoline default exceptions/interrupts to C handlers
  3. *
  4. * Copyright (c) 2005-2007 Analog Devices Inc.
  5. * Licensed under the GPL-2 or later.
  6. */
  7. #include <config.h>
  8. #include <asm/blackfin.h>
  9. #include <asm/entry.h>
  10. .text
  11. /* default entry point for exceptions */
  12. ENTRY(_trap)
  13. CONFIG_BFIN_SCRATCH_REG = sp;
  14. sp.l = LO(L1_SRAM_SCRATCH_END - 20);
  15. sp.h = HI(L1_SRAM_SCRATCH_END - 20);
  16. SAVE_ALL_SYS
  17. r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */
  18. sp += -12;
  19. call _trap_c;
  20. sp += 12;
  21. RESTORE_ALL_SYS
  22. sp = CONFIG_BFIN_SCRATCH_REG;
  23. rtx;
  24. ENDPROC(_trap)
  25. /* default entry point for interrupts */
  26. ENTRY(_evt_default)
  27. SAVE_ALL_SYS
  28. r0 = sp; /* stack frame pt_regs pointer argument ==> r0 */
  29. sp += -12;
  30. call _bfin_panic;
  31. sp += 12;
  32. RESTORE_ALL_SYS
  33. rti;
  34. ENDPROC(_evt_default)