From 06dcaf09e6c0eae0b3a3c8d84adb663d03a53a4b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Wed, 16 Mar 2011 20:05:06 +0000 Subject: 2011-03-16 Jennifer Averett PR 1729/cpukit * configure.ac, sapi/include/confdefs.h, sapi/src/exinit.c, score/Makefile.am, score/preinstall.am, score/cpu/i386/rtems/score/cpu.h, score/cpu/sparc/cpu_asm.S, score/cpu/sparc/rtems/score/cpu.h, score/include/rtems/score/basedefs.h, score/include/rtems/score/context.h, score/include/rtems/score/percpu.h, score/src/percpu.c, score/src/thread.c, score/src/threadcreateidle.c: 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. * aclocal/check-smp.m4, aclocal/enable-smp.m4, score/include/rtems/bspsmp.h, score/include/rtems/score/smplock.h, score/src/smp.c, score/src/smplock.c: New files. --- cpukit/score/Makefile.am | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'cpukit/score/Makefile.am') diff --git a/cpukit/score/Makefile.am b/cpukit/score/Makefile.am index bdd8e510d9..9d3d97f593 100644 --- a/cpukit/score/Makefile.am +++ b/cpukit/score/Makefile.am @@ -12,7 +12,7 @@ SUBDIRS = cpu include_rtemsdir = $(includedir)/rtems include_rtems_HEADERS = include/rtems/debug.h include/rtems/system.h \ - include/rtems/seterr.h + include/rtems/seterr.h include/rtems/bspsmp.h include_rtems_scoredir = $(includedir)/rtems/score @@ -35,7 +35,8 @@ include_rtems_score_HEADERS = include/rtems/score/address.h \ include/rtems/score/timestamp64.h include/rtems/score/tod.h \ include/rtems/score/tqdata.h include/rtems/score/userext.h \ include/rtems/score/watchdog.h include/rtems/score/wkspace.h \ - include/rtems/score/cpuopts.h include/rtems/score/basedefs.h + include/rtems/score/cpuopts.h include/rtems/score/basedefs.h \ + include/rtems/score/smplock.h if HAS_PTHREADS include_rtems_score_HEADERS += include/rtems/score/corespinlock.h \ @@ -88,6 +89,8 @@ if HAS_MP libscore_a_SOURCES += src/mpci.c src/objectmp.c src/threadmp.c endif +libscore_a_SOURCES += src/smp.c src/smplock.c + ## CORE_APIMUTEX_C_FILES libscore_a_SOURCES += src/apimutex.c src/apimutexallocate.c \ src/apimutexlock.c src/apimutexunlock.c -- cgit v1.2.3