af65d64845
This makes x86_64's ia32 emulation support share the sources used in the 32-bit kernel for the 32-bit vDSO and much of its setup code. The 32-bit vDSO mapping now behaves the same on x86_64 as on native 32-bit. The abi.syscall32 sysctl on x86_64 now takes the same values that vm.vdso_enabled takes on the 32-bit kernel. That is, 1 means a randomized vDSO location, 2 means the fixed old address. The CONFIG_COMPAT_VDSO option is now available to make this the default setting, the same meaning it has for the 32-bit kernel. (This does not affect the 64-bit vDSO.) The argument vdso32=[012] can be used on both 32-bit and 64-bit kernels to set this paramter at boot time. The vdso=[012] argument still does this same thing on the 32-bit 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>
20 lines
395 B
ArmAsm
20 lines
395 B
ArmAsm
#include <linux/init.h>
|
|
|
|
__INITDATA
|
|
|
|
.globl vdso32_default_start, vdso32_default_end
|
|
vdso32_default_start:
|
|
#ifdef CONFIG_X86_32
|
|
.incbin "arch/x86/vdso/vdso32-int80.so"
|
|
#else
|
|
.incbin "arch/x86/vdso/vdso32-syscall.so"
|
|
#endif
|
|
vdso32_default_end:
|
|
|
|
.globl vdso32_sysenter_start, vdso32_sysenter_end
|
|
vdso32_sysenter_start:
|
|
.incbin "arch/x86/vdso/vdso32-sysenter.so"
|
|
vdso32_sysenter_end:
|
|
|
|
__FINIT
|