On Thu, Oct 8, 2026 at 1:30 AM Philippe Mathieu-Daudé <[email protected]> wrote: > > On 2026-10-07 12:34, Philippe Mathieu-Daudé wrote: > > On 7/10/26 10:43, Anton Johansson wrote: > >> Reviewed-by: Pierrick Bouvier <[email protected]> > >> Signed-off-by: Anton Johansson <[email protected]> > >> --- > >> target/riscv/arch_dump.c | 13 +++++++------ > >> target/riscv/meson.build | 2 +- > >> 2 files changed, 8 insertions(+), 7 deletions(-) > >> > >> diff --git a/target/riscv/arch_dump.c b/target/riscv/arch_dump.c > > > > > >> @@ -175,11 +176,11 @@ int cpu_get_dump_info(ArchDumpInfo *info, > >> info->d_machine = EM_RISCV; > >> -#if defined(TARGET_RISCV64) > >> - info->d_class = ELFCLASS64; > >> -#else > >> - info->d_class = ELFCLASS32; > >> -#endif > >> + if (target_riscv64()) { > >> + info->d_class = ELFCLASS64; > >> + } else { > >> + info->d_class = ELFCLASS32; > >> + } > > If this is good enough to link: > > Acked-by: Philippe Mathieu-Daudé <[email protected]> > > > > But FYI the whole "system/dump-arch.h" API is not ready for > > heterogenous emulation. We discussed it once with Marc-André > > and there is no good way to adapt it, since it was not designed > > with that in mind, and is restricted to a single architecture > > which doesn't change (word size, endianness) at runtime. > > IIRC we ended agreeing dump can not be supported in Het.Emu., > > and the plan was to refactor get_dump_info() as a CPUClass > > handler, if not heterogenous then dispatch if available > > otherwise fallback to "not supported" stub. > > FTR for whoever will work on this, this symbol will clash: > > $ git grep -w cpu_get_dump_info > dump/dump.c:1856: * If the target architecture is not supported, > cpu_get_dump_info() will > dump/dump.c:1859: ret = cpu_get_dump_info(&s->dump_info, > &s->guest_phys_blocks); > include/system/dump-arch.h:31:int cpu_get_dump_info(ArchDumpInfo *info, > stubs/dump.c:17:int cpu_get_dump_info(ArchDumpInfo *info, > target/arm/arch_dump.c:388:int cpu_get_dump_info(ArchDumpInfo *info, > target/i386/arch_dump.c:397:int cpu_get_dump_info(ArchDumpInfo *info, > target/loongarch/arch_dump.c:145:int cpu_get_dump_info(ArchDumpInfo *info, > target/ppc/arch_dump.c:232:int cpu_get_dump_info(ArchDumpInfo *info, > target/riscv/arch_dump.c:164:int cpu_get_dump_info(ArchDumpInfo *info, > target/s390x/arch_dump.c:452:int cpu_get_dump_info(ArchDumpInfo *info,
This is how I deal with these conflict and others alike https://gitlab.com/lygstate-qemu/qemu/-/commit/facad1f56e06b7f53d7441c5d85928b1ceaf8894 But it's depends on https://lore.kernel.org/qemu-devel/[email protected]/T/#t That ensure those target_arch() return the valid value. > -- 此致 礼 罗勇刚 Yours sincerely, Yonggang Luo
