qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 5/9] target-cris: sync CC state at load/stores.


From: Richard Henderson
Subject: Re: [Qemu-devel] [PATCH 5/9] target-cris: sync CC state at load/stores.
Date: Mon, 5 Sep 2016 12:02:14 -0700
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0

On 09/05/2016 04:54 AM, Rabin Vincent wrote:
From: "Edgar E. Iglesias" <address@hidden>

Icount may choose to abort and recompile a TB at any load/store.  We
need to sync the CC state at these insns.

Signed-off-by: Edgar E. Iglesias <address@hidden>
Signed-off-by: Rabin Vincent <address@hidden>
---
 target-cris/translate.c     | 9 +++++++++
 target-cris/translate_v10.c | 3 +++
 2 files changed, 12 insertions(+)

diff --git a/target-cris/translate.c b/target-cris/translate.c
index f4a8d7d..c280e24 100644
--- a/target-cris/translate.c
+++ b/target-cris/translate.c
@@ -1098,6 +1098,9 @@ static void gen_load64(DisasContext *dc, TCGv_i64 dst, 
TCGv addr)
 {
     int mem_index = cpu_mmu_index(&dc->cpu->env, false);

+    /* Due to icount, we need to update the CC flags on load/stores.  */
+    cris_evaluate_flags(dc);
+

This is not the proper way to handle this. You should arrange to sync the CC flags in restore_state_to_opc. There are plenty of examples in the tree you can examine. It looks like there's plenty of room for cleanup for cris here.


r~



reply via email to

[Prev in Thread] Current Thread [Next in Thread]