diff options
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/ChangeLog | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/Makefile.am | 4 | ||||
-rw-r--r-- | c/src/lib/libbsp/i386/pc386/configure.ac | 9 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/ChangeLog | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/Makefile.am | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/erc32/configure.ac | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon2/ChangeLog | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon2/Makefile.am | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon2/configure.ac | 2 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/ChangeLog | 12 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/Makefile.am | 6 | ||||
-rw-r--r-- | c/src/lib/libbsp/sparc/leon3/configure.ac | 7 |
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 |