svn commit: r210584 - projects/ofed/head/sys/ofed/include/linux

Jeff Roberson jeff at FreeBSD.org
Thu Jul 29 02:10:20 UTC 2010


Author: jeff
Date: Thu Jul 29 02:10:19 2010
New Revision: 210584
URL: http://svn.freebsd.org/changeset/base/210584

Log:
   - Linux determines module load order by processing link dependencies.  I
     don't fully understand how this works with builtin modules but we must
     add some extra information about load order.  I may revisit this.
  
  Sponsored by:	Isilon Systems, iX Systems, and Panasas.

Modified:
  projects/ofed/head/sys/ofed/include/linux/module.h

Modified: projects/ofed/head/sys/ofed/include/linux/module.h
==============================================================================
--- projects/ofed/head/sys/ofed/include/linux/module.h	Thu Jul 29 02:09:25 2010	(r210583)
+++ projects/ofed/head/sys/ofed/include/linux/module.h	Thu Jul 29 02:10:19 2010	(r210584)
@@ -44,10 +44,18 @@
 #define	EXPORT_SYMBOL(name)
 #define	EXPORT_SYMBOL_GPL(name)
 
-#define	module_init(fn)						\
-	SYSINIT(fn, SI_SUB_DRIVERS, SI_ORDER_ANY, (fn), NULL)
+#define	module_init(fn)							\
+	SYSINIT(fn, SI_SUB_RUN_SCHEDULER, SI_ORDER_FIRST, (fn), NULL)
+
+/*
+ * XXX This is a freebsdism designed to work around not having a module
+ * load order resolver built in.
+ */
+#define	module_init_order(fn, order)					\
+	SYSINIT(fn, SI_SUB_RUN_SCHEDULER, (order), (fn), NULL)
+
 #define	module_exit(fn)						\
-	SYSUNINIT(fn, SI_SUB_DRIVERS, SI_ORDER_ANY, (fn), NULL)
+	SYSUNINIT(fn, SI_SUB_RUN_SCHEDULER, SI_ORDER_FIRST, (fn), NULL)
 
 #define	module_get(module)
 #define	module_put(module)


More information about the svn-src-projects mailing list