mirror of https://github.com/xqemu/xqemu.git
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
This commit is contained in:
parent
35c4d671eb
commit
5b340b51fd
|
@ -1009,7 +1009,7 @@ static inline void gen_vfp_##name(int dp) \
|
||||||
gen_helper_vfp_##name##s(cpu_F0s, cpu_F0s, cpu_F1s, cpu_env); \
|
gen_helper_vfp_##name##s(cpu_F0s, cpu_F0s, cpu_F1s, cpu_env); \
|
||||||
}
|
}
|
||||||
|
|
||||||
#define VFP_OP1i(name) \
|
#define VFP_OP1(name) \
|
||||||
static inline void gen_vfp_##name(int dp, int arg) \
|
static inline void gen_vfp_##name(int dp, int arg) \
|
||||||
{ \
|
{ \
|
||||||
if (dp) \
|
if (dp) \
|
||||||
|
@ -1068,9 +1068,9 @@ static inline void gen_vfp_cmpe(int dp)
|
||||||
static inline void gen_vfp_F1_ld0(int dp)
|
static inline void gen_vfp_F1_ld0(int dp)
|
||||||
{
|
{
|
||||||
if (dp)
|
if (dp)
|
||||||
tcg_gen_movi_i64(cpu_F0d, 0);
|
tcg_gen_movi_i64(cpu_F1d, 0);
|
||||||
else
|
else
|
||||||
tcg_gen_movi_i32(cpu_F0s, 0);
|
tcg_gen_movi_i32(cpu_F1s, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void gen_vfp_uito(int dp)
|
static inline void gen_vfp_uito(int dp)
|
||||||
|
@ -3117,7 +3117,7 @@ static int disas_vfp_insn(CPUState * env, DisasContext *s, uint32_t insn)
|
||||||
else
|
else
|
||||||
i |= 0x800;
|
i |= 0x800;
|
||||||
n |= i << 19;
|
n |= i << 19;
|
||||||
tcg_gen_movi_i32(cpu_F0d, ((uint64_t)n) << 32);
|
tcg_gen_movi_i32(cpu_F0s, n);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case 15: /* extension space */
|
case 15: /* extension space */
|
||||||
|
|
Loading…
Reference in New Issue