* 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.
This commit is contained in:
Nick Clifton
2005-04-25 07:48:59 +00:00
parent 02ddf15681
commit 8207e0f24e
5 changed files with 314 additions and 1 deletions

View File

@@ -275,7 +275,7 @@ sim_create_inferior (sd, abfd, argv, env)
removes the FPE emulator, since it conflicts with its coprocessors.
For the most generic ARM support, we want the FPE emulator in place. */
case bfd_mach_arm_XScale:
ARMul_SelectProcessor (state, ARM_v5_Prop | ARM_v5e_Prop | ARM_XScale_Prop);
ARMul_SelectProcessor (state, ARM_v5_Prop | ARM_v5e_Prop | ARM_XScale_Prop | ARM_v6_Prop);
break;
case bfd_mach_arm_iWMMXt: