aboutsummaryrefslogtreecommitdiff
path: root/sim/cris
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2021-06-19 19:36:39 -0400
committerMike Frysinger <vapier@gentoo.org>2021-06-21 21:36:51 -0400
commitbe0387eed099dbc2f2bdc92fbf60e04f846c3b2b (patch)
treea61ac0be186cfe159401b1c96892f8554b07c5af /sim/cris
parentb4ee29a4450a88a64d99db0e49bac2e8670e086b (diff)
downloadfsf-binutils-gdb-be0387eed099dbc2f2bdc92fbf60e04f846c3b2b.zip
fsf-binutils-gdb-be0387eed099dbc2f2bdc92fbf60e04f846c3b2b.tar.gz
fsf-binutils-gdb-be0387eed099dbc2f2bdc92fbf60e04f846c3b2b.tar.bz2
sim: hw: rework configure option & device selection
The sim-hardware configure option allows builders to select a set of device models to enable. But this seems like unnecessary overkill: the existence of individual device models doesn't affect performance at all as they are only enabled at runtime if the config uses them, and individually these are all <5KB a piece. Stripping off a total of ~50KB from a ~1MB binary doesn't seem useful, and it's extremely unlikely anyone will ever bother. So let's simplify the configure/make logic by turning sim-hardware into a boolean option like many of the other sim options. Any ports that have unique device models will declare them in their Makefile instead of at configure time. This will allow us to (eventually) unify the setting into the common dir.
Diffstat (limited to 'sim/cris')
-rw-r--r--sim/cris/ChangeLog6
-rw-r--r--sim/cris/Makefile.in2
-rwxr-xr-xsim/cris/configure90
-rw-r--r--sim/cris/configure.ac1
4 files changed, 47 insertions, 52 deletions
diff --git a/sim/cris/ChangeLog b/sim/cris/ChangeLog
index 7f2b465..d570ba9 100644
--- a/sim/cris/ChangeLog
+++ b/sim/cris/ChangeLog
@@ -1,3 +1,9 @@
+2021-06-21 Mike Frysinger <vapier@gentoo.org>
+
+ * Makefile.in (SIM_EXTRA_HW_DEVICES): Define.
+ * configure.ac (SIM_AC_OPTION_HARDWARE): Delete call.
+ * configure: Regenerate.
+
2021-06-20 Mike Frysinger <vapier@gentoo.org>
* traps.c (dump_statistics): Clean up sim_io_eprintf calls, and
diff --git a/sim/cris/Makefile.in b/sim/cris/Makefile.in
index ef83ce8..dfc6d6c 100644
--- a/sim/cris/Makefile.in
+++ b/sim/cris/Makefile.in
@@ -31,6 +31,8 @@ SIM_OBJS = \
$(CRISV32F_OBJS) \
traps.o
+SIM_EXTRA_HW_DEVICES = rv cris cris_900000xx
+
# Extra headers included by sim-main.h.
# FIXME: $(srccom)/cgen-ops.h should be in CGEN_INCLUDE_DEPS.
SIM_EXTRA_DEPS = \
diff --git a/sim/cris/configure b/sim/cris/configure
index 4c45fc6..89a7bee 100755
--- a/sim/cris/configure
+++ b/sim/cris/configure
@@ -588,6 +588,10 @@ sim_reserved_bits
sim_float
sim_bitsize
cgen_breaks
+sim_hw_sockser
+sim_hw_cflags
+SIM_ENABLE_HW_FALSE
+SIM_ENABLE_HW_TRUE
target_alias
host_alias
build_alias
@@ -627,16 +631,13 @@ PACKAGE_NAME
PATH_SEPARATOR
SHELL
sim_scache
-sim_hw
-sim_hw_objs
-sim_hw_cflags
sim_default_model'
ac_subst_files=''
ac_user_opts='
enable_option_checking
enable_sim_scache
-enable_sim_hardware
enable_sim_default_model
+enable_sim_hardware
'
ac_precious_vars='build_alias
host_alias
@@ -1250,10 +1251,9 @@ Optional Features:
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
--enable-sim-scache=size
Specify simulator execution cache size
- --enable-sim-hardware=LIST
- Specify the hardware to be included in the build.
--enable-sim-default-model=model
Specify default model to simulate
+ --enable-sim-hardware Whether to enable hardware/device simulation
Report bugs to the package provider.
_ACEOF
@@ -1705,11 +1705,26 @@ fi
-hardware="cfi core pal glue rv cris cris_900000xx"
-sim_hw_cflags="-DWITH_HW=1"
-sim_hw="$hardware"
-sim_hw_objs="\$(SIM_COMMON_HW_OBJS) `echo $sim_hw | sed -e 's/\([^ ][^ ]*\)/dv-\1.o/g'`"
+# The default model shouldn't matter as long as there's a BFD.
+
+default_sim_default_model="crisv32"
+# Check whether --enable-sim-default-model was given.
+if test "${enable_sim_default_model+set}" = set; then :
+ enableval=$enable_sim_default_model; case "${enableval}" in
+ yes|no) as_fn_error $? "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
+ *) sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
+esac
+if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
+ echo "Setting default model = $sim_default_model" 6>&1
+fi
+else
+ sim_default_model="-DWITH_DEFAULT_MODEL='\"${default_sim_default_model}\"'"
+fi
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim hardware settings" >&5
+$as_echo_n "checking for sim hardware settings... " >&6; }
# Check whether --enable-sim-hardware was given.
if test "${enable_sim_hardware+set}" = set; then :
enableval=$enable_sim_hardware;
@@ -1717,61 +1732,37 @@ else
enable_sim_hardware="yes"
fi
-case ${enable_sim_hardware} in
- yes|no) ;;
- ,*) hardware="${hardware} `echo ${enableval} | sed -e 's/,/ /'`";;
- *,) hardware="`echo ${enableval} | sed -e 's/,/ /'` ${hardware}";;
- *) hardware="`echo ${enableval} | sed -e 's/,/ /'`"'';;
-esac
-
+sim_hw_sockser=
if test "$enable_sim_hardware" = no; then
- sim_hw_objs=
sim_hw_cflags="-DWITH_HW=0"
- sim_hw=
-else
+elif test "$enable_sim_hardware" = yes; then
sim_hw_cflags="-DWITH_HW=1"
- # remove duplicates
- sim_hw=""
- sim_hw_objs="\$(SIM_COMMON_HW_OBJS)"
- for i in $hardware ; do
- case " $sim_hw " in
- *" $i "*) ;;
- *) sim_hw="$sim_hw $i" ; sim_hw_objs="$sim_hw_objs dv-$i.o";;
- esac
- done
# mingw does not support sockser
case ${host} in
*mingw*) ;;
*) # TODO: We don't add dv-sockser to sim_hw as it is not a "real" device
# that you instatiate. Instead, other code will call into it directly.
# At some point, we should convert it over.
- sim_hw_objs="$sim_hw_objs dv-sockser.o"
+ sim_hw_sockser="dv-sockser.o"
sim_hw_cflags="$sim_hw_cflags -DHAVE_DV_SOCKSER"
;;
esac
- if test x"$silent" != x"yes"; then
- echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
- fi
-fi
-
-
-# The default model shouldn't matter as long as there's a BFD.
-
-default_sim_default_model="crisv32"
-# Check whether --enable-sim-default-model was given.
-if test "${enable_sim_default_model+set}" = set; then :
- enableval=$enable_sim_default_model; case "${enableval}" in
- yes|no) as_fn_error $? "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
- *) sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
- echo "Setting default model = $sim_default_model" 6>&1
+else
+ as_fn_error $? "unknown argument \"$enable_sim_hardware\"" "$LINENO" 5
fi
+if test "$enable_sim_hardware" = "yes"; then
+ SIM_ENABLE_HW_TRUE=
+ SIM_ENABLE_HW_FALSE='#'
else
- sim_default_model="-DWITH_DEFAULT_MODEL='\"${default_sim_default_model}\"'"
+ SIM_ENABLE_HW_TRUE='#'
+ SIM_ENABLE_HW_FALSE=
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: ${enable_sim_hardware}" >&5
+$as_echo "${enable_sim_hardware}" >&6; }
+
+
cgen_breaks=""
@@ -1796,9 +1787,6 @@ ac_config_commands="$ac_config_commands stamp-h"
-
-
-
cat >confcache <<\_ACEOF
# This file is a shell script that caches the results of configure
# tests run on this system so they can be shared between configure
diff --git a/sim/cris/configure.ac b/sim/cris/configure.ac
index 13500a0..57a2d5f 100644
--- a/sim/cris/configure.ac
+++ b/sim/cris/configure.ac
@@ -3,7 +3,6 @@ AC_INIT(Makefile.in)
AC_CONFIG_MACRO_DIRS([../m4 ../.. ../../config])
SIM_AC_OPTION_SCACHE(16384)
-SIM_AC_OPTION_HARDWARE(rv cris cris_900000xx)
# The default model shouldn't matter as long as there's a BFD.
SIM_AC_OPTION_DEFAULT_MODEL(crisv32)