entry-macros.S 457 B

123456789101112131415161718192021222324252627282930313233
  1. ! entry.S macro define
  2. .macro cli
  3. stc sr, r0
  4. or #0xf0, r0
  5. ldc r0, sr
  6. .endm
  7. .macro sti
  8. mov #0xf0, r11
  9. extu.b r11, r11
  10. not r11, r11
  11. stc sr, r10
  12. and r11, r10
  13. #ifdef CONFIG_HAS_SR_RB
  14. stc k_g_imask, r11
  15. or r11, r10
  16. #endif
  17. ldc r10, sr
  18. .endm
  19. .macro get_current_thread_info, ti, tmp
  20. #ifdef CONFIG_HAS_SR_RB
  21. stc r7_bank, \ti
  22. #else
  23. mov #((THREAD_SIZE - 1) >> 10) ^ 0xff, \tmp
  24. shll8 \tmp
  25. shll2 \tmp
  26. mov r15, \ti
  27. and \tmp, \ti
  28. #endif
  29. .endm