OSDN Git Service

x86: Load the 32-bit vdso in place, just like the 64-bit vdsos
authorAndy Lutomirski <luto@amacapital.net>
Thu, 20 Mar 2014 22:01:21 +0000 (15:01 -0700)
committerH. Peter Anvin <hpa@linux.intel.com>
Thu, 20 Mar 2014 22:19:14 +0000 (15:19 -0700)
commitb67e612cef1e5964efc6fa99fb7ad3d31c4db01a
treec037de472a7e20c143dc3ca05e3f9327dc917d09
parent4e40112c4ff6a577dd06d92b2a54cdf06265bf74
x86: Load the 32-bit vdso in place, just like the 64-bit vdsos

This replaces a decent amount of incomprehensible and buggy code
with much more straightforward code.  It also brings the 32-bit vdso
more in line with the 64-bit vdsos, so maybe someday they can share
even more code.

This wastes a small amount of kernel .data and .text space, but it
avoids a couple of allocations on startup, so it should be more or
less a wash memory-wise.

Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Cc: Stefani Seibold <stefani@seibold.net>
Link: http://lkml.kernel.org/r/b8093933fad09ce181edb08a61dcd5d2592e9814.1395352498.git.luto@amacapital.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
arch/x86/include/asm/vdso.h
arch/x86/vdso/vdso.S
arch/x86/vdso/vdso32-setup.c
arch/x86/vdso/vdso32.S
arch/x86/vdso/vdso_image.h [new file with mode: 0644]
arch/x86/vdso/vdsox32.S
arch/x86/vdso/vma.c