summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--c/src/lib/libbsp/i386/pc386/ChangeLog12
-rw-r--r--c/src/lib/libbsp/i386/pc386/Makefile.am4
-rw-r--r--c/src/lib/libbsp/i386/pc386/configure.ac9
-rw-r--r--c/src/lib/libbsp/sparc/erc32/ChangeLog12
-rw-r--r--c/src/lib/libbsp/sparc/erc32/Makefile.am6
-rw-r--r--c/src/lib/libbsp/sparc/erc32/configure.ac2
-rw-r--r--c/src/lib/libbsp/sparc/leon2/ChangeLog12
-rw-r--r--c/src/lib/libbsp/sparc/leon2/Makefile.am6
-rw-r--r--c/src/lib/libbsp/sparc/leon2/configure.ac2
-rw-r--r--c/src/lib/libbsp/sparc/leon3/ChangeLog12
-rw-r--r--c/src/lib/libbsp/sparc/leon3/Makefile.am6
-rw-r--r--c/src/lib/libbsp/sparc/leon3/configure.ac7
12 files changed, 90 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/i386/pc386/ChangeLog b/c/src/lib/libbsp/i386/pc386/ChangeLog
index 719d05c1e8..a801dd9ee9 100644
--- a/c/src/lib/libbsp/i386/pc386/ChangeLog
+++ b/c/src/lib/libbsp/i386/pc386/ChangeLog
@@ -1,3 +1,15 @@
+2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>
+
+ PR 1729/cpukit
+ * Makefile.am, configure.ac: Add next step in SMP support. This adds an
+ allocated array of the Per_CPU structures to support multiple cpus vs
+ a single instance of the structure which is still used if SMP support
+ is disabled. Configuration support is also added to explicitly enable
+ or disable SMP. But SMP can only be enabled for the CPUs which will
+ support it initially -- SPARC and i386. With the stub BSP support, a
+ BSP can be run as a single core SMP system from an RTEMS data
+ structure standpoint.
+
2011-03-14 Joel Sherrill <joel.sherrill@oarcorp.com>
PR 1762/cpukit
diff --git a/c/src/lib/libbsp/i386/pc386/Makefile.am b/c/src/lib/libbsp/i386/pc386/Makefile.am
index fbb8bb706b..8c1806b30d 100644
--- a/c/src/lib/libbsp/i386/pc386/Makefile.am
+++ b/c/src/lib/libbsp/i386/pc386/Makefile.am
@@ -108,6 +108,10 @@ libbsp_a_SOURCES += timer/timer.c timer/timerisr.S
# ide
libbsp_a_SOURCES += ide/idecfg.c ide/ide.c
+if HAS_SMP
+libbsp_a_SOURCES += ../../shared/smp/getcpuid.c ../../shared/smp/smp_stub.c
+endif
+
if HAS_NETWORKING
ne2000_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
noinst_PROGRAMS += ne2000.rel
diff --git a/c/src/lib/libbsp/i386/pc386/configure.ac b/c/src/lib/libbsp/i386/pc386/configure.ac
index 2f80930d49..7cfd322d9f 100644
--- a/c/src/lib/libbsp/i386/pc386/configure.ac
+++ b/c/src/lib/libbsp/i386/pc386/configure.ac
@@ -17,6 +17,7 @@ RTEMS_CHECK_TOOL(OBJCOPY,objcopy,:)
RTEMS_PROG_CCAS
RTEMS_CHECK_NETWORKING
+RTEMS_CHECK_SMP
RTEMS_BSPOPTS_SET([USE_COM1_AS_CONSOLE],[*],[0])
RTEMS_BSPOPTS_HELP([USE_COM1_AS_CONSOLE],
@@ -79,11 +80,19 @@ if test X${CLOCK_DRIVER_USE_TSC} = X1 -a X${CLOCK_DRIVER_USE_8254} = X1 ; then
AC_MSG_ERROR([pc386 both TSC and 8254 specified for clock driver])
fi
+RTEMS_BSPOPTS_SET([BSP_HAS_SMP],[*],[1])
+RTEMS_BSPOPTS_HELP([BSP_HAS_SMP],
+[Always defined when on a pc386 to enable the pc386 support for
+ determining the CPU core number in an SMP configuration.])
+
## if this is an i386, does gas have good code16 support?
RTEMS_I386_GAS_CODE16
AM_CONDITIONAL(RTEMS_GAS_CODE16,[test "$RTEMS_GAS_CODE16" = "yes"])
+
AM_CONDITIONAL(HAS_NETWORKING,[test "$HAS_NETWORKING" = "yes"])
+AM_CONDITIONAL(HAS_SMP,[test "$rtems_cv_HAS_SMP" = "yes"])
+
AC_SUBST([RTEMS_ROOT],[${rtems_updir}'$(top_builddir)'])
diff --git a/c/src/lib/libbsp/sparc/erc32/ChangeLog b/c/src/lib/libbsp/sparc/erc32/ChangeLog
index d6b52b1c67..d961492135 100644
--- a/c/src/lib/libbsp/sparc/erc32/ChangeLog
+++ b/c/src/lib/libbsp/sparc/erc32/ChangeLog
@@ -1,3 +1,15 @@
+2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>
+
+ PR 1729/cpukit
+ * Makefile.am, configure.ac: Add next step in SMP support. This adds an
+ allocated array of the Per_CPU structures to support multiple cpus vs
+ a single instance of the structure which is still used if SMP support
+ is disabled. Configuration support is also added to explicitly enable
+ or disable SMP. But SMP can only be enabled for the CPUs which will
+ support it initially -- SPARC and i386. With the stub BSP support, a
+ BSP can be run as a single core SMP system from an RTEMS data
+ structure standpoint.
+
2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1748/bsps
diff --git a/c/src/lib/libbsp/sparc/erc32/Makefile.am b/c/src/lib/libbsp/sparc/erc32/Makefile.am
index 709d3e4920..f363e4febc 100644
--- a/c/src/lib/libbsp/sparc/erc32/Makefile.am
+++ b/c/src/lib/libbsp/sparc/erc32/Makefile.am
@@ -40,6 +40,8 @@ libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
../../shared/bspstart.c ../../shared/bootcard.c ../../shared/bspinit.c \
../../shared/sbrk.c startup/setvec.c startup/spurious.c \
startup/erc32mec.c startup/boardinit.S startup/bspidle.c
+# ISR Handler
+libbsp_a_SOURCES += ../../sparc/shared/irq_asm.S
# gnatsupp
libbsp_a_SOURCES += gnatsupp/gnatsupp.c ../../sparc/shared/gnatcommon.c
# console
@@ -51,6 +53,10 @@ libbsp_a_SOURCES += clock/ckinit.c ../../../shared/clockdrv_shell.h
# timer
libbsp_a_SOURCES += timer/timer.c
+if HAS_SMP
+libbsp_a_SOURCES += ../../shared/smp/getcpuid.c ../../shared/smp/smp_stub.c
+endif
+
if HAS_NETWORKING
erc32sonic_CPPFLAGS = -D__INSIDE_RTEMS_BSD_TCPIP_STACK__
noinst_PROGRAMS += erc32sonic.rel
diff --git a/c/src/lib/libbsp/sparc/erc32/configure.ac b/c/src/lib/libbsp/sparc/erc32/configure.ac
index 59ed427cba..66dca50f93 100644
--- a/c/src/lib/libbsp/sparc/erc32/configure.ac
+++ b/c/src/lib/libbsp/sparc/erc32/configure.ac
@@ -16,8 +16,10 @@ RTEMS_CANONICALIZE_TOOLS
RTEMS_PROG_CCAS
RTEMS_CHECK_NETWORKING
+RTEMS_CHECK_SMP
AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
+AM_CONDITIONAL(HAS_SMP,[test "$rtems_cv_HAS_SMP" = "yes"])
RTEMS_CONFIG_BUILD_SUBDIRS(tools)
diff --git a/c/src/lib/libbsp/sparc/leon2/ChangeLog b/c/src/lib/libbsp/sparc/leon2/ChangeLog
index c183558b9e..80b5eef19f 100644
--- a/c/src/lib/libbsp/sparc/leon2/ChangeLog
+++ b/c/src/lib/libbsp/sparc/leon2/ChangeLog
@@ -1,3 +1,15 @@
+2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>
+
+ PR 1729/cpukit
+ * Makefile.am, configure.ac: Add next step in SMP support. This adds an
+ allocated array of the Per_CPU structures to support multiple cpus vs
+ a single instance of the structure which is still used if SMP support
+ is disabled. Configuration support is also added to explicitly enable
+ or disable SMP. But SMP can only be enabled for the CPUs which will
+ support it initially -- SPARC and i386. With the stub BSP support, a
+ BSP can be run as a single core SMP system from an RTEMS data
+ structure standpoint.
+
2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1748/bsps
diff --git a/c/src/lib/libbsp/sparc/leon2/Makefile.am b/c/src/lib/libbsp/sparc/leon2/Makefile.am
index 1810a3bacf..54fa609a54 100644
--- a/c/src/lib/libbsp/sparc/leon2/Makefile.am
+++ b/c/src/lib/libbsp/sparc/leon2/Makefile.am
@@ -60,6 +60,8 @@ libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
../../sparc/shared/bspgetworkarea.c ../../shared/bootcard.c \
../../shared/sbrk.c startup/setvec.c startup/spurious.c startup/bspidle.c \
../../shared/bspinit.c
+# ISR Handler
+libbsp_a_SOURCES += ../../sparc/shared/irq_asm.S
# gnatsupp
libbsp_a_SOURCES += gnatsupp/gnatsupp.c ../../sparc/shared/gnatcommon.c
# console
@@ -97,6 +99,10 @@ libbsp_a_SOURCES += ../../sparc/shared/i2c/i2cmst.c
# timer
libbsp_a_SOURCES += timer/timer.c
+if HAS_SMP
+libbsp_a_SOURCES += ../../shared/smp/getcpuid.c ../../shared/smp/smp_stub.c
+endif
+
if HAS_NETWORKING
noinst_PROGRAMS += leon_smc91111.rel
leon_smc91111_rel_SOURCES = leon_smc91111/leon_smc91111.c
diff --git a/c/src/lib/libbsp/sparc/leon2/configure.ac b/c/src/lib/libbsp/sparc/leon2/configure.ac
index 8b96aadc97..34c41baf68 100644
--- a/c/src/lib/libbsp/sparc/leon2/configure.ac
+++ b/c/src/lib/libbsp/sparc/leon2/configure.ac
@@ -16,8 +16,10 @@ RTEMS_CANONICALIZE_TOOLS
RTEMS_PROG_CCAS
RTEMS_CHECK_NETWORKING
+RTEMS_CHECK_SMP
AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
+AM_CONDITIONAL(HAS_SMP,[test "$rtems_cv_HAS_SMP" = "yes"])
RTEMS_CONFIG_BUILD_SUBDIRS(tools)
diff --git a/c/src/lib/libbsp/sparc/leon3/ChangeLog b/c/src/lib/libbsp/sparc/leon3/ChangeLog
index bf2b5b87fd..f307e8f3e4 100644
--- a/c/src/lib/libbsp/sparc/leon3/ChangeLog
+++ b/c/src/lib/libbsp/sparc/leon3/ChangeLog
@@ -1,3 +1,15 @@
+2011-03-16 Jennifer Averett <jennifer.averett@OARcorp.com>
+
+ PR 1729/cpukit
+ * Makefile.am, configure.ac: Add next step in SMP support. This adds an
+ allocated array of the Per_CPU structures to support multiple cpus vs
+ a single instance of the structure which is still used if SMP support
+ is disabled. Configuration support is also added to explicitly enable
+ or disable SMP. But SMP can only be enabled for the CPUs which will
+ support it initially -- SPARC and i386. With the stub BSP support, a
+ BSP can be run as a single core SMP system from an RTEMS data
+ structure standpoint.
+
2011-03-04 Joel Sherrill <joel.sherrilL@OARcorp.com>
PR 1748/bsps
diff --git a/c/src/lib/libbsp/sparc/leon3/Makefile.am b/c/src/lib/libbsp/sparc/leon3/Makefile.am
index 079a8079b3..4dc665e678 100644
--- a/c/src/lib/libbsp/sparc/leon3/Makefile.am
+++ b/c/src/lib/libbsp/sparc/leon3/Makefile.am
@@ -43,6 +43,8 @@ libbsp_a_SOURCES += ../../shared/bspclean.c ../../shared/bsplibc.c \
../../sparc/shared/bspgetworkarea.c ../../shared/sbrk.c startup/setvec.c \
startup/spurious.c startup/bspidle.S \
../../shared/bspinit.c
+# ISR Handler
+libbsp_a_SOURCES += ../../sparc/shared/irq_asm.S
# gnatsupp
libbsp_a_SOURCES += gnatsupp/gnatsupp.c ../../sparc/shared/gnatcommon.c
# amba
@@ -90,6 +92,10 @@ libbsp_a_SOURCES += ../../sparc/shared/i2c/i2cmst.c
# timer
libbsp_a_SOURCES += timer/timer.c
+if HAS_SMP
+libbsp_a_SOURCES += ../../shared/smp/getcpuid.c ../../shared/smp/smp_stub.c
+endif
+
if HAS_NETWORKING
noinst_PROGRAMS += leon_smc91111.rel
leon_smc91111_rel_SOURCES = leon_smc91111/leon_smc91111.c
diff --git a/c/src/lib/libbsp/sparc/leon3/configure.ac b/c/src/lib/libbsp/sparc/leon3/configure.ac
index 89d9a0b48d..d1d9a3f5df 100644
--- a/c/src/lib/libbsp/sparc/leon3/configure.ac
+++ b/c/src/lib/libbsp/sparc/leon3/configure.ac
@@ -16,8 +16,10 @@ RTEMS_CANONICALIZE_TOOLS
RTEMS_PROG_CCAS
RTEMS_CHECK_NETWORKING
+RTEMS_CHECK_SMP
AM_CONDITIONAL(HAS_NETWORKING,test "$HAS_NETWORKING" = "yes")
+AM_CONDITIONAL(HAS_SMP,[test "$rtems_cv_HAS_SMP" = "yes"])
RTEMS_CONFIG_BUILD_SUBDIRS(tools)
@@ -37,6 +39,11 @@ RTEMS_BSPOPTS_HELP([SIMSPARC_FAST_IDLE],
time spent in the idle task is minimized. This significantly reduces
the wall time required to execute the RTEMS test suites.])
+RTEMS_BSPOPTS_SET([BSP_LEON3_SMP],[*],[1])
+RTEMS_BSPOPTS_HELP([BSP_LEON3_SMP],
+[Always defined when on a LEON3 to enable the LEON3 support for
+ determining the CPU core number in an SMP configuration.])
+
RTEMS_BSP_CLEANUP_OPTIONS(0, 0)
# Explicitly list all Makefiles here