10 #include <linux/kernel.h>
12 #include <linux/sched.h>
15 #include <linux/binfmts.h>
16 #include <linux/elf.h>
26 #define __NR_O32_sigreturn 4119
27 #define __NR_O32_rt_sigreturn 4193
28 #define __NR_N32_rt_sigreturn 6211
30 static struct page *vdso_page;
32 static void __init install_trampoline(
u32 *
tramp,
unsigned int sigreturn)
34 uasm_i_addiu(&tramp, 2, 0, sigreturn);
35 uasm_i_syscall(&tramp, 0);
38 static int __init init_vdso(
void)
44 panic(
"Cannot allocate vdso");
46 vdso =
vmap(&vdso_page, 1, 0, PAGE_KERNEL);
48 panic(
"Cannot map vdso");
68 static unsigned long vdso_addr(
unsigned long start)
91 VM_MAYREAD|VM_MAYWRITE|VM_MAYEXEC,