+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.
(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.
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)
#include "armos.h"
#include "armemu.h"
#include "ansidecl.h"
-#ifdef __IWMMXT__
#include "iwmmxt.h"
-#endif
/* Dummy Co-processors. */
MMUMRC, MMUMCR, NULL, MMURead, MMUWrite);
}
-#ifdef __IWMMXT__
if (state->is_iWMMXt)
{
ARMul_CoProAttach (state, 0, NULL, NULL, IwmmxtLDC, IwmmxtSTC,
ARMul_CoProAttach (state, 1, NULL, NULL, NULL, NULL,
IwmmxtMRC, IwmmxtMCR, IwmmxtCDP, NULL, NULL);
}
-#endif
+
/* No handlers below here. */
/* Call all the initialisation routines. */
#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);
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;
pc & ~1, old_sp, (old_sp % 8) ? " [UNALIGNED!]" : "");
}
}
-#endif
#endif
if (state->Exception)
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);
goto donext;
}
}
-#ifdef __IWMMXT__
+
if (ARMul_HandleIwmmxt (state, instr))
goto donext;
-#endif
}
switch ((int) BITS (20, 27))
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"
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
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
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:
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;
}
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:
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;
}