Module Name:    src
Committed By:   pooka
Date:           Mon Mar 10 22:38:53 UTC 2014

Modified Files:
        src/share/mk: bsd.own.mk
        src/sys/rump: Makefile.rump
        src/sys/rump/include/rump: rump.h
        src/sys/rump/librump/rumpkern: Makefile.rumpkern rump.c
        src/tests/rump/modautoload: Makefile t_modautoload.c

Log Message:
Move the "is arch capable of loading native kernel modules into
rump kernel" clauses from bsd.own.mk to Makefile.rump.  Also,
add a rump_nativeabi_p() call to determine if rump kernel is
compiled with native ABI support.


To generate a diff of this commit:
cvs rdiff -u -r1.782 -r1.783 src/share/mk/bsd.own.mk
cvs rdiff -u -r1.89 -r1.90 src/sys/rump/Makefile.rump
cvs rdiff -u -r1.58 -r1.59 src/sys/rump/include/rump/rump.h
cvs rdiff -u -r1.138 -r1.139 src/sys/rump/librump/rumpkern/Makefile.rumpkern
cvs rdiff -u -r1.287 -r1.288 src/sys/rump/librump/rumpkern/rump.c
cvs rdiff -u -r1.1 -r1.2 src/tests/rump/modautoload/Makefile \
    src/tests/rump/modautoload/t_modautoload.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/share/mk/bsd.own.mk
diff -u src/share/mk/bsd.own.mk:1.782 src/share/mk/bsd.own.mk:1.783
--- src/share/mk/bsd.own.mk:1.782	Sun Mar  9 19:58:43 2014
+++ src/share/mk/bsd.own.mk	Mon Mar 10 22:38:53 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: bsd.own.mk,v 1.782 2014/03/09 19:58:43 matt Exp $
+#	$NetBSD: bsd.own.mk,v 1.783 2014/03/10 22:38:53 pooka Exp $
 
 # This needs to be before bsd.init.mk
 .if defined(BSD_MK_COMPAT_FILE)
