svn commit: r237435 - in head/sys/i386: i386 include

Konstantin Belousov kib at FreeBSD.org
Fri Jun 22 07:16:30 UTC 2012


Author: kib
Date: Fri Jun 22 07:16:29 2012
New Revision: 237435
URL: http://svn.freebsd.org/changeset/base/237435

Log:
  Enable shared page on i386, now it has a use for vdso_timehands.
  
  MFC after:	1 month

Modified:
  head/sys/i386/i386/elf_machdep.c
  head/sys/i386/include/vmparam.h

Modified: head/sys/i386/i386/elf_machdep.c
==============================================================================
--- head/sys/i386/i386/elf_machdep.c	Fri Jun 22 07:13:30 2012	(r237434)
+++ head/sys/i386/i386/elf_machdep.c	Fri Jun 22 07:16:29 2012	(r237435)
@@ -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,

Modified: head/sys/i386/include/vmparam.h
==============================================================================
--- head/sys/i386/include/vmparam.h	Fri Jun 22 07:13:30 2012	(r237434)
+++ head/sys/i386/include/vmparam.h	Fri Jun 22 07:16:29 2012	(r237435)
@@ -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)


More information about the svn-src-head mailing list