From d69ae4126b9b81928fccb50c515b5c9d3bf5e179 Mon Sep 17 00:00:00 2001 From: Konstantin Belousov Date: Fri, 22 Jun 2012 07:16:29 +0000 Subject: Enable shared page on i386, now it has a use for vdso_timehands. MFC after: 1 month --- sys/i386/i386/elf_machdep.c | 5 ++++- sys/i386/include/vmparam.h | 3 ++- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'sys/i386') diff --git a/sys/i386/i386/elf_machdep.c b/sys/i386/i386/elf_machdep.c index a782445acd89..034b4c47d877 100644 --- a/sys/i386/i386/elf_machdep.c +++ b/sys/i386/i386/elf_machdep.c @@ -74,12 +74,15 @@ struct sysentvec elf32_freebsd_sysvec = { .sv_setregs = exec_setregs, .sv_fixlimit = NULL, .sv_maxssiz = NULL, - .sv_flags = SV_ABI_FREEBSD | SV_IA32 | SV_ILP32, + .sv_flags = SV_ABI_FREEBSD | SV_IA32 | SV_ILP32 | SV_SHP, .sv_set_syscall_retval = cpu_set_syscall_retval, .sv_fetch_syscall_args = cpu_fetch_syscall_args, .sv_syscallnames = syscallnames, + .sv_shared_page_base = SHAREDPAGE, + .sv_shared_page_len = PAGE_SIZE, .sv_schedtail = NULL, }; +INIT_SYSENTVEC(elf32_sysvec, &elf32_freebsd_sysvec); static Elf32_Brandinfo freebsd_brand_info = { .brand = ELFOSABI_FREEBSD, diff --git a/sys/i386/include/vmparam.h b/sys/i386/include/vmparam.h index 56ab4b3ddaba..ce6672d4ece7 100644 --- a/sys/i386/include/vmparam.h +++ b/sys/i386/include/vmparam.h @@ -165,7 +165,8 @@ #define VM_MAXUSER_ADDRESS VADDR(PTDPTDI, 0) -#define USRSTACK VM_MAXUSER_ADDRESS +#define SHAREDPAGE (VM_MAXUSER_ADDRESS - PAGE_SIZE) +#define USRSTACK SHAREDPAGE #define VM_MAX_ADDRESS VADDR(PTDPTDI, PTDPTDI) #define VM_MIN_ADDRESS ((vm_offset_t)0) -- cgit v1.2.3