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

Reply via email to