preempt.h 415 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #if ARCH(X86_64)
  3. #include <arch/x86_64/current.h>
  4. #else
  5. #error Unsupported architecture!
  6. #endif
  7. #include "proc-types.h"
  8. /**
  9. * @brief 增加自旋锁计数变量
  10. *
  11. */
  12. #define preempt_disable() \
  13. do \
  14. { \
  15. ++(current_pcb->preempt_count);\
  16. } while (0)
  17. /**
  18. * @brief 减少自旋锁计数变量
  19. *
  20. */
  21. #define preempt_enable() \
  22. do \
  23. { \
  24. --(current_pcb->preempt_count);\
  25. }while(0)