diff options
author | kib <kib@FreeBSD.org> | 2012-06-22 07:16:29 +0000 |
---|---|---|
committer | kib <kib@FreeBSD.org> | 2012-06-22 07:16:29 +0000 |
commit | 5fe723f6f98a804f72835a270b407c1216e03ec4 (patch) | |
tree | dd3eb61d571288a9c638a65afbd3b51d9d153061 /sys/i386 | |
parent | 13a9f42818f6b89a72b3e40923be809b490400d8 (diff) | |
download | FreeBSD-src-5fe723f6f98a804f72835a270b407c1216e03ec4.zip FreeBSD-src-5fe723f6f98a804f72835a270b407c1216e03ec4.tar.gz |
Enable shared page on i386, now it has a use for vdso_timehands.
MFC after: 1 month
Diffstat (limited to 'sys/i386')
-rw-r--r-- | sys/i386/i386/elf_machdep.c | 5 | ||||
-rw-r--r-- | sys/i386/include/vmparam.h | 3 |
2 files changed, 6 insertions, 2 deletions
diff --git a/sys/i386/i386/elf_machdep.c b/sys/i386/i386/elf_machdep.c index a782445..034b4c4 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 56ab4b3..ce6672d 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) |