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;
+}