Module Name: src
Committed By: reinoud
Date: Sat Jun 30 15:03:58 UTC 2012
Modified Files:
src/distrib/sets/lists/modules: md.amd64 md.i386
src/etc/etc.amd64: Makefile.inc
src/etc/etc.i386: Makefile.inc
src/sys/arch/usermode/conf: Makefile.usermode
src/sys/modules: Makefile
Added Files:
src/sys/arch/amd64/conf: GENERIC_USERMODE
src/sys/arch/i386/conf: GENERIC_USERMODE
Removed Files:
src/sys/arch/usermode/conf: GENERIC.amd64 GENERIC.i386
Log Message:
Move i386 and amd64 usermode configurations to their respective directories
and make the usermode kernels buildalbe under build.sh.
The resulting kernels are build and packaged correctly as are the associated
modules.
To generate a diff of this commit:
cvs rdiff -u -r1.32 -r1.33 src/distrib/sets/lists/modules/md.amd64
cvs rdiff -u -r1.38 -r1.39 src/distrib/sets/lists/modules/md.i386
cvs rdiff -u -r1.12 -r1.13 src/etc/etc.amd64/Makefile.inc
cvs rdiff -u -r1.65 -r1.66 src/etc/etc.i386/Makefile.inc
cvs rdiff -u -r0 -r1.1 src/sys/arch/amd64/conf/GENERIC_USERMODE
cvs rdiff -u -r0 -r1.1 src/sys/arch/i386/conf/GENERIC_USERMODE
cvs rdiff -u -r1.3 -r0 src/sys/arch/usermode/conf/GENERIC.amd64
cvs rdiff -u -r1.5 -r0 src/sys/arch/usermode/conf/GENERIC.i386
cvs rdiff -u -r1.31 -r1.32 src/sys/arch/usermode/conf/Makefile.usermode
cvs rdiff -u -r1.106 -r1.107 src/sys/modules/Makefile
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/distrib/sets/lists/modules/md.amd64
diff -u src/distrib/sets/lists/modules/md.amd64:1.32 src/distrib/sets/lists/modules/md.amd64:1.33
--- src/distrib/sets/lists/modules/md.amd64:1.32 Tue Jan 17 16:59:37 2012
+++ src/distrib/sets/lists/modules/md.amd64 Sat Jun 30 15:03:56 2012
@@ -1,4 +1,4 @@
-# $NetBSD: md.amd64,v 1.32 2012/01/17 16:59:37 jakllsch Exp $
+# $NetBSD: md.amd64,v 1.33 2012/06/30 15:03:56 reinoud Exp $
./@MODULEDIR@/acpiacad base-kernel-modules kmod
./@MODULEDIR@/acpiacad/acpiacad.kmod base-kernel-modules kmod
./@MODULEDIR@/acpibat base-kernel-modules kmod
@@ -101,6 +101,8 @@
./@MODULEDIR@/powernow/powernow.kmod base-kernel-modules kmod
./@MODULEDIR@/pwdog base-kernel-modules kmod
./@MODULEDIR@/pwdog/pwdog.kmod base-kernel-modules kmod
+./@MODULEDIR@/syscallemu base-kernel-modules kmod
+./@MODULEDIR@/syscallemu/syscallemu.kmod base-kernel-modules kmod
./@MODULEDIR@/thinkpad base-kernel-modules kmod
./@MODULEDIR@/thinkpad/thinkpad.kmod base-kernel-modules kmod
./@MODULEDIR@/tprof_amdpmi base-kernel-modules kmod
Index: src/distrib/sets/lists/modules/md.i386
diff -u src/distrib/sets/lists/modules/md.i386:1.38 src/distrib/sets/lists/modules/md.i386:1.39
--- src/distrib/sets/lists/modules/md.i386:1.38 Tue Jan 17 16:59:38 2012
+++ src/distrib/sets/lists/modules/md.i386 Sat Jun 30 15:03:56 2012
@@ -1,4 +1,4 @@
-# $NetBSD: md.i386,v 1.38 2012/01/17 16:59:38 jakllsch Exp $
+# $NetBSD: md.i386,v 1.39 2012/06/30 15:03:56 reinoud Exp $
./@MODULEDIR@/acpiacad base-kernel-modules kmod
./@MODULEDIR@/acpiacad/acpiacad.kmod base-kernel-modules kmod
./@MODULEDIR@/acpibat base-kernel-modules kmod
@@ -121,6 +121,8 @@
./@MODULEDIR@/savagedrm/savagedrm.kmod base-kernel-modules kmod
./@MODULEDIR@/sisdrm base-kernel-modules kmod
./@MODULEDIR@/sisdrm/sisdrm.kmod base-kernel-modules kmod
+./@MODULEDIR@/syscallemu base-kernel-modules kmod
+./@MODULEDIR@/syscallemu/syscallemu.kmod base-kernel-modules kmod
./@MODULEDIR@/tdfxdrm base-kernel-modules kmod
./@MODULEDIR@/tdfxdrm/tdfxdrm.kmod base-kernel-modules kmod
./@MODULEDIR@/thinkpad base-kernel-modules kmod
Index: src/etc/etc.amd64/Makefile.inc
diff -u src/etc/etc.amd64/Makefile.inc:1.12 src/etc/etc.amd64/Makefile.inc:1.13
--- src/etc/etc.amd64/Makefile.inc:1.12 Tue Jan 18 00:22:56 2011
+++ src/etc/etc.amd64/Makefile.inc Sat Jun 30 15:03:57 2012
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.12 2011/01/18 00:22:56 jym Exp $
+# $NetBSD: Makefile.inc,v 1.13 2012/06/30 15:03:57 reinoud Exp $
#
# etc.amd64/Makefile.inc -- amd64-specific etc Makefile targets
#
@@ -8,6 +8,7 @@
KERNEL_SETS= GENERIC
KERNEL_SETS+= XEN3_DOM0 XEN3_DOMU
+KERNEL_SETS+= GENERIC_USERMODE
BUILD_KERNELS= INSTALL INSTALL_XEN3_DOMU
Index: src/etc/etc.i386/Makefile.inc
diff -u src/etc/etc.i386/Makefile.inc:1.65 src/etc/etc.i386/Makefile.inc:1.66
--- src/etc/etc.i386/Makefile.inc:1.65 Thu Feb 10 00:43:20 2011
+++ src/etc/etc.i386/Makefile.inc Sat Jun 30 15:03:57 2012
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.inc,v 1.65 2011/02/10 00:43:20 jym Exp $
+# $NetBSD: Makefile.inc,v 1.66 2012/06/30 15:03:57 reinoud Exp $
#
# etc.i386/Makefile.inc -- i386-specific etc Makefile targets
#
@@ -12,6 +12,7 @@ KERNEL_SETS+= XEN3_DOM0
KERNEL_SETS+= XEN3_DOMU
KERNEL_SETS+= XEN3PAE_DOM0
KERNEL_SETS+= XEN3PAE_DOMU
+KERNEL_SETS+= GENERIC_USERMODE
# KERNEL_SETS+= GENERIC_TINY
# KERNEL_SETS+= GENERIC_PS2TINY
Index: src/sys/arch/usermode/conf/Makefile.usermode
diff -u src/sys/arch/usermode/conf/Makefile.usermode:1.31 src/sys/arch/usermode/conf/Makefile.usermode:1.32
--- src/sys/arch/usermode/conf/Makefile.usermode:1.31 Sat Jan 7 20:44:41 2012
+++ src/sys/arch/usermode/conf/Makefile.usermode Sat Jun 30 15:03:57 2012
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile.usermode,v 1.31 2012/01/07 20:44:41 reinoud Exp $
+# $NetBSD: Makefile.usermode,v 1.32 2012/06/30 15:03:57 reinoud Exp $
USETOOLS?= no
NEED_OWN_INSTALL_TARGET?= no
@@ -9,17 +9,27 @@ NEED_OWN_INSTALL_TARGET?= no
##
USERMODE= $S/arch/usermode
GENASSYM_CONF= ${USERMODE}/usermode/genassym.cf
+
+## support for crosscompiling
+.if ${MACHINE_ARCH:Uunset} == "unset"
MACHINE_ARCH!=uname -p
+.endif
##
## (2) compile settings
##
USERMODE_HOSTOS!=uname -s
USERMODE_HOSTMACHINE!=uname -m
-USERMODE_LIBS= -lc -lrt
+USERMODE_LIBS= -L${DESTDIR}/usr/lib -lrt
USERMODE_CPPFLAGS=${DEBUG} -U_KERNEL -I/usr/include
USERMODE_CPPFLAGS+=${CWARNFLAGS} ${NOGCCERROR:D:U-Werror}
+## XXX hack to make it work under build.sh
+.if ${TOOLDIR:Uno} != "no"
+USERMODE_LIBS+= crti.o
+SYSTEM_LD_FIX= cp ${DESTDIR}/usr/lib/crt0.o ${DESTDIR}/usr/lib/crtbegin.o ${DESTDIR}/usr/lib/crtend.o ${DESTDIR}/usr/lib/crti.o .;
+.endif
+
.if ${USERMODE_HOSTOS} == "Linux"
USERMODE_LIBS+= -lpthread
CPPFLAGS+=-Dstrtoul=netbsd_strtoul
@@ -63,6 +73,7 @@ KERN_LDSCRIPT?= kern.ldscript
SYSTEM_LD= @${_MKSHMSG} " link ${.CURDIR:T}/${.TARGET}"; \
${_MKSHECHO}\
${CC} -static ${COPTS} -Wl,-Map,[email protected] -o $@ ${LINKFORMAT} -Ttext ${TEXTADDR} '$${SYSTEM_OBJ}' '$${EXTRA_OBJ}' vers.o ${USERMODE_LIBS}; \
+ ${SYSTEM_LD_FIX} \
${CC} -static ${COPTS} -Wl,-Map,[email protected] -o $@ ${LINKFORMAT} -Ttext ${TEXTADDR} ${SYSTEM_OBJ} ${EXTRA_OBJ} vers.o ${USERMODE_LIBS}
NVFLAGS= -n
Index: src/sys/modules/Makefile
diff -u src/sys/modules/Makefile:1.106 src/sys/modules/Makefile:1.107
--- src/sys/modules/Makefile:1.106 Thu Apr 26 03:03:53 2012
+++ src/sys/modules/Makefile Sat Jun 30 15:03:57 2012
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.106 2012/04/26 03:03:53 christos Exp $
+# $NetBSD: Makefile,v 1.107 2012/06/30 15:03:57 reinoud Exp $
.include <bsd.own.mk>
@@ -215,6 +215,14 @@ SUBDIR+= pwdog
.include <bsd.own.mk>
+#
+# NetBSD/usermode support
+#
+.if ${MACHINE_ARCH} == "i386" || \
+ ${MACHINE_ARCH} == "x86_64"
+SUBDIR+= ../arch/usermode/modules/syscallemu
+.endif
+
# we need our device mapper for LVM
.if (${MKLVM} != "no")
SUBDIR+= dm
Added files:
Index: src/sys/arch/amd64/conf/GENERIC_USERMODE
diff -u /dev/null src/sys/arch/amd64/conf/GENERIC_USERMODE:1.1
--- /dev/null Sat Jun 30 15:03:58 2012
+++ src/sys/arch/amd64/conf/GENERIC_USERMODE Sat Jun 30 15:03:57 2012
@@ -0,0 +1,20 @@
+# $NetBSD: GENERIC_USERMODE,v 1.1 2012/06/30 15:03:57 reinoud Exp $
+
+machine usermode
+include "arch/usermode/conf/GENERIC.common"
+include "arch/amd64/conf/majors.amd64"
+
+no options EXEC_ELF32
+
+options INSECURE # required by sysinst
+
+options TEXTADDR=0x40000000 # 1 Gb `phys ram' / total space
+options KVMSIZE= 0x10000000 # KVM space reserved in VM map, 256 Mb
+options NKMEMPAGES_MAX=32768 # 128 Mb max
+
+makeoptions COPTS+="-m64"
+makeoptions LD="ld -melf_amd64"
+
+#options INCLUDE_CONFIG_FILE
+#ident "GENERIC32-$Revision: 1.1 $"
+
Index: src/sys/arch/i386/conf/GENERIC_USERMODE
diff -u /dev/null src/sys/arch/i386/conf/GENERIC_USERMODE:1.1
--- /dev/null Sat Jun 30 15:03:58 2012
+++ src/sys/arch/i386/conf/GENERIC_USERMODE Sat Jun 30 15:03:57 2012
@@ -0,0 +1,20 @@
+# $NetBSD: GENERIC_USERMODE,v 1.1 2012/06/30 15:03:57 reinoud Exp $
+
+machine usermode
+include "arch/usermode/conf/GENERIC.common"
+include "arch/i386/conf/majors.i386"
+
+no options EXEC_ELF64
+
+options INSECURE # required by sysinst
+
+options TEXTADDR=0x40000000 # 1 Gb `phys ram' / total space
+options KVMSIZE= 0x10000000 # KVM space reserved in VM map, 256 Mb
+options NKMEMPAGES_MAX=32768 # 128 Mb max
+
+makeoptions COPTS+="-m32"
+makeoptions LD="ld -melf_i386"
+
+#options INCLUDE_CONFIG_FILE
+#ident "GENERIC32-$Revision: 1.1 $"
+