aboutsummaryrefslogtreecommitdiff
path: root/sim/m32r
diff options
context:
space:
mode:
Diffstat (limited to 'sim/m32r')
-rw-r--r--sim/m32r/ChangeLog12
-rw-r--r--sim/m32r/Makefile.in7
-rwxr-xr-xsim/m32r/configure16
-rw-r--r--sim/m32r/configure.in14
-rw-r--r--sim/m32r/sim-if.c7
-rw-r--r--sim/m32r/sim-main.h4
6 files changed, 58 insertions, 2 deletions
diff --git a/sim/m32r/ChangeLog b/sim/m32r/ChangeLog
index 4096452..92cbd04 100644
--- a/sim/m32r/ChangeLog
+++ b/sim/m32r/ChangeLog
@@ -1,3 +1,15 @@
+2003-12-19 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
+
+ * configure.in: Changed for dummy simulator of m32r-linux.
+ * configure: Regenerate.
+ * Makefile.in: Added traps-linux.o for dummy simulator of m32r-linux.
+ * traps-linux.c: Added for dummy simulator of m32r-linux.
+ * syscall.h: Ditto.
+ * sim-if.c (sim_create_inferior): Changed to setup SP for dummy
+ simulator for m32r-linux.
+ * sim-main.h (M32R_DEFAULT_MEM_SIZE): Changed for dummy simulator of
+ m32r-linux.
+
2003-12-11 Kazuhiro Inaoka <inaoka.kazuhiro@renesas.com>
* Makefile.in: Add support for new machine m32r2.
diff --git a/sim/m32r/Makefile.in b/sim/m32r/Makefile.in
index ee3f7e8..eb29ab1 100644
--- a/sim/m32r/Makefile.in
+++ b/sim/m32r/Makefile.in
@@ -23,6 +23,7 @@
M32R_OBJS = m32r.o cpu.o decode.o sem.o model.o mloop.o
M32RX_OBJS = m32rx.o cpux.o decodex.o modelx.o mloopx.o
M32R2_OBJS = m32r2.o cpu2.o decode2.o model2.o mloop2.o
+TRAPS_OBJ = @traps_obj@
CONFIG_DEVICES = dv-sockser.o
CONFIG_DEVICES =
@@ -40,7 +41,8 @@ SIM_OBJS = \
$(M32R_OBJS) \
$(M32RX_OBJS) \
$(M32R2_OBJS) \
- traps.o devices.o \
+ $(TRAPS_OBJ) \
+ devices.o \
$(CONFIG_DEVICES)
# Extra headers included by sim-main.h.
@@ -48,7 +50,7 @@ SIM_EXTRA_DEPS = \
$(CGEN_INCLUDE_DEPS) \
arch.h cpuall.h m32r-sim.h $(srcdir)/../../opcodes/m32r-desc.h
-SIM_EXTRA_CFLAGS =
+SIM_EXTRA_CFLAGS = @sim_extra_cflags@
SIM_RUN_OBJS = nrun.o
SIM_EXTRA_CLEAN = m32r-clean
@@ -65,6 +67,7 @@ sim-if.o: sim-if.c $(SIM_MAIN_DEPS) $(srcdir)/../common/sim-core.h
arch.o: arch.c $(SIM_MAIN_DEPS)
traps.o: traps.c targ-vals.h $(SIM_MAIN_DEPS)
+traps-linux.o: traps.c syscall.h targ-vals.h $(SIM_MAIN_DEPS)
devices.o: devices.c $(SIM_MAIN_DEPS)
# M32R objs
diff --git a/sim/m32r/configure b/sim/m32r/configure
index 4a55bc1..6e8b0cd 100755
--- a/sim/m32r/configure
+++ b/sim/m32r/configure
@@ -3848,6 +3848,20 @@ fi
+ case "${target_alias}" in
+ m32r*-linux*)
+ traps_obj=traps-linux.o
+ sim_extra_cflags="-DM32R_LINUX"
+ ;;
+ *)
+ traps_obj=traps.o
+ sim_extra_cflags="-DM32R_ELF"
+ ;;
+ esac
+
+
+
+
trap '' 1 2 15
@@ -4061,6 +4075,8 @@ s%@EXEEXT@%$EXEEXT%g
s%@CGEN_MAINT@%$CGEN_MAINT%g
s%@cgendir@%$cgendir%g
s%@cgen@%$cgen%g
+s%@traps_obj@%$traps_obj%g
+s%@sim_extra_cflags@%$sim_extra_cflags%g
CEOF
EOF
diff --git a/sim/m32r/configure.in b/sim/m32r/configure.in
index f598f29..12857b9 100644
--- a/sim/m32r/configure.in
+++ b/sim/m32r/configure.in
@@ -14,4 +14,18 @@ SIM_AC_OPTION_ENVIRONMENT
SIM_AC_OPTION_INLINE()
SIM_AC_OPTION_CGEN_MAINT
+ case "${target_alias}" in
+ m32r*-linux*)
+ traps_obj=traps-linux.o
+ sim_extra_cflags="-DM32R_LINUX"
+ ;;
+ *)
+ traps_obj=traps.o
+ sim_extra_cflags="-DM32R_ELF"
+ ;;
+ esac
+AC_SUBST(traps_obj)
+AC_SUBST(sim_extra_cflags)
+
+
SIM_AC_OUTPUT
diff --git a/sim/m32r/sim-if.c b/sim/m32r/sim-if.c
index 749c79e..f8bbece 100644
--- a/sim/m32r/sim-if.c
+++ b/sim/m32r/sim-if.c
@@ -214,6 +214,13 @@ sim_create_inferior (sd, abfd, argv, envp)
addr = 0;
sim_pc_set (current_cpu, addr);
+#ifdef M32R_LINUX
+ m32rbf_h_cr_set (current_cpu,
+ m32r_decode_gdb_ctrl_regnum(SPI_REGNUM), 0x1f00000);
+ m32rbf_h_cr_set (current_cpu,
+ m32r_decode_gdb_ctrl_regnum(SPU_REGNUM), 0x1f00000);
+#endif
+
#if 0
STATE_ARGV (sd) = sim_copy_argv (argv);
STATE_ENVP (sd) = sim_copy_argv (envp);
diff --git a/sim/m32r/sim-main.h b/sim/m32r/sim-main.h
index becfb62..2cbb40b 100644
--- a/sim/m32r/sim-main.h
+++ b/sim/m32r/sim-main.h
@@ -85,6 +85,10 @@ m32r_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), \
(TRANSFER), (ERROR))
/* Default memory size. */
+#ifdef M32R_LINUX
+#define M32R_DEFAULT_MEM_SIZE 0x2000000 /* 32M */
+#else
#define M32R_DEFAULT_MEM_SIZE 0x800000 /* 8M */
+#endif
#endif /* SIM_MAIN_H */