Blame SOURCES/kvm-dump-Replace-opaque-DumpState-pointer-with-a-typed-o.patch

62547e
From 8f674e0e12e4b88fc035948612a0b0949e0ad892 Mon Sep 17 00:00:00 2001
62547e
From: Janosch Frank <frankja@linux.ibm.com>
62547e
Date: Thu, 11 Aug 2022 12:10:54 +0000
62547e
Subject: [PATCH 22/42] dump: Replace opaque DumpState pointer with a typed one
62547e
MIME-Version: 1.0
62547e
Content-Type: text/plain; charset=UTF-8
62547e
Content-Transfer-Encoding: 8bit
62547e
62547e
RH-Author: Cédric Le Goater <clg@redhat.com>
62547e
RH-MergeRequest: 226: s390: Enhanced Interpretation for PCI Functions and Secure Execution guest dump
62547e
RH-Bugzilla: 1664378 2043909
62547e
RH-Acked-by: Thomas Huth <thuth@redhat.com>
62547e
RH-Acked-by: Cornelia Huck <cohuck@redhat.com>
62547e
RH-Acked-by: Jon Maloy <jmaloy@redhat.com>
62547e
RH-Commit: [22/41] 5f071d7ef441ae6f5da70eb56018c4657deee3d7
62547e
62547e
It's always better to convey the type of a pointer if at all
62547e
possible. So let's add the DumpState typedef to typedefs.h and move
62547e
the dump note functions from the opaque pointers to DumpState
62547e
pointers.
62547e
62547e
Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
62547e
CC: Peter Maydell <peter.maydell@linaro.org>
62547e
CC: Cédric Le Goater <clg@kaod.org>
62547e
CC: Daniel Henrique Barboza <danielhb413@gmail.com>
62547e
CC: David Gibson <david@gibson.dropbear.id.au>
62547e
CC: Greg Kurz <groug@kaod.org>
62547e
CC: Palmer Dabbelt <palmer@dabbelt.com>
62547e
CC: Alistair Francis <alistair.francis@wdc.com>
62547e
CC: Bin Meng <bin.meng@windriver.com>
62547e
CC: Cornelia Huck <cohuck@redhat.com>
62547e
CC: Thomas Huth <thuth@redhat.com>
62547e
CC: Richard Henderson <richard.henderson@linaro.org>
62547e
CC: David Hildenbrand <david@redhat.com>
62547e
Acked-by: Daniel Henrique Barboza <danielhb413@gmail.com>
62547e
Reviewed-by: Marc-André Lureau <marcandre.lureau@redhat.com>
62547e
Message-Id: <20220811121111.9878-2-frankja@linux.ibm.com>
62547e
(cherry picked from commit 1af0006ab959864dfa2f59e9136c5fb93000b61f)
62547e
Signed-off-by: Cédric Le Goater <clg@redhat.com>
62547e
---
62547e
 include/hw/core/sysemu-cpu-ops.h |  8 ++++----
62547e
 include/qemu/typedefs.h          |  1 +
62547e
 target/arm/arch_dump.c           |  6 ++----
62547e
 target/arm/cpu.h                 |  4 ++--
62547e
 target/i386/arch_dump.c          | 30 +++++++++++++++---------------
62547e
 target/i386/cpu.h                |  8 ++++----
62547e
 target/ppc/arch_dump.c           | 18 +++++++++---------
62547e
 target/ppc/cpu.h                 |  4 ++--
62547e
 target/riscv/arch_dump.c         |  6 ++----
62547e
 target/riscv/cpu.h               |  4 ++--
62547e
 target/s390x/arch_dump.c         | 10 +++++-----
62547e
 target/s390x/s390x-internal.h    |  2 +-
62547e
 12 files changed, 49 insertions(+), 52 deletions(-)
62547e
62547e
diff --git a/include/hw/core/sysemu-cpu-ops.h b/include/hw/core/sysemu-cpu-ops.h
62547e
index a9ba39e5f2..ee169b872c 100644
62547e
--- a/include/hw/core/sysemu-cpu-ops.h
62547e
+++ b/include/hw/core/sysemu-cpu-ops.h
62547e
@@ -53,25 +53,25 @@ typedef struct SysemuCPUOps {
62547e
      * 32-bit VM coredump.
62547e
      */
62547e
     int (*write_elf32_note)(WriteCoreDumpFunction f, CPUState *cpu,
62547e
-                            int cpuid, void *opaque);
62547e
+                            int cpuid, DumpState *s);
62547e
     /**
62547e
      * @write_elf64_note: Callback for writing a CPU-specific ELF note to a
62547e
      * 64-bit VM coredump.
62547e
      */
