summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@oarcorp.com>2012-03-22 07:44:07 -0500
committerJoel Sherrill <joel.sherrill@oarcorp.com>2012-03-22 07:44:07 -0500
commit0f09b7272648aa98c63e3af324779f76edfdc224 (patch)
treedfbbcb05be32192b2bc4b84566b508c6ec9a3e25
parentAdd E1000 driver (diff)
downloadrtems-libbsd-0f09b7272648aa98c63e3af324779f76edfdc224.tar.bz2
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
-rw-r--r--Makefile1
-rwxr-xr-xfreebsd-to-rtems.py2
-rw-r--r--freebsd/dev/e1000/if_igb.c7
-rw-r--r--freebsd/machine/smp.h1
-rw-r--r--rtemsbsd/src/rtems-bsd-smp.c40
5 files changed, 44 insertions, 7 deletions
diff --git a/Makefile b/Makefile
index 5ffadbac..56cfbd5f 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 e3de1dd5..bf18a1fb 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 07a0aa2d..2b231ab0 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 00000000..936ffd88
--- /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 00000000..aa326a40
--- /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 */