On 24/10/22 15:24, Richard Henderson wrote:
We have called cpu_restore_state asserting will_exit.
Do not go back on that promise.  This affects icount.

Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
  target/openrisc/sys_helper.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/openrisc/sys_helper.c b/target/openrisc/sys_helper.c
index 09b3c97d7c..a3508e421d 100644
--- a/target/openrisc/sys_helper.c
+++ b/target/openrisc/sys_helper.c
@@ -51,8 +51,8 @@ void HELPER(mtspr)(CPUOpenRISCState *env, target_ulong spr, 
target_ulong rb)

Extending the diff context from commit 24c328521b ("Tidy ppc/npc implementation"):

            cpu_restore_state(cs, GETPC(), true);
            /* ??? Mirror or1ksim in not trashing delayed branch state
              when "jumping" to the current instruction.  */

          if (env->pc != rb) {
              env->pc = rb;
              env->dflag = 0;
-            cpu_loop_exit(cs);
          }
+        cpu_loop_exit(cs);

Is the comment still relevant?

          break;
case TO_SPR(0, 17): /* SR */


Reply via email to