From 09478d838782514fa89882f8e9f108602ddf480a Mon Sep 17 00:00:00 2001 From: Richard Weinberger Date: Mon, 25 Jul 2011 17:12:54 -0700 Subject: [PATCH] --- yaml --- r: 258991 b: refs/heads/master c: fc9a00187ba1300a0baae8e613cc62598e1a7de7 h: refs/heads/master i: 258989: d4e7f9844acfce334a2c3f5f737d5d39256521bc 258987: 8eca5d4878a9a715417aa799a41822f2260992d3 258983: f5d0b0ffa7d5f0bdc700c8af0103f843ce897f04 258975: 63a72844a5d51e64d2a867718be88dfc2baa3b92 v: v3 --- [refs] | 2 +- trunk/arch/um/sys-x86_64/Makefile | 2 +- trunk/arch/um/sys-x86_64/asm/elf.h | 10 ++++++++++ trunk/arch/um/sys-x86_64/mem.c | 26 ++++++++++++++++++++++++++ 4 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 trunk/arch/um/sys-x86_64/mem.c diff --git a/[refs] b/[refs] index 4af740fa2807..831cb7934204 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 548f0a4e02f6fa33278e77a2a6477cdeb512317f +refs/heads/master: fc9a00187ba1300a0baae8e613cc62598e1a7de7 diff --git a/trunk/arch/um/sys-x86_64/Makefile b/trunk/arch/um/sys-x86_64/Makefile index 4f9563784d61..bf2fe83b46b1 100644 --- a/trunk/arch/um/sys-x86_64/Makefile +++ b/trunk/arch/um/sys-x86_64/Makefile @@ -4,7 +4,7 @@ # Licensed under the GPL # -obj-y = bug.o bugs.o delay.o fault.o ldt.o ptrace.o ptrace_user.o \ +obj-y = bug.o bugs.o delay.o fault.o ldt.o ptrace.o ptrace_user.o mem.o \ setjmp.o signal.o stub.o stub_segv.o syscalls.o syscall_table.o \ sysrq.o ksyms.o tls.o diff --git a/trunk/arch/um/sys-x86_64/asm/elf.h b/trunk/arch/um/sys-x86_64/asm/elf.h index d6d5af376251..11a2bfb38859 100644 --- a/trunk/arch/um/sys-x86_64/asm/elf.h +++ b/trunk/arch/um/sys-x86_64/asm/elf.h @@ -119,4 +119,14 @@ extern long elf_aux_hwcap; #define SET_PERSONALITY(ex) do ; while(0) +#define __HAVE_ARCH_GATE_AREA 1 +#define ARCH_HAS_SETUP_ADDITIONAL_PAGES 1 +struct linux_binprm; +extern int arch_setup_additional_pages(struct linux_binprm *bprm, + int uses_interp); + +extern unsigned long um_vdso_addr; +#define AT_SYSINFO_EHDR 33 +#define ARCH_DLINFO NEW_AUX_ENT(AT_SYSINFO_EHDR, um_vdso_addr) + #endif diff --git a/trunk/arch/um/sys-x86_64/mem.c b/trunk/arch/um/sys-x86_64/mem.c new file mode 100644 index 000000000000..546518727a73 --- /dev/null +++ b/trunk/arch/um/sys-x86_64/mem.c @@ -0,0 +1,26 @@ +#include "linux/mm.h" +#include "asm/page.h" +#include "asm/mman.h" + +const char *arch_vma_name(struct vm_area_struct *vma) +{ + if (vma->vm_mm && vma->vm_start == um_vdso_addr) + return "[vdso]"; + + return NULL; +} + +struct vm_area_struct *get_gate_vma(struct mm_struct *mm) +{ + return NULL; +} + +int in_gate_area(struct mm_struct *mm, unsigned long addr) +{ + return 0; +} + +int in_gate_area_no_mm(unsigned long addr) +{ + return 0; +}