diff options
author | Andy Lutomirski <luto@amacapital.net> | 2014-05-05 12:19:35 -0700 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2014-05-05 13:18:56 -0700 |
commit | 18d0a6fd227177fd243993179c90e454d0638b06 (patch) | |
tree | 2060813e42652ac16fe6e3e2eb84f60dc60c4dfe /arch/x86/vdso/vdso2c.c | |
parent | 6f121e548f83674ab4920a4e60afb58d4f61b829 (diff) |
x86, vdso: Move the 32-bit vdso special pages after the text
This unifies the vdso mapping code and teaches it how to map special
pages at addresses corresponding to symbols in the vdso image. The
new code is used for all vdso variants, but so far only the 32-bit
variants use the new vvar page position.
Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Link: http://lkml.kernel.org/r/b6d7858ad7b5ac3fd3c29cab6d6d769bc45d195e.1399317206.git.luto@amacapital.net
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/vdso/vdso2c.c')
-rw-r--r-- | arch/x86/vdso/vdso2c.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/arch/x86/vdso/vdso2c.c b/arch/x86/vdso/vdso2c.c index 976e8e4ced9..81edd1ec9df 100644 --- a/arch/x86/vdso/vdso2c.c +++ b/arch/x86/vdso/vdso2c.c @@ -15,7 +15,21 @@ #include <linux/types.h> /* Symbols that we need in vdso2c. */ +enum { + sym_vvar_page, + sym_hpet_page, + sym_end_mapping, +}; + +const int special_pages[] = { + sym_vvar_page, + sym_hpet_page, +}; + char const * const required_syms[] = { + [sym_vvar_page] = "vvar_page", + [sym_hpet_page] = "hpet_page", + [sym_end_mapping] = "end_mapping", "VDSO32_NOTE_MASK", "VDSO32_SYSENTER_RETURN", "__kernel_vsyscall", |