diff options
author | Roland McGrath <roland@redhat.com> | 2008-01-30 07:30:42 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 07:30:42 -0500 |
commit | 6c3652efcafa6a6d795093362cb4290c84994b5c (patch) | |
tree | 1587379f45a7145a64c3103b40e12b01c46ea559 /arch/x86/kernel/sysenter_32.c | |
parent | 0249c9c1e7505c2b020bcc6deaf1e0415de9943e (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.c | 6 |
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 | ||
27 | enum { | 28 | enum { |
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 */ | ||
263 | extern 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 */ |
266 | int arch_setup_additional_pages(struct linux_binprm *bprm, int exstack) | 264 | int 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); |