Greg Kroah-Hartman | b244131 | 2017-11-01 15:07:57 +0100 | [diff] [blame] | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 2 | #ifndef _ASM_X86_CURRENT_H |
| 3 | #define _ASM_X86_CURRENT_H |
Christoph Lameter | f076644 | 2008-05-09 19:09:48 -0700 | [diff] [blame] | 4 | |
Christoph Lameter | f076644 | 2008-05-09 19:09:48 -0700 | [diff] [blame] | 5 | #include <linux/compiler.h> |
| 6 | #include <asm/percpu.h> |
| 7 | |
Brian Gerst | c6f5e0a | 2009-01-19 00:38:58 +0900 | [diff] [blame] | 8 | #ifndef __ASSEMBLY__ |
Christoph Lameter | f076644 | 2008-05-09 19:09:48 -0700 | [diff] [blame] | 9 | struct task_struct; |
| 10 | |
| 11 | DECLARE_PER_CPU(struct task_struct *, current_task); |
Brian Gerst | c6f5e0a | 2009-01-19 00:38:58 +0900 | [diff] [blame] | 12 | |
Christoph Lameter | f076644 | 2008-05-09 19:09:48 -0700 | [diff] [blame] | 13 | static __always_inline struct task_struct *get_current(void) |
| 14 | { |
Alex Shi | c6ae41e | 2012-05-11 15:35:27 +0800 | [diff] [blame] | 15 | return this_cpu_read_stable(current_task); |
Christoph Lameter | f076644 | 2008-05-09 19:09:48 -0700 | [diff] [blame] | 16 | } |
| 17 | |
Brian Gerst | c6f5e0a | 2009-01-19 00:38:58 +0900 | [diff] [blame] | 18 | #define current get_current() |
Christoph Lameter | f076644 | 2008-05-09 19:09:48 -0700 | [diff] [blame] | 19 | |
| 20 | #endif /* __ASSEMBLY__ */ |
| 21 | |
H. Peter Anvin | 1965aae | 2008-10-22 22:26:29 -0700 | [diff] [blame] | 22 | #endif /* _ASM_X86_CURRENT_H */ |