diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2019-11-12 01:03:16 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2019-11-16 13:23:59 +0300 |
commit | 2fff071d28b54f050f62654dad4ec111b8416d8e (patch) | |
tree | 03b6d5c3772dd8b9a9c445f03b58826d083720df /arch/x86/include/asm/switch_to.h | |
parent | 8c40397f22a4ff7996d3abdc2d9d1d90f9fc8054 (diff) | |
download | linux-2fff071d28b54f050f62654dad4ec111b8416d8e.tar.xz |
x86/process: Unify copy_thread_tls()
While looking at the TSS io bitmap it turned out that any change in that
area would require identical changes to copy_thread_tls(). The 32 and 64
bit variants share sufficient code to consolidate them into a common
function to avoid duplication of upcoming modifications.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: Andy Lutomirski <luto@kernel.org>
Diffstat (limited to 'arch/x86/include/asm/switch_to.h')
-rw-r--r-- | arch/x86/include/asm/switch_to.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/include/asm/switch_to.h b/arch/x86/include/asm/switch_to.h index 18a4b6890fa8..0e059b73437b 100644 --- a/arch/x86/include/asm/switch_to.h +++ b/arch/x86/include/asm/switch_to.h @@ -103,7 +103,17 @@ static inline void update_task_stack(struct task_struct *task) if (static_cpu_has(X86_FEATURE_XENPV)) load_sp0(task_top_of_stack(task)); #endif +} +static inline void kthread_frame_init(struct inactive_task_frame *frame, + unsigned long fun, unsigned long arg) +{ + frame->bx = fun; +#ifdef CONFIG_X86_32 + frame->di = arg; +#else + frame->r12 = arg; +#endif } #endif /* _ASM_X86_SWITCH_TO_H */ |