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

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