aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/sysenter_32.c
diff options
context:
space:
mode:
authorRoland McGrath <roland@redhat.com>2008-01-30 07:30:42 -0500
committerIngo Molnar <mingo@elte.hu>2008-01-30 07:30:42 -0500
commit6c3652efcafa6a6d795093362cb4290c84994b5c (patch)
tree1587379f45a7145a64c3103b40e12b01c46ea559 /arch/x86/kernel/sysenter_32.c
parent0249c9c1e7505c2b020bcc6deaf1e0415de9943e (diff)
x86 vDSO: i386 vdso32
This makes the i386 kernel use the new vDSO build in arch/x86/vdso/vdso32/ to replace the old one from arch/x86/kernel/. Signed-off-by: Roland McGrath <roland@redhat.com> Cc: Andrew Morton <akpm@linux-foundation.org> Cc: Linus Torvalds <torvalds@linux-foundation.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/sysenter_32.c')
-rw-r--r--arch/x86/kernel/sysenter_32.c6
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/x86/kernel/sysenter_32.c b/arch/x86/kernel/sysenter_32.c
index 5a2d951e2608..85c52d23ee40 100644
--- a/arch/x86/kernel/sysenter_32.c
+++ b/arch/x86/kernel/sysenter_32.c
@@ -23,6 +23,7 @@
23#include <asm/unistd.h> 23#include <asm/unistd.h>
24#include <asm/elf.h> 24#include <asm/elf.h>
25#include <asm/tlbflush.h> 25#include <asm/tlbflush.h>
26#include <asm/vdso.h>
26 27
27enum { 28enum {
28 VDSO_DISABLED = 0, 29 VDSO_DISABLED = 0,
@@ -259,9 +260,6 @@ int __init sysenter_setup(void)
259 return 0; 260 return 0;
260} 261}
261 262
262/* Defined in vsyscall-sysenter.S */
263extern void SYSENTER_RETURN;
264
265/* Setup a VMA at program startup for the vsyscall page */ 263/* Setup a VMA at program startup for the vsyscall page */
266int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack) 264int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack)
267{ 265{
@@ -308,7 +306,7 @@ int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack)
308 306
309 current->mm->context.vdso = (void *)addr; 307 current->mm->context.vdso = (void *)addr;
310 current_thread_info()->sysenter_return = 308 current_thread_info()->sysenter_return =
311 (void *)VDSO_SYM(&SYSENTER_RETURN); 309 VDSO32_SYMBOL(addr, SYSENTER_RETURN);
312 310
313 up_fail: 311 up_fail:
314 up_write(&mm->mmap_sem); 312 up_write(&mm->mmap_sem);