Commit 5b340b51fda6f2bdfde6777aa2c8cf69294e17c9

Authored by balrog
1 parent 35c4d671

Fix ARM VFP related segfaults.

The fconst change is partly a guess.
VFP_OP1 is still unused.
An ARMv6 target still won't boot.


git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4210 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 4 additions and 4 deletions
target-arm/translate.c
... ... @@ -1009,7 +1009,7 @@ static inline void gen_vfp_##name(int dp) \
1009 1009 gen_helper_vfp_##name##s(cpu_F0s, cpu_F0s, cpu_F1s, cpu_env); \
1010 1010 }
1011 1011  
1012   -#define VFP_OP1i(name) \
  1012 +#define VFP_OP1(name) \
1013 1013 static inline void gen_vfp_##name(int dp, int arg) \
1014 1014 { \
1015 1015 if (dp) \
... ... @@ -1068,9 +1068,9 @@ static inline void gen_vfp_cmpe(int dp)
1068 1068 static inline void gen_vfp_F1_ld0(int dp)
1069 1069 {
1070 1070 if (dp)
1071   - tcg_gen_movi_i64(cpu_F0d, 0);
  1071 + tcg_gen_movi_i64(cpu_F1d, 0);
1072 1072 else
1073   - tcg_gen_movi_i32(cpu_F0s, 0);
  1073 + tcg_gen_movi_i32(cpu_F1s, 0);
1074 1074 }
1075 1075  
1076 1076 static inline void gen_vfp_uito(int dp)
... ... @@ -3117,7 +3117,7 @@ static int disas_vfp_insn(CPUState * env, DisasContext *s, uint32_t insn)
3117 3117 else
3118 3118 i |= 0x800;
3119 3119 n |= i << 19;
3120   - tcg_gen_movi_i32(cpu_F0d, ((uint64_t)n) << 32);
  3120 + tcg_gen_movi_i32(cpu_F0s, n);
3121 3121 }
3122 3122 break;
3123 3123 case 15: /* extension space */
... ...