Add sanitize-am30 markers. Keep details of AM30 implementation of

mn10300 out of the public eye.
Do something with top-level cgen directory.
This commit is contained in:
Andrew Cagney 1998-03-27 03:10:53 +00:00
parent 77c9b27d97
commit 6d133cc9df
8 changed files with 171 additions and 48 deletions

View File

@ -117,6 +117,16 @@ else
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

View File

@ -22,6 +22,13 @@ else
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
@ -117,19 +124,6 @@ tconfig.in
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"
@ -160,6 +154,34 @@ else
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

View File

@ -1,8 +1,18 @@
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
@ -13,12 +23,14 @@ Thu Mar 26 09:10:56 1998 Andrew Cagney <cagney@b1.cygnus.com>
* 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,
@ -27,6 +39,8 @@ Wed Mar 25 09:18:34 1998 Andrew Cagney <cagney@b1.cygnus.com>
(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
@ -35,10 +49,12 @@ Tue Mar 24 12:24:24 1998 Andrew Cagney <cagney@b1.cygnus.com>
* 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,
@ -51,6 +67,7 @@ Mon Mar 23 10:25:08 1998 Andrew Cagney <cagney@b1.cygnus.com>
(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.
@ -61,6 +78,7 @@ Tue Mar 24 17:41:35 1998 Stu Grossman <grossman@bhuna.cygnus.co.uk>
* 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.
@ -81,6 +99,8 @@ Sun Mar 22 16:54:40 1998 Andrew Cagney <cagney@b1.cygnus.com>
* 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.
@ -94,6 +114,8 @@ Sun Mar 22 16:45:54 1998 Andrew Cagney <cagney@b1.cygnus.com>
* 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.
@ -107,6 +129,8 @@ Sun Mar 22 16:21:15 1998 Andrew Cagney <cagney@b1.cygnus.com>
* 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.
@ -138,6 +162,8 @@ Sun Mar 22 15:23:35 1998 Andrew Cagney <cagney@b1.cygnus.com>
* 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,
@ -149,10 +175,12 @@ Sun Mar 22 15:09:52 1998 Andrew Cagney <cagney@b1.cygnus.com>
* 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.
@ -180,6 +208,8 @@ Wed Mar 18 14:13:02 1998 Andrew Cagney <cagney@b1.cygnus.com>
* 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,
@ -188,6 +218,7 @@ Wed Mar 18 12:38:12 1998 Andrew Cagney <cagney@b1.cygnus.com>
* 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

View File

@ -15,6 +15,13 @@
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
@ -39,9 +46,34 @@ op_utils.c
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.

View File

@ -1,9 +1,21 @@
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
@ -26,6 +38,7 @@ Wed Mar 25 12:08:00 1998 Joyce Janczyn <janczyn@cygnus.com>
* 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
@ -33,6 +46,8 @@ Thu Mar 26 00:21:32 1998 Andrew Cagney <cagney@b1.cygnus.com>
(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.
@ -43,15 +58,18 @@ Wed Mar 25 16:14:50 1998 Andrew Cagney <cagney@b1.cygnus.com>
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>

18
sim/mn10300/configure vendored
View File

@ -1785,6 +1785,7 @@ if test x"$wire_cell_bitsize" != x; then
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"
@ -1808,29 +1809,30 @@ for i in x $hardware ; do
*) 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. */
@ -1853,7 +1855,7 @@ $ac_func();
; 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
@ -1881,17 +1883,17 @@ for ac_hdr in unistd.h stdlib.h string.h strings.h utime.h time.h
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*

View File

@ -12,7 +12,9 @@ SIM_AC_OPTION_HOSTENDIAN
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)

View File

@ -3,7 +3,9 @@
#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
@ -892,6 +894,10 @@ sim_load (sd, prog, abfd, from_tty)
/* 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. */
@ -903,7 +909,6 @@ sim_open (kind, cb, abfd, argv)
char **argv;
{
SIM_DESC sd = sim_state_alloc (kind, cb);
struct hw *hw;
mn10300_callback = cb;
SIM_ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
@ -937,6 +942,7 @@ sim_open (kind, cb, abfd, argv)
return 0;
}
/* start-sanitize-am30 */
hw = hw_tree_create (sd, "core");
hw_tree_parse (hw, "/");
if (STATE_VERBOSE_P (sd))
@ -945,46 +951,43 @@ sim_open (kind, cb, abfd, argv)
/* 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 */
@ -1011,10 +1014,12 @@ sim_open (kind, cb, abfd, argv)
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 */
@ -1037,7 +1042,7 @@ sim_open (kind, cb, abfd, argv)
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");
@ -1047,6 +1052,7 @@ sim_open (kind, cb, abfd, argv)
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,