aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--sim/arm/ChangeLog16
-rw-r--r--sim/arm/Makefile.in4
-rw-r--r--sim/arm/armcopro.c5
-rw-r--r--sim/arm/armemu.c14
-rwxr-xr-xsim/arm/configure11
-rw-r--r--sim/arm/configure.in10
-rw-r--r--sim/arm/wrapper.c6
7 files changed, 23 insertions, 43 deletions
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog
index 2249ade..03c923e 100644
--- a/sim/arm/ChangeLog
+++ b/sim/arm/ChangeLog
@@ -1,3 +1,18 @@
+2003-03-30 Nick Clifton <nickc@redhat.com>
+
+ * configure.in (CON_FLAGS): Remove.
+ (COPRO): Unconditionally include iwmmxt.o.
+ * configure: Regenerate.
+ * Makefile.in (CON_FLAGS): Remove.
+ * armcopro.c: Remove use of __IWMMXT__ flag.
+ * wrapper.c: Likewise.
+ * armemu.c: Likewise.
+ Add explanatory comment for suppressed code.
+
+2003-03-27 Nick Clifton <nickc@redhat.com>
+
+ * armos.c (ARMul_OsHandleSWI): Catch SWIs for unhandled vectors.
+
2003-03-27 Nick Clifton <nickc@redhat.com>
* configure.in: (CON_FLAGS): Define and intialise.
@@ -15,7 +30,6 @@
(ARMul_Abort): Catch branches through uninitialised vectors.
* armos.c (softevtorcode): Update comment.
(ARMul_OsInit): Use ARMUndefinedInstrV.
- (ARMul_OsHandleSWI): Catch SWIs for unhandled vectors.
* wrapper.c (sim_create_inferior): Handle iWMMXt processor type.
(sim_store_register): Handle iWMMXt registers.
(sim_fetch_register): Handle iWMMXt registers.
diff --git a/sim/arm/Makefile.in b/sim/arm/Makefile.in
index 0218f72..7def0f9 100644
--- a/sim/arm/Makefile.in
+++ b/sim/arm/Makefile.in
@@ -34,10 +34,6 @@ armcopro.o: armcopro.c armdefs.h
maverick.o: maverick.c armdefs.h
iwmmxt.o: iwmmxt.c iwmmxt.h armdefs.h
-CON_FLAGS=@CON_FLAGS@
-
-ALL_CFLAGS += $(CON_FLAGS)
-
armemu26.o: armemu.c armdefs.h armemu.h
$(CC) -c $(srcdir)/armemu.c -o armemu26.o $(ALL_CFLAGS)
diff --git a/sim/arm/armcopro.c b/sim/arm/armcopro.c
index 5fb72bf..aa75243 100644
--- a/sim/arm/armcopro.c
+++ b/sim/arm/armcopro.c
@@ -19,9 +19,7 @@
#include "armos.h"
#include "armemu.h"
#include "ansidecl.h"
-#ifdef __IWMMXT__
#include "iwmmxt.h"
-#endif
/* Dummy Co-processors. */
@@ -1368,7 +1366,6 @@ ARMul_CoProInit (ARMul_State * state)
MMUMRC, MMUMCR, NULL, MMURead, MMUWrite);
}
-#ifdef __IWMMXT__
if (state->is_iWMMXt)
{
ARMul_CoProAttach (state, 0, NULL, NULL, IwmmxtLDC, IwmmxtSTC,
@@ -1377,7 +1374,7 @@ ARMul_CoProInit (ARMul_State * state)
ARMul_CoProAttach (state, 1, NULL, NULL, NULL, NULL,
IwmmxtMRC, IwmmxtMCR, IwmmxtCDP, NULL, NULL);
}
-#endif
+
/* No handlers below here. */
/* Call all the initialisation routines. */
diff --git a/sim/arm/armemu.c b/sim/arm/armemu.c
index 53fc992..d12ad10 100644
--- a/sim/arm/armemu.c
+++ b/sim/arm/armemu.c
@@ -19,9 +19,7 @@
#include "armdefs.h"
#include "armemu.h"
#include "armos.h"
-#ifdef __IWMMXT__
#include "iwmmxt.h"
-#endif
static ARMword GetDPRegRHS (ARMul_State *, ARMword);
static ARMword GetDPSRegRHS (ARMul_State *, ARMword);
@@ -377,14 +375,12 @@ ARMul_Emulate26 (ARMul_State * state)
if (state->EventSet)
ARMul_EnvokeEvent (state);
-#if 0
- /* Enable this for a helpful bit of debugging when tracing is needed. */
+#if 0 /* Enable this for a helpful bit of debugging when tracing is needed. */
fprintf (stderr, "pc: %x, instr: %x\n", pc & ~1, instr);
if (instr == 0)
abort ();
#endif
-#ifdef __IWMMXT__
-#if 0
+#if 0 /* Enable this code to help track down stack alignment bugs. */
{
static ARMword old_sp = -1;
@@ -396,7 +392,6 @@ ARMul_Emulate26 (ARMul_State * state)
}
}
#endif
-#endif
if (state->Exception)
{
@@ -509,12 +504,10 @@ ARMul_Emulate26 (ARMul_State * state)
else if ((instr & 0xFC70F000) == 0xF450F000)
/* The PLD instruction. Ignored. */
goto donext;
-#ifdef __IWMMXT__
else if ( ((instr & 0xfe500f00) == 0xfc100100)
|| ((instr & 0xfe500f00) == 0xfc000100))
/* wldrw and wstrw are unconditional. */
goto mainswitch;
-#endif
else
/* UNDEFINED in v5, UNPREDICTABLE in v3, v4, non executed in v1, v2. */
ARMul_UndefInstr (state, instr);
@@ -712,10 +705,9 @@ check_PMUintr:
goto donext;
}
}
-#ifdef __IWMMXT__
+
if (ARMul_HandleIwmmxt (state, instr))
goto donext;
-#endif
}
switch ((int) BITS (20, 27))
diff --git a/sim/arm/configure b/sim/arm/configure
index 8f79c25..a82b7c7 100755
--- a/sim/arm/configure
+++ b/sim/arm/configure
@@ -3534,15 +3534,7 @@ fi
done
-COPRO="armcopro.o maverick.o"
-CON_FLAGS=
-case x$target_alias in
- xxscale-*)
- COPRO="armcopro.o maverick.o iwmmxt.o"
- CON_FLAGS=-D__IWMMXT__
- ;;
-esac
-
+COPRO="armcopro.o maverick.o iwmmxt.o"
@@ -3756,7 +3748,6 @@ s%@sim_stdio@%$sim_stdio%g
s%@sim_trace@%$sim_trace%g
s%@sim_profile@%$sim_profile%g
s%@EXEEXT@%$EXEEXT%g
-s%@CON_FLAGS@%$CON_FLAGS%g
s%@COPRO@%$COPRO%g
CEOF
diff --git a/sim/arm/configure.in b/sim/arm/configure.in
index c001068..44300ca 100644
--- a/sim/arm/configure.in
+++ b/sim/arm/configure.in
@@ -7,16 +7,8 @@ SIM_AC_COMMON
AC_CHECK_HEADERS(unistd.h)
-COPRO="armcopro.o maverick.o"
-CON_FLAGS=
-case x$target_alias in
- xxscale-*)
- COPRO="armcopro.o maverick.o iwmmxt.o"
- CON_FLAGS=-D__IWMMXT__
- ;;
-esac
+COPRO="armcopro.o maverick.o iwmmxt.o"
-AC_SUBST(CON_FLAGS)
AC_SUBST(COPRO)
SIM_AC_OUTPUT
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
index 46410c3..bba6f7f 100644
--- a/sim/arm/wrapper.c
+++ b/sim/arm/wrapper.c
@@ -505,7 +505,6 @@ sim_store_register (sd, rn, memory, length)
memcpy (&DSPsc, memory, sizeof DSPsc);
return sizeof DSPsc;
-#ifdef __IWMMXT__
case SIM_ARM_IWMMXT_COP0R0_REGNUM:
case SIM_ARM_IWMMXT_COP0R1_REGNUM:
case SIM_ARM_IWMMXT_COP0R2_REGNUM:
@@ -539,7 +538,7 @@ sim_store_register (sd, rn, memory, length)
case SIM_ARM_IWMMXT_COP1R14_REGNUM:
case SIM_ARM_IWMMXT_COP1R15_REGNUM:
return Store_Iwmmxt_Register (rn - SIM_ARM_IWMMXT_COP0R0_REGNUM, memory);
-#endif
+
default:
return 0;
}
@@ -619,7 +618,6 @@ sim_fetch_register (sd, rn, memory, length)
memcpy (memory, & DSPsc, sizeof DSPsc);
return sizeof DSPsc;
-#ifdef __IWMMXT__
case SIM_ARM_IWMMXT_COP0R0_REGNUM:
case SIM_ARM_IWMMXT_COP0R1_REGNUM:
case SIM_ARM_IWMMXT_COP0R2_REGNUM:
@@ -653,7 +651,7 @@ sim_fetch_register (sd, rn, memory, length)
case SIM_ARM_IWMMXT_COP1R14_REGNUM:
case SIM_ARM_IWMMXT_COP1R15_REGNUM:
return Fetch_Iwmmxt_Register (rn - SIM_ARM_IWMMXT_COP0R0_REGNUM, memory);
-#endif
+
default:
return 0;
}