diff options
author | Andi Kleen <ak@linux.intel.com> | 2013-08-05 18:02:39 -0400 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2013-08-06 17:18:30 -0400 |
commit | 35ea7903b8a97162e38da9da3b560df74713321d (patch) | |
tree | ecf6c69d177e9ec3b457a9a2c7db327ffeb2940c /arch | |
parent | a1ed4ddfb780910c1bb1e9df9cfc87454b607489 (diff) |
x86, asmlinkage: Make 32bit/64bit __switch_to visible
This function is called from inline assembler, so has to be visible.
Signed-off-by: Andi Kleen <ak@linux.intel.com>
Link: http://lkml.kernel.org/r/1375740170-7446-6-git-send-email-andi@firstfloor.org
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/x86/include/asm/switch_to.h | 4 | ||||
-rw-r--r-- | arch/x86/kernel/process_32.c | 2 | ||||
-rw-r--r-- | arch/x86/kernel/process_64.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/arch/x86/include/asm/switch_to.h b/arch/x86/include/asm/switch_to.h index 4ec45b3abba1..d7f3b3b78ac3 100644 --- a/arch/x86/include/asm/switch_to.h +++ b/arch/x86/include/asm/switch_to.h | |||
@@ -2,8 +2,8 @@ | |||
2 | #define _ASM_X86_SWITCH_TO_H | 2 | #define _ASM_X86_SWITCH_TO_H |
3 | 3 | ||
4 | struct task_struct; /* one of the stranger aspects of C forward declarations */ | 4 | struct task_struct; /* one of the stranger aspects of C forward declarations */ |
5 | struct task_struct *__switch_to(struct task_struct *prev, | 5 | __visible struct task_struct *__switch_to(struct task_struct *prev, |
6 | struct task_struct *next); | 6 | struct task_struct *next); |
7 | struct tss_struct; | 7 | struct tss_struct; |
8 | void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p, | 8 | void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p, |
9 | struct tss_struct *tss); | 9 | struct tss_struct *tss); |
diff --git a/arch/x86/kernel/process_32.c b/arch/x86/kernel/process_32.c index f8adefca71dc..884f98f69354 100644 --- a/arch/x86/kernel/process_32.c +++ b/arch/x86/kernel/process_32.c | |||
@@ -247,7 +247,7 @@ EXPORT_SYMBOL_GPL(start_thread); | |||
247 | * the task-switch, and shows up in ret_from_fork in entry.S, | 247 | * the task-switch, and shows up in ret_from_fork in entry.S, |
248 | * for example. | 248 | * for example. |
249 | */ | 249 | */ |
250 | __notrace_funcgraph struct task_struct * | 250 | __visible __notrace_funcgraph struct task_struct * |
251 | __switch_to(struct task_struct *prev_p, struct task_struct *next_p) | 251 | __switch_to(struct task_struct *prev_p, struct task_struct *next_p) |
252 | { | 252 | { |
253 | struct thread_struct *prev = &prev_p->thread, | 253 | struct thread_struct *prev = &prev_p->thread, |
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c index 05646bab4ca6..6e8c1d02ab4b 100644 --- a/arch/x86/kernel/process_64.c +++ b/arch/x86/kernel/process_64.c | |||
@@ -274,7 +274,7 @@ void start_thread_ia32(struct pt_regs *regs, u32 new_ip, u32 new_sp) | |||
274 | * Kprobes not supported here. Set the probe on schedule instead. | 274 | * Kprobes not supported here. Set the probe on schedule instead. |
275 | * Function graph tracer not supported too. | 275 | * Function graph tracer not supported too. |
276 | */ | 276 | */ |
277 | __notrace_funcgraph struct task_struct * | 277 | __visible __notrace_funcgraph struct task_struct * |
278 | __switch_to(struct task_struct *prev_p, struct task_struct *next_p) | 278 | __switch_to(struct task_struct *prev_p, struct task_struct *next_p) |
279 | { | 279 | { |
280 | struct thread_struct *prev = &prev_p->thread; | 280 | struct thread_struct *prev = &prev_p->thread; |