62547e
     int (*write_elf64_note)(WriteCoreDumpFunction f, CPUState *cpu,
62547e
-                            int cpuid, void *opaque);
62547e
+                            int cpuid, DumpState *s);
62547e
     /**
62547e
      * @write_elf32_qemunote: Callback for writing a CPU- and QEMU-specific ELF
62547e
      * note to a 32-bit VM coredump.
62547e
      */
62547e
     int (*write_elf32_qemunote)(WriteCoreDumpFunction f, CPUState *cpu,
62547e
-                                void *opaque);
62547e
+                                DumpState *s);
62547e
     /**
62547e
      * @write_elf64_qemunote: Callback for writing a CPU- and QEMU-specific ELF
62547e
      * note to a 64-bit VM coredump.
62547e
      */
62547e
     int (*write_elf64_qemunote)(WriteCoreDumpFunction f, CPUState *cpu,
62547e
-                                void *opaque);
62547e
+                                DumpState *s);
62547e
     /**
62547e
      * @virtio_is_big_endian: Callback to return %true if a CPU which supports
62547e
      * runtime configurable endianness is currently big-endian.
62547e
diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
62547e
index ee60eb3de4..ac9d031be6 100644
62547e
--- a/include/qemu/typedefs.h
62547e
+++ b/include/qemu/typedefs.h
62547e
@@ -125,6 +125,7 @@ typedef struct VirtIODevice VirtIODevice;
62547e
 typedef struct Visitor Visitor;
62547e
 typedef struct VMChangeStateEntry VMChangeStateEntry;
62547e
 typedef struct VMStateDescription VMStateDescription;
62547e
+typedef struct DumpState DumpState;
62547e
 
62547e
 /*
62547e
  * Pointer types
62547e
diff --git a/target/arm/arch_dump.c b/target/arm/arch_dump.c
62547e
index 0184845310..3a824e0aa6 100644
62547e
--- a/target/arm/arch_dump.c
62547e
+++ b/target/arm/arch_dump.c
62547e
@@ -232,12 +232,11 @@ static int aarch64_write_elf64_sve(WriteCoreDumpFunction f,
62547e
 #endif
62547e
 
62547e
 int arm_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                             int cpuid, void *opaque)
62547e
+                             int cpuid, DumpState *s)
62547e
 {
62547e
     struct aarch64_note note;
62547e
     ARMCPU *cpu = ARM_CPU(cs);
62547e
     CPUARMState *env = &cpu->env;
62547e
-    DumpState *s = opaque;
62547e
     uint64_t pstate, sp;
62547e
     int ret, i;
62547e
 
62547e
@@ -360,12 +359,11 @@ static int arm_write_elf32_vfp(WriteCoreDumpFunction f, CPUARMState *env,
62547e
 }
62547e
 
62547e
 int arm_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                             int cpuid, void *opaque)
62547e
+                             int cpuid, DumpState *s)
62547e
 {
62547e
     struct arm_note note;
62547e
     ARMCPU *cpu = ARM_CPU(cs);
62547e
     CPUARMState *env = &cpu->env;
62547e
-    DumpState *s = opaque;
62547e
     int ret, i;
62547e
     bool fpvalid = cpu_isar_feature(aa32_vfp_simd, cpu);
62547e
 
62547e
diff --git a/target/arm/cpu.h b/target/arm/cpu.h
62547e
index e33f37b70a..8d2f496ef9 100644
62547e
--- a/target/arm/cpu.h
62547e
+++ b/target/arm/cpu.h
62547e
@@ -1065,9 +1065,9 @@ int arm_gen_dynamic_svereg_xml(CPUState *cpu, int base_reg);
62547e
 const char *arm_gdb_get_dynamic_xml(CPUState *cpu, const char *xmlname);
62547e
 
62547e
 int arm_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                             int cpuid, void *opaque);
62547e
+                             int cpuid, DumpState *s);
62547e
 int arm_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                             int cpuid, void *opaque);
62547e
+                             int cpuid, DumpState *s);
62547e
 
62547e
 #ifdef TARGET_AARCH64
62547e
 int aarch64_cpu_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg);
62547e
diff --git a/target/i386/arch_dump.c b/target/i386/arch_dump.c
62547e
index 004141fc04..c290910a04 100644
62547e
--- a/target/i386/arch_dump.c
62547e
+++ b/target/i386/arch_dump.c
62547e
@@ -42,7 +42,7 @@ typedef struct {
62547e
 
62547e
 static int x86_64_write_elf64_note(WriteCoreDumpFunction f,
62547e
                                    CPUX86State *env, int id,
62547e
-                                   void *opaque)
62547e
+                                   DumpState *s)
62547e
 {
62547e
     x86_64_user_regs_struct regs;
62547e
     Elf64_Nhdr *note;
62547e
@@ -94,7 +94,7 @@ static int x86_64_write_elf64_note(WriteCoreDumpFunction f,
62547e
     buf += descsz - sizeof(x86_64_user_regs_struct)-sizeof(target_ulong);
62547e
     memcpy(buf, &regs, sizeof(x86_64_user_regs_struct));
62547e
 
62547e
-    ret = f(note, note_size, opaque);
62547e
+    ret = f(note, note_size, s);
62547e
     g_free(note);
62547e
     if (ret < 0) {
62547e
         return -1;
62547e
@@ -148,7 +148,7 @@ static void x86_fill_elf_prstatus(x86_elf_prstatus *prstatus, CPUX86State *env,
62547e
 }
62547e
 
62547e
 static int x86_write_elf64_note(WriteCoreDumpFunction f, CPUX86State *env,
62547e
-                                int id, void *opaque)
62547e
+                                int id, DumpState *s)
62547e
 {
62547e
     x86_elf_prstatus prstatus;
62547e
     Elf64_Nhdr *note;
62547e
@@ -170,7 +170,7 @@ static int x86_write_elf64_note(WriteCoreDumpFunction f, CPUX86State *env,
62547e
     buf += ROUND_UP(name_size, 4);
62547e
     memcpy(buf, &prstatus, sizeof(prstatus));
62547e
 
62547e
-    ret = f(note, note_size, opaque);
62547e
+    ret = f(note, note_size, s);
62547e
     g_free(note);
62547e
     if (ret < 0) {
62547e
         return -1;
62547e
@@ -180,7 +180,7 @@ static int x86_write_elf64_note(WriteCoreDumpFunction f, CPUX86State *env,
62547e
 }
62547e
 
62547e
 int x86_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                             int cpuid, void *opaque)
62547e
+                             int cpuid, DumpState *s)
62547e
 {
62547e
     X86CPU *cpu = X86_CPU(cs);
62547e
     int ret;
62547e
@@ -189,10 +189,10 @@ int x86_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
     bool lma = !!(first_x86_cpu->env.hflags & HF_LMA_MASK);
62547e
 
62547e
     if (lma) {
62547e
-        ret = x86_64_write_elf64_note(f, &cpu->env, cpuid, opaque);
62547e
+        ret = x86_64_write_elf64_note(f, &cpu->env, cpuid, s);
62547e
     } else {
62547e
 #endif
62547e
-        ret = x86_write_elf64_note(f, &cpu->env, cpuid, opaque);
62547e
+        ret = x86_write_elf64_note(f, &cpu->env, cpuid, s);
62547e
 #ifdef TARGET_X86_64
62547e
     }
62547e
 #endif
62547e
@@ -201,7 +201,7 @@ int x86_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
 }
62547e
 
62547e
 int x86_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                             int cpuid, void *opaque)
62547e
+                             int cpuid, DumpState *s)
62547e
 {
62547e
     X86CPU *cpu = X86_CPU(cs);
62547e
     x86_elf_prstatus prstatus;
62547e
@@ -224,7 +224,7 @@ int x86_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
     buf += ROUND_UP(name_size, 4);
62547e
     memcpy(buf, &prstatus, sizeof(prstatus));
62547e
 
62547e
-    ret = f(note, note_size, opaque);
62547e
+    ret = f(note, note_size, s);
62547e
     g_free(note);
62547e
     if (ret < 0) {
62547e
         return -1;
62547e
@@ -329,7 +329,7 @@ static void qemu_get_cpustate(QEMUCPUState *s, CPUX86State *env)
62547e
 
62547e
 static inline int cpu_write_qemu_note(WriteCoreDumpFunction f,
62547e
                                       CPUX86State *env,
62547e
-                                      void *opaque,
62547e
+                                      DumpState *s,
62547e
                                       int type)
62547e
 {
62547e
     QEMUCPUState state;
62547e
@@ -369,7 +369,7 @@ static inline int cpu_write_qemu_note(WriteCoreDumpFunction f,
62547e
     buf += ROUND_UP(name_size, 4);
62547e
     memcpy(buf, &state, sizeof(state));
62547e
 
62547e
-    ret = f(note, note_size, opaque);
62547e
+    ret = f(note, note_size, s);
62547e
     g_free(note);
62547e
     if (ret < 0) {
62547e
         return -1;
62547e
@@ -379,19 +379,19 @@ static inline int cpu_write_qemu_note(WriteCoreDumpFunction f,
62547e
 }
62547e
 
62547e
 int x86_cpu_write_elf64_qemunote(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                                 void *opaque)
62547e
+                                 DumpState *s)
62547e
 {
62547e
     X86CPU *cpu = X86_CPU(cs);
62547e
 
62547e
-    return cpu_write_qemu_note(f, &cpu->env, opaque, 1);
62547e
+    return cpu_write_qemu_note(f, &cpu->env, s, 1);
62547e
 }
62547e
 
62547e
 int x86_cpu_write_elf32_qemunote(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                                 void *opaque)
62547e
+                                 DumpState *s)
62547e
 {
62547e
     X86CPU *cpu = X86_CPU(cs);
62547e
 
62547e
-    return cpu_write_qemu_note(f, &cpu->env, opaque, 0);
62547e
+    return cpu_write_qemu_note(f, &cpu->env, s, 0);
62547e
 }
62547e
 
62547e
 int cpu_get_dump_info(ArchDumpInfo *info,
62547e
diff --git a/target/i386/cpu.h b/target/i386/cpu.h
62547e
index 006b735fe4..5d2ddd81b9 100644
62547e
--- a/target/i386/cpu.h
62547e
+++ b/target/i386/cpu.h
62547e
@@ -1887,13 +1887,13 @@ extern const VMStateDescription vmstate_x86_cpu;
62547e
 int x86_cpu_pending_interrupt(CPUState *cs, int interrupt_request);
62547e
 
62547e
 int x86_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cpu,
62547e
-                             int cpuid, void *opaque);
62547e
+                             int cpuid, DumpState *s);
62547e
 int x86_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cpu,
62547e
-                             int cpuid, void *opaque);
62547e
+                             int cpuid, DumpState *s);
62547e
 int x86_cpu_write_elf64_qemunote(WriteCoreDumpFunction f, CPUState *cpu,
62547e
-                                 void *opaque);
62547e
+                                 DumpState *s);
62547e
 int x86_cpu_write_elf32_qemunote(WriteCoreDumpFunction f, CPUState *cpu,
62547e
-                                 void *opaque);
62547e
+                                 DumpState *s);
62547e
 
62547e
 void x86_cpu_get_memory_mapping(CPUState *cpu, MemoryMappingList *list,
62547e
                                 Error **errp);
62547e
diff --git a/target/ppc/arch_dump.c b/target/ppc/arch_dump.c
62547e
index bb392f6d88..e9f512bcd4 100644
62547e
--- a/target/ppc/arch_dump.c
62547e
+++ b/target/ppc/arch_dump.c
62547e
@@ -270,23 +270,23 @@ ssize_t cpu_get_note_size(int class, int machine, int nr_cpus)
62547e
 static int ppc_write_all_elf_notes(const char *note_name,
62547e
                                    WriteCoreDumpFunction f,
62547e
                                    PowerPCCPU *cpu, int id,
62547e
-                                   void *opaque)
62547e
+                                   DumpState *s)
62547e
 {
62547e
-    NoteFuncArg arg = { .state = opaque };
62547e
+    NoteFuncArg arg = { .state = s };
62547e
     int ret = -1;
62547e
     int note_size;
62547e
     const NoteFuncDesc *nf;
62547e
 
62547e
     for (nf = note_func; nf->note_contents_func; nf++) {
62547e
-        arg.note.hdr.n_namesz = cpu_to_dump32(opaque, sizeof(arg.note.name));
62547e
-        arg.note.hdr.n_descsz = cpu_to_dump32(opaque, nf->contents_size);
62547e
+        arg.note.hdr.n_namesz = cpu_to_dump32(s, sizeof(arg.note.name));
62547e
+        arg.note.hdr.n_descsz = cpu_to_dump32(s, nf->contents_size);
62547e
         strncpy(arg.note.name, note_name, sizeof(arg.note.name));
62547e
 
62547e
         (*nf->note_contents_func)(&arg, cpu);
62547e
 
62547e
         note_size =
62547e
             sizeof(arg.note) - sizeof(arg.note.contents) + nf->contents_size;
62547e
-        ret = f(&arg.note, note_size, opaque);
62547e
+        ret = f(&arg.note, note_size, s);
62547e
         if (ret < 0) {
62547e
             return -1;
62547e
         }
62547e
@@ -295,15 +295,15 @@ static int ppc_write_all_elf_notes(const char *note_name,
62547e
 }
62547e
 
62547e
 int ppc64_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                               int cpuid, void *opaque)
62547e
+                               int cpuid, DumpState *s)
62547e
 {
62547e
     PowerPCCPU *cpu = POWERPC_CPU(cs);
62547e
-    return ppc_write_all_elf_notes("CORE", f, cpu, cpuid, opaque);
62547e
+    return ppc_write_all_elf_notes("CORE", f, cpu, cpuid, s);
62547e
 }
62547e
 
62547e
 int ppc32_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                               int cpuid, void *opaque)
62547e
+                               int cpuid, DumpState *s)
62547e
 {
62547e
     PowerPCCPU *cpu = POWERPC_CPU(cs);
62547e
-    return ppc_write_all_elf_notes("CORE", f, cpu, cpuid, opaque);
62547e
+    return ppc_write_all_elf_notes("CORE", f, cpu, cpuid, s);
62547e
 }
62547e
diff --git a/target/ppc/cpu.h b/target/ppc/cpu.h
62547e
index 23e8b76c85..f5fb284706 100644
62547e
--- a/target/ppc/cpu.h
62547e
+++ b/target/ppc/cpu.h
62547e
@@ -1289,9 +1289,9 @@ void ppc_gdb_gen_spr_xml(PowerPCCPU *cpu);
62547e
 const char *ppc_gdb_get_dynamic_xml(CPUState *cs, const char *xml_name);
62547e
 #endif
62547e
 int ppc64_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                               int cpuid, void *opaque);
62547e
+                               int cpuid, DumpState *s);
62547e
 int ppc32_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                               int cpuid, void *opaque);
62547e
+                               int cpuid, DumpState *s);
62547e
 #ifndef CONFIG_USER_ONLY
62547e
 void ppc_cpu_do_interrupt(CPUState *cpu);
62547e
 bool ppc_cpu_exec_interrupt(CPUState *cpu, int int_req);
62547e
diff --git a/target/riscv/arch_dump.c b/target/riscv/arch_dump.c
62547e
index 709f621d82..736a232956 100644
62547e
--- a/target/riscv/arch_dump.c
62547e
+++ b/target/riscv/arch_dump.c
62547e
@@ -64,12 +64,11 @@ static void riscv64_note_init(struct riscv64_note *note, DumpState *s,
62547e
 }
62547e
 
62547e
 int riscv_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                               int cpuid, void *opaque)
62547e
+                               int cpuid, DumpState *s)
62547e
 {
62547e
     struct riscv64_note note;
62547e
     RISCVCPU *cpu = RISCV_CPU(cs);
62547e
     CPURISCVState *env = &cpu->env;
62547e
-    DumpState *s = opaque;
62547e
     int ret, i = 0;
62547e
     const char name[] = "CORE";
62547e
 
62547e
@@ -134,12 +133,11 @@ static void riscv32_note_init(struct riscv32_note *note, DumpState *s,
62547e
 }
62547e
 
62547e
 int riscv_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                               int cpuid, void *opaque)
62547e
+                               int cpuid, DumpState *s)
62547e
 {
62547e
     struct riscv32_note note;
62547e
     RISCVCPU *cpu = RISCV_CPU(cs);
62547e
     CPURISCVState *env = &cpu->env;
62547e
-    DumpState *s = opaque;
62547e
     int ret, i;
62547e
     const char name[] = "CORE";
62547e
 
62547e
diff --git a/target/riscv/cpu.h b/target/riscv/cpu.h
62547e
index 0760c0af93..4cce524b2c 100644
62547e
--- a/target/riscv/cpu.h
62547e
+++ b/target/riscv/cpu.h
62547e
@@ -344,9 +344,9 @@ extern const char * const riscv_fpr_regnames[];
62547e
 const char *riscv_cpu_get_trap_name(target_ulong cause, bool async);
62547e
 void riscv_cpu_do_interrupt(CPUState *cpu);
62547e
 int riscv_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                               int cpuid, void *opaque);
62547e
+                               int cpuid, DumpState *s);
62547e
 int riscv_cpu_write_elf32_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                               int cpuid, void *opaque);
62547e
+                               int cpuid, DumpState *s);
62547e
 int riscv_cpu_gdb_read_register(CPUState *cpu, GByteArray *buf, int reg);
62547e
 int riscv_cpu_gdb_write_register(CPUState *cpu, uint8_t *buf, int reg);
62547e
 bool riscv_cpu_fp_enabled(CPURISCVState *env);
62547e
diff --git a/target/s390x/arch_dump.c b/target/s390x/arch_dump.c
62547e
index 08daf93ae1..f60a14920d 100644
62547e
--- a/target/s390x/arch_dump.c
62547e
+++ b/target/s390x/arch_dump.c
62547e
@@ -204,7 +204,7 @@ static const NoteFuncDesc note_linux[] = {
62547e
 static int s390x_write_elf64_notes(const char *note_name,
62547e
                                        WriteCoreDumpFunction f,
62547e
                                        S390CPU *cpu, int id,
62547e
-                                       void *opaque,
62547e
+                                       DumpState *s,
62547e
                                        const NoteFuncDesc *funcs)
62547e
 {
62547e
     Note note;
62547e
@@ -222,7 +222,7 @@ static int s390x_write_elf64_notes(const char *note_name,
62547e
         (*nf->note_contents_func)(&note, cpu, id);
62547e
 
62547e
         note_size = sizeof(note) - sizeof(note.contents) + nf->contents_size;
62547e
-        ret = f(&note, note_size, opaque);
62547e
+        ret = f(&note, note_size, s);
62547e
 
62547e
         if (ret < 0) {
62547e
             return -1;
62547e
@@ -235,16 +235,16 @@ static int s390x_write_elf64_notes(const char *note_name,
62547e
 
62547e
 
62547e
 int s390_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                              int cpuid, void *opaque)
62547e
+                              int cpuid, DumpState *s)
62547e
 {
62547e
     S390CPU *cpu = S390_CPU(cs);
62547e
     int r;
62547e
 
62547e
-    r = s390x_write_elf64_notes("CORE", f, cpu, cpuid, opaque, note_core);
62547e
+    r = s390x_write_elf64_notes("CORE", f, cpu, cpuid, s, note_core);
62547e
     if (r) {
62547e
         return r;
62547e
     }
62547e
-    return s390x_write_elf64_notes("LINUX", f, cpu, cpuid, opaque, note_linux);
62547e
+    return s390x_write_elf64_notes("LINUX", f, cpu, cpuid, s, note_linux);
62547e
 }
62547e
 
62547e
 int cpu_get_dump_info(ArchDumpInfo *info,
62547e
diff --git a/target/s390x/s390x-internal.h b/target/s390x/s390x-internal.h
62547e
index 1a178aed41..02cf6c3f43 100644
62547e
--- a/target/s390x/s390x-internal.h
62547e
+++ b/target/s390x/s390x-internal.h
62547e
@@ -228,7 +228,7 @@ static inline hwaddr decode_basedisp_s(CPUS390XState *env, uint32_t ipb,
62547e
 
62547e
 /* arch_dump.c */
62547e
 int s390_cpu_write_elf64_note(WriteCoreDumpFunction f, CPUState *cs,
62547e
-                              int cpuid, void *opaque);
62547e
+                              int cpuid, DumpState *s);
62547e
 
62547e
 
62547e
 /* cc_helper.c */
62547e
-- 
62547e
2.37.3
62547e