aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/Makefile.in1
-rw-r--r--sim/aclocal.m41
-rw-r--r--sim/config.h.in3
-rwxr-xr-xsim/configure32
-rw-r--r--sim/configure.ac1
-rw-r--r--sim/m4/sim_ac_option_smp.m418
6 files changed, 48 insertions, 8 deletions
diff --git a/sim/Makefile.in b/sim/Makefile.in
index 7cd86b5..0693572 100644
--- a/sim/Makefile.in
+++ b/sim/Makefile.in
@@ -241,6 +241,7 @@ am__aclocal_m4_deps = $(top_srcdir)/../config/acx.m4 \
$(top_srcdir)/m4/sim_ac_option_profile.m4 \
$(top_srcdir)/m4/sim_ac_option_reserved_bits.m4 \
$(top_srcdir)/m4/sim_ac_option_scache.m4 \
+ $(top_srcdir)/m4/sim_ac_option_smp.m4 \
$(top_srcdir)/m4/sim_ac_option_stdio.m4 \
$(top_srcdir)/m4/sim_ac_option_trace.m4 \
$(top_srcdir)/m4/sim_ac_option_warnings.m4 \
diff --git a/sim/aclocal.m4 b/sim/aclocal.m4
index f220c82..d7db9e4 100644
--- a/sim/aclocal.m4
+++ b/sim/aclocal.m4
@@ -1188,6 +1188,7 @@ m4_include([m4/sim_ac_option_inline.m4])
m4_include([m4/sim_ac_option_profile.m4])
m4_include([m4/sim_ac_option_reserved_bits.m4])
m4_include([m4/sim_ac_option_scache.m4])
+m4_include([m4/sim_ac_option_smp.m4])
m4_include([m4/sim_ac_option_stdio.m4])
m4_include([m4/sim_ac_option_trace.m4])
m4_include([m4/sim_ac_option_warnings.m4])
diff --git a/sim/config.h.in b/sim/config.h.in
index 71f17fb..fc4f398 100644
--- a/sim/config.h.in
+++ b/sim/config.h.in
@@ -468,6 +468,9 @@
/* Sim cache szie */
#undef WITH_SCACHE
+/* Sim SMP settings */
+#undef WITH_SMP
+
/* How to route I/O */
#undef WITH_STDIO
diff --git a/sim/configure b/sim/configure
index 3a57189..6329dfd 100755
--- a/sim/configure
+++ b/sim/configure
@@ -1004,6 +1004,7 @@ enable_sim_inline
enable_sim_profile
enable_sim_reserved_bits
enable_sim_scache
+enable_sim_smp
enable_sim_stdio
enable_sim_trace
enable_werror
@@ -1780,6 +1781,8 @@ Optional Features:
instruction
--enable-sim-scache=size
Specify simulator execution cache size
+ --enable-sim-smp=n Specify number of processors to configure for
+ (default 1)
--enable-sim-stdio Specify whether to use stdio for console
input/output
--enable-sim-trace=opts Enable tracing of simulated programs
@@ -12442,7 +12445,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12445 "configure"
+#line 12448 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12548,7 +12551,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12551 "configure"
+#line 12554 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -16080,6 +16083,31 @@ _ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_scache" >&5
$as_echo "$sim_scache" >&6; }
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking number of sim cpus to support" >&5
+$as_echo_n "checking number of sim cpus to support... " >&6; }
+default_sim_smp="0"
+sim_smp="$default_sim_smp"
+# Check whether --enable-sim-smp was given.
+if test "${enable_sim_smp+set}" = set; then :
+ enableval=$enable_sim_smp; case "${enableval}" in
+ yes) sim_smp="5";;
+ no) sim_smp="0";;
+ *) sim_smp="$enableval";;
+esac
+fi
+sim_igen_smp="-N ${sim_smp}"
+if test "x$sim_smp" = x0; then :
+
+else
+
+cat >>confdefs.h <<_ACEOF
+#define WITH_SMP $sim_smp
+_ACEOF
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_smp" >&5
+$as_echo "$sim_smp" >&6; }
+
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim stdio debug behavior" >&5
$as_echo_n "checking for sim stdio debug behavior... " >&6; }
sim_stdio="0"
diff --git a/sim/configure.ac b/sim/configure.ac
index bfcd9e5..af7e6e7 100644
--- a/sim/configure.ac
+++ b/sim/configure.ac
@@ -180,6 +180,7 @@ SIM_AC_OPTION_INLINE
SIM_AC_OPTION_PROFILE
SIM_AC_OPTION_RESERVED_BITS
SIM_AC_OPTION_SCACHE
+SIM_AC_OPTION_SMP
SIM_AC_OPTION_STDIO
SIM_AC_OPTION_TRACE
SIM_AC_OPTION_WARNINGS
diff --git a/sim/m4/sim_ac_option_smp.m4 b/sim/m4/sim_ac_option_smp.m4
index b59d7e6..5c2b35f 100644
--- a/sim/m4/sim_ac_option_smp.m4
+++ b/sim/m4/sim_ac_option_smp.m4
@@ -12,20 +12,26 @@ dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
-AC_DEFUN([SIM_AC_OPTION_SMP],
-[
+AC_DEFUN([SIM_AC_OPTION_SMP], [dnl
AC_MSG_CHECKING([number of sim cpus to support])
-default_sim_smp="ifelse([$1],,5,[$1])"
-sim_smp="$default_sim_smp""
+dnl TODO: We should increase the default to use smp at some point. When we do,
+dnl the ppc/configure sim-smp option should be merged. See the WITH_SMP check
+dnl below for more cleanups too.
+default_sim_smp="0"
+sim_smp="$default_sim_smp"
AC_ARG_ENABLE(sim-smp,
[AS_HELP_STRING([--enable-sim-smp=n],
- [Specify number of processors to configure for (default ${default_sim_smp})])],
+ [Specify number of processors to configure for (default 1)])],
[case "${enableval}" in
yes) sim_smp="5";;
no) sim_smp="0";;
*) sim_smp="$enableval";;
esac])dnl
sim_igen_smp="-N ${sim_smp}"
-AC_DEFINE_UNQUOTED([WITH_SMP], [$sim_smp], [Sim SMP settings])
+dnl NB: The ppc code uses a diff default because its smp works. That is why
+dnl we don't unconditionally enable WITH_SMP here. Once we unify ppc, we can
+dnl make this unconditional.
+AS_VAR_IF([sim_smp], [0], [], [dnl
+ AC_DEFINE_UNQUOTED([WITH_SMP], [$sim_smp], [Sim SMP settings])])
AC_MSG_RESULT($sim_smp)
])