mn10300 out of the public eye.
Do something with top-level cgen directory.
lose_these_too="${lose_these_too} ${ide_files}"
fi
+# CGEN files:
+# It is not yet clear if the cgen package will be shipped with the
+# simulators.
+cgen_files="cgen"
+
+if (echo $* | grep keep\-cgen > /dev/null); then
+ keep_these_too="${keep_these_too} ${cgen_files}"
+else
+ lose_these_too="${lose_these_too} ${cgen_files}"
+fi
# This top-level directory is special. We often check out only subsets
# of this directory, and complaining about directories or files we didn't
lose_these_too="${cygnus_files} ${lose_these_too}"
fi
+am30_files="dv-core.c dv-pal.c dv-glue.c hw-base.c hw-base.h hw-device.c hw-device.h hw-ports.c hw-ports.h hw-properties.c hw-properties.h hw-tree.c hw-tree.h sim-hw.h"
+if ( echo $* | grep keep\-am30 > /dev/null ) ; then
+ keep_these_too="${am30_files} ${keep_these_too}"
+else
+ lose_these_too="${am30_files} ${lose_these_too}"
+fi
+
# All files listed between the "Things-to-keep:" line and the
# "Files-to-sed:" line will be kept. All other files will be removed.
# Directories listed in this section will have their own Sanitize
Things-to-lose:
-dv-core.c
-dv-pal.c
-hw-base.c
-hw-base.h
-hw-device.c
-hw-device.h
-hw-ports.c
-hw-ports.h
-hw-properties.c
-hw-properties.h
-hw-tree.c
-hw-tree.h
-
Do-last:
d30v_files="ChangeLog gennltvals.sh nltvals.def"
done
fi
+am30_files="ChangeLog"
+if ( echo $* | grep keep\-am30 > /dev/null ) ; then
+ for i in $am30_files ; do
+ if test ! -d $i && (grep sanitize-am30 $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping am30 stuff in $i
+ fi
+ fi
+ done
+else
+ for i in $am30_files ; do
+ if test ! -d $i && (grep sanitize-am30 $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"am30\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-am30/,/end-\sanitize\-am30/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
cygnus_files="ChangeLog Make-common.in"
if ( echo $* | grep keep\-cygnus > /dev/null ) ; then
for i in $cygnus_files ; do
+start-sanitize-am30
+Thu Mar 26 10:07:57 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
+
+ * aclocal.m4 (sim_hw_obj): Fix sed expression to generate
+ properly formatted lists.
+
+end-sanitize-am30
+start-sanitize-am30
Thu Mar 26 10:37:22 1998 Andrew Cagney <cagney@b1.cygnus.com>
* dv-pal.c (enum hw_pal_address_mask): From Stu Grossman, was
0x2f needs to be 0x3f.
+end-sanitize-am30
+start-sanitize-am30
Thu Mar 26 09:10:56 1998 Andrew Cagney <cagney@b1.cygnus.com>
* hw-tree.c (hw_tree_find_property): Return NULL when device is
* dv-pal.c (hw_pal_io_read_buffer): Check the smp property is
present before looking for it.
+end-sanitize-am30
Wed Mar 25 16:17:38 1998 Ian Carmichael <iancarm@cygnus.com>
* aclocal.m4 (AC_CHECK_HEADERS): Add check for fpu_control.h.
(AC_CHECK_FUNCS): Add check for __setfpucw.
* configure: Regenerated.
+start-sanitize-am30
Wed Mar 25 09:18:34 1998 Andrew Cagney <cagney@b1.cygnus.com>
* dv-pal.c (hw_pal_countdown, hw_pal_countdown_value,
(do_counter_event, do_counter_read, do_counter_value,
do_counter_write): new functions.
+end-sanitize-am30
+start-sanitize-am30
Tue Mar 24 12:24:24 1998 Andrew Cagney <cagney@b1.cygnus.com>
* hw-tree.c (hw_printf): Send tree dump to stderr, same as other
* hw-base.c (hw_create): Stop searching for a device when one is
found.
+end-sanitize-am30
Wed Mar 25 12:35:29 1998 Andrew Cagney <cagney@b1.cygnus.com>
* configure: Regenerated to track ../common/aclocal.m4 changes.
+start-sanitize-am30
Mon Mar 23 10:25:08 1998 Andrew Cagney <cagney@b1.cygnus.com>
* aclocal.m4 (SIM_AC_OPTION_HARDWARE): Add second argument,
(SIM_HW): Definition from @sim_hw@.
(hw-base.o): Depend on hw-config.h
+end-sanitize-am30
Tue Mar 24 17:41:35 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
* Make-common.in: Get SHELL from configure.
* configure: Regenerate with autoconf 2.12.1 to fix shell issues for
NT native builds.
+start-sanitize-am30
Sun Mar 22 16:54:40 1998 Andrew Cagney <cagney@b1.cygnus.com>
* hw-device.h, hw-device.c (hw_strdup): New function.
* Make-common.in: Add rule for dv-glue.o.
+end-sanitize-am30
+start-sanitize-am30
Sun Mar 22 16:45:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
* hw-base.c (hw_finish): Move setting of trace level to here.
* hw-tree.c (print_properties): Supress path when printing
properties of root node.
+end-sanitize-am30
+start-sanitize-am30
Sun Mar 22 16:21:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
* hw-device.h (HW_TRACE): Define.
* dv-pal.c: Replace DTRACE with HW_TRACE.
+end-sanitize-am30
+start-sanitize-am30
Sun Mar 22 15:23:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
* hw-device.h (HW_ZALLOC, HW_MALLOC): New macros.
* dv-pal.c (hw_pal_finish): Replace zalloc/zfree with
hw_zalloc/hw_free.
+end-sanitize-am30
+start-sanitize-am30
Sun Mar 22 15:09:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
* hw-device.h (hw_attach_address_callback,
* dv-core.c (dv_core_attach_address_callback): Ditto.
* dv-pal.c (hw_pal_attach_address): Ditto.
+end-sanitize-am30
Thu Mar 19 00:41:00 1998 Andrew Cagney <cagney@b1.cygnus.com>
* sim-options.h: Document additional CPU arg to OPTION_HANDLER.
+start-sanitize-am30
Wed Mar 18 14:13:02 1998 Andrew Cagney <cagney@b1.cygnus.com>
* Make-common.in (SIM_HW_OBJS, SIM_HW_SRC, SIM_DV_OBJS): Define.
* sim-basics.h (struct hw): Declare.
(enum port_direction, enum object_disposition): Declare.
+end-sanitize-am30
+start-sanitize-am30
Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
* aclocal.m4 (SIM_AC_OPTION_HARDWARE): Set sim_hw_obj, sim_dv_obj,
* configure: Regenerated to track ../common/aclocal.m4 changes.
+end-sanitize-am30
Mon Mar 16 12:37:33 1998 Andrew Cagney <cagney@b1.cygnus.com>
* sim-trace.h, sim-trace.c (trace_prefix): Pass in sim_cia so that
Do-first:
+am30_files="dv-mn103cpu.c dv-mn103int.c"
+if ( echo $* | grep keep\-am30 > /dev/null ) ; then
+ keep_these_too="${am30_files} ${keep_these_too}"
+else
+ lose_these_too="${am30_files} ${lose_these_too}"
+fi
+
# All files listed between the "Things-to-keep:" line and the
# "Files-to-sed:" line will be kept. All other files will be removed.
# Directories listed in this section will have their own Sanitize
Things-to-lose:
-dv-mn103cpu.c
-dv-mn103int.c
-
Do-last:
+am30_files="ChangeLog interp.c configure configure.in"
+if ( echo $* | grep keep\-am30 > /dev/null ) ; then
+ for i in $am30_files ; do
+ if test ! -d $i && (grep sanitize-am30 $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Keeping am30 stuff in $i
+ fi
+ fi
+ done
+else
+ for i in $am30_files ; do
+ if test ! -d $i && (grep sanitize-am30 $i > /dev/null) ; then
+ if [ -n "${verbose}" ] ; then
+ echo Removing traces of \"am30\" from $i...
+ fi
+ cp $i new
+ sed '/start\-sanitize\-am30/,/end-\sanitize\-am30/d' < $i > new
+ if [ -n "${safe}" -a ! -f .Recover/$i ] ; then
+ if [ -n "${verbose}" ] ; then
+ echo Caching $i in .Recover...
+ fi
+ mv $i .Recover
+ fi
+ mv new $i
+ fi
+ done
+fi
+
# End of file.
+start-sanitize-am30
+Thu Mar 26 20:46:18 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
+
+ * dv-mn103cpu.c (deliver_mn103cpu_interrupt): Save the entire PC
+ on the stack when delivering interrupts (not just the lower
+ half)...
+ * mn10300.igen (mov (Di,Am),Dn): Fix decode. Registers were
+ specified in the wrong order.
+
+end-sanitize-am30
+start-sanitize-am30
Fri Mar 27 00:56:40 1998 Andrew Cagney <cagney@b1.cygnus.com>
* dv-mn103cpu.c (deliver_mn103cpu_interrupt): Stop loss of
succeeding interrupts, clear pending_handler when the handler
isn't re-scheduled.
+end-sanitize-am30
Thu Mar 26 10:11:01 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
* Makefile.in (tmp-igen): Prefix all usage of move-if-change
* simops.c (OP_F0FD): Initialise variable 'sp'.
+start-sanitize-am30
Thu Mar 26 00:21:32 1998 Andrew Cagney <cagney@b1.cygnus.com>
* dv-mn103int.c (decode_group): A group register every 4 bytes not
(write_icr): Rewrite equation updating request field.
(read_iagr): Fix check that interrupt is still pending.
+end-sanitize-am30
+start-sanitize-am30
Wed Mar 25 16:14:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
* interp.c (sim_open): Tidy up device creation.
block offsets.
(read_icr, write_icr): Convert block offset into group offset.
+end-sanitize-am30
Wed Mar 25 15:08:49 1998 Andrew Cagney <cagney@b1.cygnus.com>
* interp.c (sim_open): Create second 1mb memory region at
0x40000000.
(sim_open): Create a device tree.
(sim-hw.h): Include.
+start-sanitize-am30
(do_interrupt): Delete, needs to use dv-mn103cpu.c
* dv-mn103int.c, dv-mn103cpu.c: New files.
+end-sanitize-am30
Wed Mar 25 08:47:38 1998 Andrew Cagney <cagney@b1.cygnus.com>
fi
fi
+# start-sanitize-am30
sim_hardware="-DWITH_HW=1"
sim_hw_obj="hw-device.o hw-ports.o hw-properties.o hw-base.o hw-tree.o"
*) sim_hw="$sim_hw $i" ;;
esac
done
-sim_hw_obj="$sim_hw_obj `echo $sim_hw | sed -e 's/\([^ ]*\)/dv-\1.o/g'`"
+sim_hw_obj="$sim_hw_obj `echo $sim_hw | sed -e 's/\([^ ][^ ]*\)/dv-\1.o/g'`"
if test x"$silent" != x"yes" && test x"$hardware" != x""; then
echo "Setting hardware to $sim_hardware, $sim_hw, $sim_hw_obj"
fi
else
sim_hw="$hardware"
-sim_hw_obj="$sim_hw_obj `echo $sim_hw | sed -e 's/\([^ ]*\)/dv-\1.o/g'`"
+sim_hw_obj="$sim_hw_obj `echo $sim_hw | sed -e 's/\([^ ][^ ]*\)/dv-\1.o/g'`"
if test x"$silent" != x"yes"; then
echo "Setting hardware to $sim_hardware, $sim_hw, $sim_hw_obj"
fi
fi
+# end-sanitize-am30
for ac_func in time chmod utime fork execve execv chown
do
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1829: checking for $ac_func" >&5
+echo "configure:1831: checking for $ac_func" >&5
if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1834 "configure"
+#line 1836 "configure"
#include "confdefs.h"
/* System header to define __stub macros and hopefully few prototypes,
which can conflict with char $ac_func(); below. */
; return 0; }
EOF
-if { (eval echo configure:1857: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
+if { (eval echo configure:1859: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
rm -rf conftest*
eval "ac_cv_func_$ac_func=yes"
else
do
ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1885: checking for $ac_hdr" >&5
+echo "configure:1887: checking for $ac_hdr" >&5
if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
echo $ac_n "(cached) $ac_c" 1>&6
else
cat > conftest.$ac_ext <<EOF
-#line 1890 "configure"
+#line 1892 "configure"
#include "confdefs.h"
#include <$ac_hdr>
EOF
ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1895: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
+{ (eval echo configure:1897: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
ac_err=`grep -v '^ *+' conftest.out`
if test -z "$ac_err"; then
rm -rf conftest*
SIM_AC_OPTION_WARNINGS
SIM_AC_OPTION_RESERVED_BITS
SIM_AC_OPTION_BITSIZE(32,31)
+# start-sanitize-am30
SIM_AC_OPTION_HARDWARE(,mn103cpu mn103int)
+# end-sanitize-am30
AC_CHECK_FUNCS(time chmod utime fork execve execv chown)
AC_CHECK_HEADERS(unistd.h stdlib.h string.h strings.h utime.h time.h)
#if WITH_COMMON
#include "sim-main.h"
#include "sim-options.h"
+/* start-sanitize-am30 */
#include "sim-hw.h"
+/* end-sanitize-am30 */
#else
#include "mn10300_sim.h"
#endif
/* For compatibility */
SIM_DESC simulator;
+/* start-sanitize-am30 */
+/* Until the tree root gets moved somewhere else */
+struct hw *hw;
+/* end-sanitize-am30 */
/* These default values correspond to expected usage for the chip. */
char **argv;
{
SIM_DESC sd = sim_state_alloc (kind, cb);
- struct hw *hw;
mn10300_callback = cb;
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
return 0;
}
+ /* start-sanitize-am30 */
hw = hw_tree_create (sd, "core");
hw_tree_parse (hw, "/");
if (STATE_VERBOSE_P (sd))
/* interrupt controller */
- hw_tree_parse (hw, "/mn103int@0x34000100");
+ hw_tree_parse (hw, "/mn103int@0x34000100/reg 0x34000100 0x68 0x34000200 0x8 0x3400280 0x8");
if (STATE_VERBOSE_P (sd))
hw_tree_parse (hw, "/mn103int/trace? true");
- hw_tree_parse (hw, "/mn103int/reg 0x34000100 0x68 0x34000200 0x8 0x3400280 0x8");
- /* NMI input's */
- hw_tree_parse (hw, "/glue@0x30000000");
+ /* DEBUG: NMI input's */
+ hw_tree_parse (hw, "/glue@0x30000000/reg 0x30000000 12");
if (STATE_VERBOSE_P (sd))
hw_tree_parse (hw, "/glue@0x30000000/trace? true");
- hw_tree_parse (hw, "/glue@0x30000000/reg 0x30000000 16");
- hw_tree_parse (hw, "/glue@0x30000000 > int1 nmirq /mn103int");
- hw_tree_parse (hw, "/glue@0x30000000 > int2 watchdog /mn103int");
- hw_tree_parse (hw, "/glue@0x30000000 > int3 syserr /mn103int");
+ hw_tree_parse (hw, "/glue@0x30000000 > int0 nmirq /mn103int");
+ hw_tree_parse (hw, "/glue@0x30000000 > int1 watchdog /mn103int");
+ hw_tree_parse (hw, "/glue@0x30000000 > int2 syserr /mn103int");
- /* NMI output */
- hw_tree_parse (hw, "/mn103int > nmi int0 /glue@0x30000000");
-
- /* ACK input */
- hw_tree_parse (hw, "/glue@0x30002000");
+ /* DEBUG: ACK input */
+ hw_tree_parse (hw, "/glue@0x30002000/reg 0x30002000 4");
if (STATE_VERBOSE_P (sd))
hw_tree_parse (hw, "/glue@0x30002000/trace? true");
- hw_tree_parse (hw, "/glue@0x30002000/reg 0x30002000 4");
hw_tree_parse (hw, "/glue@0x30002000 > int ack /mn103int");
- /* LEVEL output */
- hw_tree_parse (hw, "/glue@0x30004000");
+ /* DEBUG: LEVEL output */
+ hw_tree_parse (hw, "/glue@0x30004000/reg 0x30004000 8");
if (STATE_VERBOSE_P (sd))
hw_tree_parse (hw, "/glue@0x30004000/trace? true");
- hw_tree_parse (hw, "/glue@0x30004000/reg 0x30004000 4");
- hw_tree_parse (hw, "/mn103int > level int /glue@0x30004000");
+ hw_tree_parse (hw, "/mn103int > nmi int0 /glue@0x30004000");
+ hw_tree_parse (hw, "/mn103int > level int1 /glue@0x30004000");
- /* A bunch of interrupt inputs */
- hw_tree_parse (hw, "/glue@0x30006000");
+ /* DEBUG: A bunch of interrupt inputs */
+ hw_tree_parse (hw, "/glue@0x30006000/reg 0x30006000 32");
if (STATE_VERBOSE_P (sd))
hw_tree_parse (hw, "/glue@0x30006000/trace? true");
- hw_tree_parse (hw, "/glue@0x30006000/reg 0x30006000 16");
hw_tree_parse (hw, "/glue@0x30006000 > int0 irq-0 /mn103int");
hw_tree_parse (hw, "/glue@0x30006000 > int1 irq-1 /mn103int");
hw_tree_parse (hw, "/glue@0x30006000 > int2 irq-2 /mn103int");
hw_tree_parse (hw, "/glue@0x30006000 > int3 irq-3 /mn103int");
+ hw_tree_parse (hw, "/glue@0x30006000 > int4 irq-4 /mn103int");
+ hw_tree_parse (hw, "/glue@0x30006000 > int5 irq-5 /mn103int");
+ hw_tree_parse (hw, "/glue@0x30006000 > int6 irq-6 /mn103int");
+ hw_tree_parse (hw, "/glue@0x30006000 > int7 irq-7 /mn103int");
/* processor interrupt device */
hw_tree_parse (hw, "/glue@0x20004000 > int1 nmi /mn103cpu");
hw_tree_parse (hw, "/glue@0x20004000 > int2 level /mn103cpu");
- /* The processor wired up to the real interrupt controller */
+ /* REAL: The processor wired up to the real interrupt controller */
+#if 1
hw_tree_parse (hw, "/mn103cpu > ack ack /mn103int");
hw_tree_parse (hw, "/mn103int > level level /mn103cpu");
hw_tree_parse (hw, "/mn103int > nmi nmi /mn103cpu");
+#endif
/* PAL */
hw_tree_parse (hw, "/glue@0x31002000 > int1 int3 /glue@0x31002000");
hw_tree_parse (hw, "/glue@0x31002000 > int2 int3 /glue@0x31002000");
- /* The PAL wired up to the real interrupt controller */
+ /* REAL: The PAL wired up to the real interrupt controller */
hw_tree_parse (hw, "/pal@0x31000000 > countdown irq-0 /mn103int");
hw_tree_parse (hw, "/pal@0x31000000 > timer irq-1 /mn103int");
hw_tree_parse (hw, "/pal@0x31000000 > int irq-2 /mn103int");
hw_tree_finish (hw);
if (STATE_VERBOSE_P (sd))
hw_tree_print (hw);
+ /* end-sanitize-am30 */
/* check for/establish the a reference program image */
if (sim_analyze_program (sd,