[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 04/15] target-arm: Fix TCG temp handling in 64 bit c
From: |
Peter Maydell |
Subject: |
[Qemu-devel] [PATCH 04/15] target-arm: Fix TCG temp handling in 64 bit cp writes |
Date: |
Thu, 12 Jul 2012 14:36:45 +0100 |
Fix errors in the TCG temp handling in the 64 bit coprocessor
write path: we were reusing a 32 bit temp after it had been
freed by store_reg(), and failing to free a 64 bit temp.
This bug has no visible effect at this point because there
aren't any non-NOP 64 bit registers yet; it needs to be fixed
as a prerequisite for the 64 bit registers in LPAE support.
Signed-off-by: Peter Maydell <address@hidden>
---
target-arm/translate.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)
diff --git a/target-arm/translate.c b/target-arm/translate.c
index f39b9ca..29008a4 100644
--- a/target-arm/translate.c
+++ b/target-arm/translate.c
@@ -6263,7 +6263,9 @@ static int disas_coproc_insn(CPUARMState * env,
DisasContext *s, uint32_t insn)
tcg_gen_trunc_i64_i32(tmp, tmp64);
store_reg(s, rt, tmp);
tcg_gen_shri_i64(tmp64, tmp64, 32);
+ tmp = tcg_temp_new_i32();
tcg_gen_trunc_i64_i32(tmp, tmp64);
+ tcg_temp_free_i64(tmp64);
store_reg(s, rt2, tmp);
} else {
TCGv tmp;
--
1.7.1
- [Qemu-devel] [PULL 00/15] target-arm queue, Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 14/15] target-arm: Implement TTBCR changes for LPAE, Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 04/15] target-arm: Fix TCG temp handling in 64 bit cp writes,
Peter Maydell <=
- [Qemu-devel] [PATCH 07/15] target-arm: Implement privileged-execute-never (PXN), Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 09/15] target-arm: Add AMAIR0, AMAIR1 LPAE cp15 registers, Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 06/15] ARM: Make target_phys_addr_t 64 bits and physaddrs 40 bits, Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 10/15] target-arm: Add 64 bit variants of DBGDRAR and DBGDSAR for LPAE, Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 11/15] target-arm: Add 64 bit PAR, TTBR0, TTBR1 for LPAE, Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 15/15] target-arm: Add support for long format translation table walks, Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 03/15] target-arm: Fix some copy-and-paste errors in cp register names, Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 12/15] target-arm: Use target_phys_addr_t in get_phys_addr(), Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 01/15] target-arm: Fix CP15 based WFI, Peter Maydell, 2012/07/12
- [Qemu-devel] [PATCH 08/15] target-arm: Extend feature flags to 64 bits, Peter Maydell, 2012/07/12