[rtems-libbsd commit] Add smp variables used by e1000 and remove unneeded ifdefs

Joel Sherrill joel at rtems.org
Thu Mar 22 13:02:01 UTC 2012


Module:    rtems-libbsd
Branch:    master
Commit:    0f09b7272648aa98c63e3af324779f76edfdc224
Changeset: http://git.rtems.org/rtems-libbsd/commit/?id=0f09b7272648aa98c63e3af324779f76edfdc224

Author:    Joel Sherrill <joel.sherrill at oarcorp.com>
Date:      Thu Mar 22 07:44:07 2012 -0500

Add smp variables used by e1000 and remove unneeded ifdefs

  + added machine/smp.h as empty file
  + added rtems-bsd-smp.c for a few variables which were needed

---

 Makefile                     |    1 +
 freebsd-to-rtems.py          |    2 ++
 freebsd/dev/e1000/if_igb.c   |    7 -------
 freebsd/machine/smp.h        |    1 +
 rtemsbsd/src/rtems-bsd-smp.c |   40 ++++++++++++++++++++++++++++++++++++++++
 5 files changed, 44 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index 5ffadba..56cfbd5 100644
--- a/Makefile
+++ b/Makefile
@@ -356,6 +356,7 @@ C_FILES += \
 	rtemsbsd/src/rtems-bsd-jail.c \
 	rtemsbsd/src/rtems-bsd-shell.c \
 	rtemsbsd/src/rtems-bsd-syscalls.c \
+	rtemsbsd/src/rtems-bsd-smp.c \
 	rtemsbsd/src/rtems-bsd-malloc.c \
 	rtemsbsd/src/rtems-bsd-support.c \
 	rtemsbsd/src/rtems-bsd-bus-dma.c \
diff --git a/freebsd-to-rtems.py b/freebsd-to-rtems.py
index e3de1dd..bf18a1f 100755
--- a/freebsd-to-rtems.py
+++ b/freebsd-to-rtems.py
@@ -516,6 +516,7 @@ rtems_sourceFiles = [
         'src/rtems-bsd-jail.c',
 	'src/rtems-bsd-shell.c',
         'src/rtems-bsd-syscalls.c',
+        'src/rtems-bsd-smp.c',
         #'src/rtems-bsd-socket.c',
         #'src/rtems-bsd-mbuf.c',
 	'src/rtems-bsd-malloc.c',
@@ -1880,6 +1881,7 @@ mm.addEmptyFiles(
 		'machine/cpu.h',
 		'machine/elf.h',
 		'machine/sf_buf.h',
+		'machine/smp.h',
 		#'machine/vmparam.h',
 		'local/opt_ntp.h',
 		'local/pci_if.h',
diff --git a/freebsd/dev/e1000/if_igb.c b/freebsd/dev/e1000/if_igb.c
index 07a0aa2..2b231ab 100644
--- a/freebsd/dev/e1000/if_igb.c
+++ b/freebsd/dev/e1000/if_igb.c
@@ -60,10 +60,8 @@
 #include <freebsd/sys/taskqueue.h>
 #include <freebsd/sys/eventhandler.h>
 #include <freebsd/sys/pcpu.h>
-#ifndef __rtems__
 #include <freebsd/sys/smp.h>
 #include <freebsd/machine/smp.h>
-#endif
 #include <freebsd/machine/bus.h>
 #include <freebsd/machine/resource.h>
 
@@ -2515,13 +2513,8 @@ igb_setup_msix(struct adapter *adapter)
 		goto msi;
 	}
 
-#ifdef __rtems__
-	/* Figure out a reasonable auto config value */
-	queues = 10; /* XXX fix me */
-#else
 	/* Figure out a reasonable auto config value */
 	queues = (mp_ncpus > (msgs-1)) ? (msgs-1) : mp_ncpus;
-#endif
 
 	/* Manual override */
 	if (igb_num_queues != 0)
diff --git a/freebsd/machine/smp.h b/freebsd/machine/smp.h
new file mode 100644
index 0000000..936ffd8
--- /dev/null
+++ b/freebsd/machine/smp.h
@@ -0,0 +1 @@
+/* EMPTY */
diff --git a/rtemsbsd/src/rtems-bsd-smp.c b/rtemsbsd/src/rtems-bsd-smp.c
new file mode 100644
index 0000000..aa326a4
--- /dev/null
+++ b/rtemsbsd/src/rtems-bsd-smp.c
@@ -0,0 +1,40 @@
+/**
+ * @file
+ *
+ * @ingroup rtems_bsd_rtems
+ *
+ * @brief TODO.
+ */
+
+/*
+ *  COPYRIGHT (c) 1989-2012.
+ *  On-Line Applications Research Corporation (OAR).
+ *
+ *  The license and distribution terms for this file may be
+ *  found in the file LICENSE in this distribution or at
+ *  http://www.rtems.com/license/LICENSE.
+ *
+ */
+
+#include <freebsd/machine/rtems-bsd-config.h>
+
+#include <freebsd/sys/types.h>
+
+#include <freebsd/sys/smp.h>
+#include <freebsd/machine/smp.h>
+
+int mp_ncpus;
+int mp_maxcpus;
+
+static void configure(void *dummy)
+{
+#if defined(RTEMS_SMP)
+  mp_ncpus = rtems_smp_get_number_of_processors();
+  mp_maxcpus = rtems_configuration_smp_maximum_processors;
+#else
+  mp_ncpus = 1;
+  mp_maxcpus = 1;
+#endif
+}
+
+/* XXX setup initialization of this */




More information about the vc mailing list