Просмотр исходного кода

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>
Andi Kleen 12 лет назад
Родитель
Сommit
35ea7903b8
3 измененных файлов с 4 добавлено и 4 удалено
  1. 2 2
      arch/x86/include/asm/switch_to.h
  2. 1 1
      arch/x86/kernel/process_32.c
  3. 1 1
      arch/x86/kernel/process_64.c

+ 2 - 2
arch/x86/include/asm/switch_to.h

@@ -2,8 +2,8 @@
 #define _ASM_X86_SWITCH_TO_H
 #define _ASM_X86_SWITCH_TO_H
 
 
 struct task_struct; /* one of the stranger aspects of C forward declarations */
 struct task_struct; /* one of the stranger aspects of C forward declarations */
-struct task_struct *__switch_to(struct task_struct *prev,
-				struct task_struct *next);
+__visible struct task_struct *__switch_to(struct task_struct *prev,
+					   struct task_struct *next);
 struct tss_struct;
 struct tss_struct;
 void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p,
 void __switch_to_xtra(struct task_struct *prev_p, struct task_struct *next_p,
 		      struct tss_struct *tss);
 		      struct tss_struct *tss);

+ 1 - 1
arch/x86/kernel/process_32.c

@@ -247,7 +247,7 @@ EXPORT_SYMBOL_GPL(start_thread);
  * the task-switch, and shows up in ret_from_fork in entry.S,
  * the task-switch, and shows up in ret_from_fork in entry.S,
  * for example.
  * for example.
  */
  */
-__notrace_funcgraph struct task_struct *
+__visible __notrace_funcgraph struct task_struct *
 __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
 __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
 {
 {
 	struct thread_struct *prev = &prev_p->thread,
 	struct thread_struct *prev = &prev_p->thread,

+ 1 - 1
arch/x86/kernel/process_64.c

@@ -274,7 +274,7 @@ void start_thread_ia32(struct pt_regs *regs, u32 new_ip, u32 new_sp)
  * Kprobes not supported here. Set the probe on schedule instead.
  * Kprobes not supported here. Set the probe on schedule instead.
  * Function graph tracer not supported too.
  * Function graph tracer not supported too.
  */
  */
-__notrace_funcgraph struct task_struct *
+__visible __notrace_funcgraph struct task_struct *
 __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
 __switch_to(struct task_struct *prev_p, struct task_struct *next_p)
 {
 {
 	struct thread_struct *prev = &prev_p->thread;
 	struct thread_struct *prev = &prev_p->thread;