current.h 848 B

12345678910111213141516171819202122232425262728293031
  1. /*
  2. * include/asm-sparc/current.h
  3. *
  4. * Copyright (C) 1999 IBM Deutschland Entwicklung GmbH, IBM Corporation
  5. * Copyright (C) 2002 Pete Zaitcev (zaitcev@yahoo.com)
  6. *
  7. * Derived from "include/asm-s390/current.h" by
  8. * Martin Schwidefsky (schwidefsky@de.ibm.com)
  9. * Derived from "include/asm-i386/current.h"
  10. */
  11. #ifndef _ASM_CURRENT_H
  12. #define _ASM_CURRENT_H
  13. /*
  14. * At the sparc64 DaveM keeps current_thread_info in %g4.
  15. * We might want to consider doing the same to shave a few cycles.
  16. */
  17. #include <linux/thread_info.h>
  18. struct task_struct;
  19. /* Two stage process (inline + #define) for type-checking. */
  20. /* We also obfuscate get_current() to check if anyone used that by mistake. */
  21. static inline struct task_struct *__get_current(void)
  22. {
  23. return current_thread_info()->task;
  24. }
  25. #define current __get_current()
  26. #endif /* !(_ASM_CURRENT_H) */