aboutsummaryrefslogtreecommitdiff
path: root/sim/arm/arminit.c
diff options
context:
space:
mode:
authorNick Clifton <nickc@redhat.com>2005-04-25 07:48:59 +0000
committerNick Clifton <nickc@redhat.com>2005-04-25 07:48:59 +0000
commit8207e0f24ed02f921d7eb24fd80ac919e38a36f7 (patch)
tree9bb01fd4e158a04fcc06289c39d2b7a400495e6e /sim/arm/arminit.c
parent02ddf1568180e41117d6d2804636e64775ac37b6 (diff)
downloadgdb-8207e0f24ed02f921d7eb24fd80ac919e38a36f7.zip
gdb-8207e0f24ed02f921d7eb24fd80ac919e38a36f7.tar.gz
gdb-8207e0f24ed02f921d7eb24fd80ac919e38a36f7.tar.bz2
* armemu.c (handle_v6_insn): New function - emulate a few of the v6 instructions - the ones now generated by GCC.
(ARMulEmulate32): Call handle_v6_insn when a possible v6 insn is found. * armdefs.h (struct ARMul_State): Add new field: is_v6.# (ARM_v6_Prop): Define. * arminit.c (ARMul_NewState): Initialise the v6 flag. (ARMul_SelectProcessor): Determine if the v6 flag should be set. * wrapper.c (sim_create_inferior): For unknown architectures, default to allowing the v6 instructions.
Diffstat (limited to 'sim/arm/arminit.c')
-rw-r--r--sim/arm/arminit.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/sim/arm/arminit.c b/sim/arm/arminit.c
index 4588787..544a0c1 100644
--- a/sim/arm/arminit.c
+++ b/sim/arm/arminit.c
@@ -129,6 +129,7 @@ ARMul_NewState (void)
state->is_v5e = LOW;
state->is_XScale = LOW;
state->is_iWMMXt = LOW;
+ state->is_v6 = LOW;
ARMul_Reset (state);
@@ -161,6 +162,7 @@ ARMul_SelectProcessor (ARMul_State * state, unsigned properties)
state->is_XScale = (properties & ARM_XScale_Prop) ? HIGH : LOW;
state->is_iWMMXt = (properties & ARM_iWMMXt_Prop) ? HIGH : LOW;
state->is_ep9312 = (properties & ARM_ep9312_Prop) ? HIGH : LOW;
+ state->is_v6 = (properties & ARM_v6_Prop) ? HIGH : LOW;
/* Only initialse the coprocessor support once we
know what kind of chip we are dealing with. */