1 From a05af27aec00eacf533ff111ba8eb3dec328d9af Mon Sep 17 00:00:00 2001
2 From: Kurt Mahan <kmahan@freescale.com>
3 Date: Thu, 22 May 2008 11:20:53 -0600
4 Subject: [PATCH] Initial vDSO header changes.
6 LTIBName: mcfv4e-vdso-headers
7 Signed-off-by: Kurt Mahan <kmahan@freescale.com>
9 include/asm-m68k/auxvec.h | 9 +++++++++
10 include/asm-m68k/elf.h | 31 +++++++++++++++++++++++++++++++
11 include/asm-m68k/page.h | 5 +++++
12 3 files changed, 45 insertions(+), 0 deletions(-)
14 --- a/include/asm-m68k/auxvec.h
15 +++ b/include/asm-m68k/auxvec.h
17 #ifndef __ASMm68k_AUXVEC_H
18 #define __ASMm68k_AUXVEC_H
20 + * Architecture-neutral AT_ values in 0-17, leave some room
24 +#ifdef CONFIG_VSYSCALL
25 +/* Entry point to the vsyscall page */
26 +#define AT_SYSINFO_EHDR 33
30 --- a/include/asm-m68k/elf.h
31 +++ b/include/asm-m68k/elf.h
32 @@ -136,4 +136,35 @@ typedef struct user_m68kfp_struct elf_fp
34 #define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX)
39 +#ifdef CONFIG_VSYSCALL
40 +extern unsigned int vdso_enabled;
42 +#define VDSO_BASE ((unsigned long)current->mm->context.vdso)
43 +#define VDSO_SYM(x) (VDSO_BASE + (unsigned long)(x))
45 +#define VSYSCALL_AUX_ENT \
47 + NEW_AUX_ENT(AT_SYSINFO_EHDR, VDSO_BASE);
49 +/* additional pages */
50 +#define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1
53 +extern int arch_setup_additional_pages(struct linux_binprm *bprm,
54 + int executable_stack);
57 +/* no VSYSCALL_AUX_ENT */
58 +#define VSYSCALL_AUX_ENT
61 +#define ARCH_DLINFO \
63 + /* vsyscall entry */ \
68 --- a/include/asm-m68k/page.h
69 +++ b/include/asm-m68k/page.h
70 @@ -252,4 +252,9 @@ static inline __attribute_const__ int __
72 #include <asm-generic/page.h>
74 +#ifdef CONFIG_VSYSCALL
76 +#define __HAVE_ARCH_GATE_AREA
79 #endif /* _M68K_PAGE_H */