[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