kgdb_jmp.S 466 B

123456789101112131415161718192021222324252627282930313233
  1. #include <linux/linkage.h>
  2. ENTRY(setjmp)
  3. add #(9*4), r4
  4. sts.l pr, @-r4
  5. mov.l r15, @-r4
  6. mov.l r14, @-r4
  7. mov.l r13, @-r4
  8. mov.l r12, @-r4
  9. mov.l r11, @-r4
  10. mov.l r10, @-r4
  11. mov.l r9, @-r4
  12. mov.l r8, @-r4
  13. rts
  14. mov #0, r0
  15. ENTRY(longjmp)
  16. mov.l @r4+, r8
  17. mov.l @r4+, r9
  18. mov.l @r4+, r10
  19. mov.l @r4+, r11
  20. mov.l @r4+, r12
  21. mov.l @r4+, r13
  22. mov.l @r4+, r14
  23. mov.l @r4+, r15
  24. lds.l @r4+, pr
  25. mov r5, r0
  26. tst r0, r0
  27. bf 1f
  28. mov #1, r0 ! in case val==0
  29. 1: rts
  30. nop