Commit d5638c5c authored by Linus Torvalds's avatar Linus Torvalds

Export the 'vsyscall' address to user space with the AT_SYSINFO

elf AUX-table entry.

Move the 'vsyscall' page to 0xffffe000, leaving a hole at the top
of the address space.
parent bc2b47d9
...@@ -232,7 +232,7 @@ need_resched: ...@@ -232,7 +232,7 @@ need_resched:
#endif #endif
/* Points to after the "sysenter" instruction in the vsyscall page */ /* Points to after the "sysenter" instruction in the vsyscall page */
#define SYSENTER_RETURN 0xfffff007 #define SYSENTER_RETURN 0xffffe007
# sysenter call handler stub # sysenter call handler stub
ALIGN ALIGN
......
...@@ -100,6 +100,12 @@ typedef struct user_fxsr_struct elf_fpxregset_t; ...@@ -100,6 +100,12 @@ typedef struct user_fxsr_struct elf_fpxregset_t;
#define ELF_PLATFORM (system_utsname.machine) #define ELF_PLATFORM (system_utsname.machine)
/*
* Architecture-neutral AT_ values in 0-17, leave some room
* for more of them, start the x86-specific ones at 32.
*/
#define AT_SYSINFO 32
#ifdef __KERNEL__ #ifdef __KERNEL__
#define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) #define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX)
...@@ -116,6 +122,11 @@ extern void dump_smp_unlazy_fpu(void); ...@@ -116,6 +122,11 @@ extern void dump_smp_unlazy_fpu(void);
#define ELF_CORE_SYNC dump_smp_unlazy_fpu #define ELF_CORE_SYNC dump_smp_unlazy_fpu
#endif #endif
#define ARCH_DLINFO \
do { \
NEW_AUX_ENT(AT_SYSINFO, 0xffffe000); \
} while (0)
#endif #endif
#endif #endif
...@@ -42,8 +42,8 @@ ...@@ -42,8 +42,8 @@
* task switches. * task switches.
*/ */
enum fixed_addresses { enum fixed_addresses {
FIX_VSYSCALL,
FIX_HOLE, FIX_HOLE,
FIX_VSYSCALL,
#ifdef CONFIG_X86_LOCAL_APIC #ifdef CONFIG_X86_LOCAL_APIC
FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */ FIX_APIC_BASE, /* local (CPU) APIC) -- required for SMP or not */
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment