diff options
author | Aurelien Jarno <aurelien@aurel32.net> | 2011-01-06 22:43:13 +0100 |
---|---|---|
committer | Aurelien Jarno <aurelien@aurel32.net> | 2011-01-08 16:41:33 +0100 |
commit | cbc60b7ffa1397c08c5de88b37a0180cbd2978e1 (patch) | |
tree | a5b2a26837eb7249de65ebebc9ad9c6f632c3b3f /tcg | |
parent | 3a0590034cf47301277eebf5a7958261dbb44404 (diff) | |
download | qemu-cbc60b7ffa1397c08c5de88b37a0180cbd2978e1.tar.gz qemu-cbc60b7ffa1397c08c5de88b37a0180cbd2978e1.tar.bz2 qemu-cbc60b7ffa1397c08c5de88b37a0180cbd2978e1.zip |
tcg/arm: fix qemu_st64 for big endian targets
Due to a typo, qemu_st64 doesn't properly byteswap the 32-bit low word of
a 64 bit word before saving it. This patch fixes that.
Acked-by: Andrzej Zaborowski <balrogg@gmail.com>
Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Diffstat (limited to 'tcg')
-rw-r--r-- | tcg/arm/tcg-target.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c index 9def2e58fb..08c44c1123 100644 --- a/tcg/arm/tcg-target.c +++ b/tcg/arm/tcg-target.c @@ -1248,7 +1248,7 @@ static inline void tcg_out_qemu_st(TCGContext *s, const TCGArg *args, int opc) tcg_out_bswap32(s, COND_EQ, TCG_REG_R0, data_reg2); tcg_out_st32_rwb(s, COND_EQ, TCG_REG_R0, TCG_REG_R1, addr_reg); tcg_out_bswap32(s, COND_EQ, TCG_REG_R0, data_reg); - tcg_out_st32_12(s, COND_EQ, data_reg, TCG_REG_R1, 4); + tcg_out_st32_12(s, COND_EQ, TCG_REG_R0, TCG_REG_R1, 4); } else { tcg_out_st32_rwb(s, COND_EQ, data_reg, TCG_REG_R1, addr_reg); tcg_out_st32_12(s, COND_EQ, data_reg2, TCG_REG_R1, 4); |