* [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups
@ 2013-04-29 15:08 Richard Henderson
2013-04-29 15:08 ` [Qemu-devel] [PATCH for-1.5 1/2] tcg-arm: Fix 64-bit tlb load for pre-v6 Richard Henderson
` (3 more replies)
0 siblings, 4 replies; 5+ messages in thread
From: Richard Henderson @ 2013-04-29 15:08 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, aurelien
The first patch really ought to get into 1.5.
The second patch is a re-done version of the 19/19 patch from version 5
of the previous patch series. We had dropped that due to wanting to
avoid 16MB assumption changes. The revised patch merely changes how we
handle the constant that needs loading.
Please apply.
r~
Richard Henderson (2):
tcg-arm: Fix 64-bit tlb load for pre-v6
tcg-arm: Use movi32 in exit_tb
tcg/arm/tcg-target.c | 18 ++++++++----------
1 file changed, 8 insertions(+), 10 deletions(-)
--
1.8.1.4
^ permalink raw reply [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH for-1.5 1/2] tcg-arm: Fix 64-bit tlb load for pre-v6
2013-04-29 15:08 [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups Richard Henderson
@ 2013-04-29 15:08 ` Richard Henderson
2013-04-29 15:08 ` [Qemu-devel] [PATCH for-1.5 2/2] tcg-arm: Use movi32 in exit_tb Richard Henderson
` (2 subsequent siblings)
3 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2013-04-29 15:08 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, aurelien
Found by inspection, since the effect of the bug was simply to
send all memory ops through the slow path.
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
tcg/arm/tcg-target.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c
index 7216f7a..12edad4 100644
--- a/tcg/arm/tcg-target.c
+++ b/tcg/arm/tcg-target.c
@@ -1190,7 +1190,7 @@ static void tcg_out_tlb_read(TCGContext *s, TCGReg addrlo, TCGReg addrhi,
tcg_out_memop_12(s, COND_AL, INSN_LDR_IMM, TCG_REG_R0,
TCG_REG_R2, tlb_offset, 1, 1);
if (TARGET_LONG_BITS == 64) {
- tcg_out_memop_12(s, COND_AL, INSN_LDR_IMM, TCG_REG_R0,
+ tcg_out_memop_12(s, COND_AL, INSN_LDR_IMM, TCG_REG_R1,
TCG_REG_R2, 4, 1, 0);
}
}
--
1.8.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* [Qemu-devel] [PATCH for-1.5 2/2] tcg-arm: Use movi32 in exit_tb
2013-04-29 15:08 [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups Richard Henderson
2013-04-29 15:08 ` [Qemu-devel] [PATCH for-1.5 1/2] tcg-arm: Fix 64-bit tlb load for pre-v6 Richard Henderson
@ 2013-04-29 15:08 ` Richard Henderson
2013-05-02 7:40 ` [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups Richard Henderson
2013-05-03 10:01 ` Aurelien Jarno
3 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2013-04-29 15:08 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, aurelien
Avoid the mini constant pool for armv7, and avoid replicating
the test for pre-v7.
Signed-off-by: Richard Henderson <rth@twiddle.net>
---
tcg/arm/tcg-target.c | 16 +++++++---------
1 file changed, 7 insertions(+), 9 deletions(-)
diff --git a/tcg/arm/tcg-target.c b/tcg/arm/tcg-target.c
index 12edad4..3d43412 100644
--- a/tcg/arm/tcg-target.c
+++ b/tcg/arm/tcg-target.c
@@ -1611,17 +1611,15 @@ static inline void tcg_out_op(TCGContext *s, TCGOpcode opc,
switch (opc) {
case INDEX_op_exit_tb:
- {
+ if (use_armv7_instructions || check_fit_imm(args[0])) {
+ tcg_out_movi32(s, COND_AL, TCG_REG_R0, args[0]);
+ tcg_out_goto(s, COND_AL, (tcg_target_ulong) tb_ret_addr);
+ } else {
uint8_t *ld_ptr = s->code_ptr;
- if (args[0] >> 8)
- tcg_out_ld32_12(s, COND_AL, TCG_REG_R0, TCG_REG_PC, 0);
- else
- tcg_out_dat_imm(s, COND_AL, ARITH_MOV, TCG_REG_R0, 0, args[0]);
+ tcg_out_ld32_12(s, COND_AL, TCG_REG_R0, TCG_REG_PC, 0);
tcg_out_goto(s, COND_AL, (tcg_target_ulong) tb_ret_addr);
- if (args[0] >> 8) {
- *ld_ptr = (uint8_t) (s->code_ptr - ld_ptr) - 8;
- tcg_out32(s, args[0]);
- }
+ *ld_ptr = (uint8_t) (s->code_ptr - ld_ptr) - 8;
+ tcg_out32(s, args[0]);
}
break;
case INDEX_op_goto_tb:
--
1.8.1.4
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups
2013-04-29 15:08 [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups Richard Henderson
2013-04-29 15:08 ` [Qemu-devel] [PATCH for-1.5 1/2] tcg-arm: Fix 64-bit tlb load for pre-v6 Richard Henderson
2013-04-29 15:08 ` [Qemu-devel] [PATCH for-1.5 2/2] tcg-arm: Use movi32 in exit_tb Richard Henderson
@ 2013-05-02 7:40 ` Richard Henderson
2013-05-03 10:01 ` Aurelien Jarno
3 siblings, 0 replies; 5+ messages in thread
From: Richard Henderson @ 2013-05-02 7:40 UTC (permalink / raw)
To: qemu-devel; +Cc: aliguori, aurelien
Quick ping since the freeze is coming soon...
r~
On 2013-04-29 16:08, Richard Henderson wrote:
> The first patch really ought to get into 1.5.
>
> The second patch is a re-done version of the 19/19 patch from version 5
> of the previous patch series. We had dropped that due to wanting to
> avoid 16MB assumption changes. The revised patch merely changes how we
> handle the constant that needs loading.
>
> Please apply.
>
>
> r~
>
>
> Richard Henderson (2):
> tcg-arm: Fix 64-bit tlb load for pre-v6
> tcg-arm: Use movi32 in exit_tb
>
> tcg/arm/tcg-target.c | 18 ++++++++----------
> 1 file changed, 8 insertions(+), 10 deletions(-)
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups
2013-04-29 15:08 [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups Richard Henderson
` (2 preceding siblings ...)
2013-05-02 7:40 ` [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups Richard Henderson
@ 2013-05-03 10:01 ` Aurelien Jarno
3 siblings, 0 replies; 5+ messages in thread
From: Aurelien Jarno @ 2013-05-03 10:01 UTC (permalink / raw)
To: Richard Henderson; +Cc: aliguori, qemu-devel
On Mon, Apr 29, 2013 at 08:08:21AM -0700, Richard Henderson wrote:
> The first patch really ought to get into 1.5.
>
> The second patch is a re-done version of the 19/19 patch from version 5
> of the previous patch series. We had dropped that due to wanting to
> avoid 16MB assumption changes. The revised patch merely changes how we
> handle the constant that needs loading.
>
> Please apply.
>
>
> r~
>
>
> Richard Henderson (2):
> tcg-arm: Fix 64-bit tlb load for pre-v6
> tcg-arm: Use movi32 in exit_tb
>
> tcg/arm/tcg-target.c | 18 ++++++++----------
> 1 file changed, 8 insertions(+), 10 deletions(-)
>
Thanks, both applied.
--
Aurelien Jarno GPG: 1024D/F1BCDB73
aurelien@aurel32.net http://www.aurel32.net
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2013-05-03 10:01 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-29 15:08 [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups Richard Henderson
2013-04-29 15:08 ` [Qemu-devel] [PATCH for-1.5 1/2] tcg-arm: Fix 64-bit tlb load for pre-v6 Richard Henderson
2013-04-29 15:08 ` [Qemu-devel] [PATCH for-1.5 2/2] tcg-arm: Use movi32 in exit_tb Richard Henderson
2013-05-02 7:40 ` [Qemu-devel] [PATCH for-1.5 0/2] more tcg-arm cleanups Richard Henderson
2013-05-03 10:01 ` Aurelien Jarno
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).