On 3/11/23 18:38, Richard Henderson wrote:
Signed-off-by: Richard Henderson <richard.hender...@linaro.org>
---
  target/sparc/cpu.h          |  4 +++-
  target/sparc/helper.h       |  1 +
  linux-user/sparc/cpu_loop.c |  2 +-
  linux-user/sparc/signal.c   | 14 +++++++++-----
  target/sparc/cpu.c          |  5 +++--
  target/sparc/fop_helper.c   | 21 ++++++++++++++++++--
  target/sparc/gdbstub.c      |  8 ++++----
  target/sparc/machine.c      | 38 +++++++++++++++++++++++++++++++++++--
  target/sparc/translate.c    |  7 ++++++-
  9 files changed, 82 insertions(+), 18 deletions(-)


diff --git a/target/sparc/machine.c b/target/sparc/machine.c
index 44dfc07014..e46f15adb8 100644
--- a/target/sparc/machine.c
+++ b/target/sparc/machine.c
@@ -83,6 +83,34 @@ static const VMStateInfo vmstate_psr = {
      .put = put_psr,
  };
+static int get_fsr(QEMUFile *f, void *opaque, size_t size,
+                   const VMStateField *field)
+{
+    SPARCCPU *cpu = opaque;
+    CPUSPARCState *env = &cpu->env;
+    target_ulong val = qemu_get_betl(f);
+
+    cpu_put_fsr(env, val);

Preferably directly using cpu_env(), otherwise:
Reviewed-by: Philippe Mathieu-Daudé <phi...@linaro.org>

+    return 0;
+}
+
+static int put_fsr(QEMUFile *f, void *opaque, size_t size,
+                   const VMStateField *field, JSONWriter *vmdesc)
+{
+    SPARCCPU *cpu = opaque;
+    CPUSPARCState *env = &cpu->env;
+    target_ulong val = cpu_get_fsr(env);

(Ditto)

+
+    qemu_put_betl(f, val);
+    return 0;
+}


Reply via email to