qemu-s390x
[Top][All Lists]
Advanced

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

Re: [PATCH 11/21] target/sparc: Move cpu_put_fsr(env, 0) call to reset


From: Mark Cave-Ayland
Subject: Re: [PATCH 11/21] target/sparc: Move cpu_put_fsr(env, 0) call to reset
Date: Sat, 26 Oct 2024 21:00:56 +0100
User-agent: Mozilla Thunderbird

On 25/10/2024 15:12, Peter Maydell wrote:

Currently we call cpu_put_fsr(0) in sparc_cpu_realizefn(), which
initializes various fields in the CPU struct:
  * fsr_cexc_ftt
  * fcc[]
  * fsr_qne
  * fsr
It also sets the rounding mode in env->fp_status.

This is largely pointless, because when we later reset the CPU
this will zero out all the fields up until the "end_reset_fields"
label, which includes all of these (but not fp_status!)

Move the cpu_put_fsr(env, 0) call to reset, because that expresses
the logical requirement: we want to reset FSR to 0 on every reset.
This isn't a behaviour change because the fields are all zero anyway.

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
  target/sparc/cpu.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/target/sparc/cpu.c b/target/sparc/cpu.c
index 54cb269e0af..e7f4068a162 100644
--- a/target/sparc/cpu.c
+++ b/target/sparc/cpu.c
@@ -76,6 +76,7 @@ static void sparc_cpu_reset_hold(Object *obj, ResetType type)
      env->npc = env->pc + 4;
  #endif
      env->cache_control = 0;
+    cpu_put_fsr(env, 0);
  }
#ifndef CONFIG_USER_ONLY
@@ -805,7 +806,6 @@ static void sparc_cpu_realizefn(DeviceState *dev, Error 
**errp)
      env->version |= env->def.maxtl << 8;
      env->version |= env->def.nwindows - 1;
  #endif
-    cpu_put_fsr(env, 0);
cpu_exec_realizefn(cs, &local_err);
      if (local_err != NULL) {

Reviewed-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>


ATB,

Mark.




reply via email to

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