@@ -792,14 +792,6 @@ ARM_APCS_FLAGS+=${${ACTIVE_CC} == "clang
 
 GENASSYM_CPPFLAGS+=	${${ACTIVE_CC} == "clang":? -no-integrated-as :}
 
-#
-# Determine if arch uses native kernel modules with rump
-#
-.if ${MACHINE_ARCH} == "i386" || \
-    ${MACHINE_ARCH} == "x86_64"
-RUMPKMOD=	# defined
-.endif
-
 TARGETS+=	all clean cleandir depend dependall includes \
 		install lint obj regress tags html analyze
 PHONY_NOTMAIN =	all clean cleandir depend dependall distclean includes \

Index: src/sys/rump/Makefile.rump
diff -u src/sys/rump/Makefile.rump:1.89 src/sys/rump/Makefile.rump:1.90
--- src/sys/rump/Makefile.rump:1.89	Mon Dec  9 17:57:11 2013
+++ src/sys/rump/Makefile.rump	Mon Mar 10 22:38:53 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.rump,v 1.89 2013/12/09 17:57:11 pooka Exp $
+#	$NetBSD: Makefile.rump,v 1.90 2014/03/10 22:38:53 pooka Exp $
 #
 
 WARNS?=		3	# XXX: src/sys won't compile with -Wsign-compare yet
@@ -6,13 +6,16 @@ NOLINT=		# kernel code
 
 .include <bsd.own.mk>
 
-# If RUMPKMOD is _not_ set (only on capable archs, from bsd.own.mk),
-# use rump ABI instead of the NetBSD kernel ABI.
-.ifndef RUMPKMOD
+# Use NetBSD kernel ABI by default on x86 archs.  Performance-related
+# compile-time options may override this at a later date.
+.if ${MACHINE_ARCH} == "i386" || \
+    ${MACHINE_ARCH} == "x86_64"
+_RUMP_NATIVEABI= yes
+CPPFLAGS+=	-D_RUMP_NATIVE_ABI
+.else
+_RUMP_NATIVEABI= no
 CPPFLAGS:=	-I${RUMPTOP}/include ${CPPFLAGS}
 CPPFLAGS+=	-D_RUMPKERNEL
-.else
-CPPFLAGS+=	-D_RUMP_NATIVE_ABI
 .endif
 
 CPPFLAGS+=	-DMAXUSERS=32

Index: src/sys/rump/include/rump/rump.h
diff -u src/sys/rump/include/rump/rump.h:1.58 src/sys/rump/include/rump/rump.h:1.59
--- src/sys/rump/include/rump/rump.h:1.58	Thu Feb 20 00:41:05 2014
+++ src/sys/rump/include/rump/rump.h	Mon Mar 10 22:38:53 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump.h,v 1.58 2014/02/20 00:41:05 pooka Exp $	*/
+/*	$NetBSD: rump.h,v 1.59 2014/03/10 22:38:53 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007-2011 Antti Kantee.  All Rights Reserved.
@@ -100,6 +100,8 @@ enum rump_etfs_type {
 _BEGIN_DECLS
 #endif
 
+int	rump_nativeabi_p(void);
+
 int	rump_boot_gethowto(void);
 void	rump_boot_sethowto(int);
 void	rump_boot_setsigmodel(enum rump_sigmodel);

Index: src/sys/rump/librump/rumpkern/Makefile.rumpkern
diff -u src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.138 src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.139
--- src/sys/rump/librump/rumpkern/Makefile.rumpkern:1.138	Fri Feb 28 14:19:25 2014
+++ src/sys/rump/librump/rumpkern/Makefile.rumpkern	Mon Mar 10 22:38:53 2014
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile.rumpkern,v 1.138 2014/02/28 14:19:25 matt Exp $
+#	$NetBSD: Makefile.rumpkern,v 1.139 2014/03/10 22:38:53 pooka Exp $
 #
 
 .include "${RUMPTOP}/Makefile.rump"
@@ -211,7 +211,7 @@ CPPFLAGS+=	-Dsun3
 
 # include libkern source files
 KERNDIR=${RUMPTOP}/../lib/libkern
-.ifdef RUMPKMOD
+.if "${_RUMP_NATIVEABI}" == "yes"
 KERNMISCCPPFLAGS+=	-D_RUMPKERNEL
 .endif
 .include "${RUMPTOP}/../lib/libkern/Makefile.libkern"

Index: src/sys/rump/librump/rumpkern/rump.c
diff -u src/sys/rump/librump/rumpkern/rump.c:1.287 src/sys/rump/librump/rumpkern/rump.c:1.288
--- src/sys/rump/librump/rumpkern/rump.c:1.287	Fri Feb 28 10:16:51 2014
+++ src/sys/rump/librump/rumpkern/rump.c	Mon Mar 10 22:38:53 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: rump.c,v 1.287 2014/02/28 10:16:51 skrll Exp $	*/
+/*	$NetBSD: rump.c,v 1.288 2014/03/10 22:38:53 pooka Exp $	*/
 
 /*
  * Copyright (c) 2007-2011 Antti Kantee.  All Rights Reserved.
@@ -26,7 +26,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.287 2014/02/28 10:16:51 skrll Exp $");
+__KERNEL_RCSID(0, "$NetBSD: rump.c,v 1.288 2014/03/10 22:38:53 pooka Exp $");
 
 #include <sys/systm.h>
 #define ELFSIZE ARCH_ELFSIZE
@@ -943,6 +943,17 @@ rump_getversion(void)
 	return __NetBSD_Version__;
 }
 
+int
+rump_nativeabi_p(void)
+{
+
+#ifdef _RUMP_NATIVE_ABI
+	return 1;
+#else
+	return 0;
+#endif
+}
+
 /*
  * Note: may be called unscheduled.  Not fully safe since no locking
  * of allevents (currently that's not even available).

Index: src/tests/rump/modautoload/Makefile
diff -u src/tests/rump/modautoload/Makefile:1.1 src/tests/rump/modautoload/Makefile:1.2
--- src/tests/rump/modautoload/Makefile:1.1	Wed Jun  9 12:35:45 2010
+++ src/tests/rump/modautoload/Makefile	Mon Mar 10 22:38:53 2014
@@ -1,15 +1,10 @@
-#	$NetBSD: Makefile,v 1.1 2010/06/09 12:35:45 pooka Exp $
+#	$NetBSD: Makefile,v 1.2 2014/03/10 22:38:53 pooka Exp $
 #
 
 TESTSDIR=	${TESTSBASE}/rump/modautoload
 
 TESTS_C=	t_modautoload
 
-.include <bsd.own.mk>
-.ifdef RUMPKMOD
-CPPFLAGS+=	-DHAVE_HOST_MODULES
-.endif
-
 # Note: we link the rump kernel into the application to make this work
 # on amd64.  This is the reason we keep this test in its own
 # subdirectory -- otherwise the LDADD lines would get a little hairy.
Index: src/tests/rump/modautoload/t_modautoload.c
diff -u src/tests/rump/modautoload/t_modautoload.c:1.1 src/tests/rump/modautoload/t_modautoload.c:1.2
--- src/tests/rump/modautoload/t_modautoload.c:1.1	Wed Jun  9 12:35:45 2010
+++ src/tests/rump/modautoload/t_modautoload.c	Mon Mar 10 22:38:53 2014
@@ -1,4 +1,4 @@
-/*	$NetBSD: t_modautoload.c,v 1.1 2010/06/09 12:35:45 pooka Exp $	*/
+/*	$NetBSD: t_modautoload.c,v 1.2 2014/03/10 22:38:53 pooka Exp $	*/
 
 #include <sys/types.h>
 #include <sys/mount.h>
@@ -34,9 +34,8 @@ static void
 mountkernfs(void)
 {
 
-#ifndef HAVE_HOST_MODULES
-	atf_tc_skip("host kernel modules not supported on this architecture");
-#endif
+	if (!rump_nativeabi_p())
+		atf_tc_skip("host kernel modules not supported");
 
 	rump_init();
 

Reply via email to