On Mon, 5 Jun 2023 at 21:27, Richard Henderson <richard.hender...@linaro.org> wrote: > > This makes TranslationBlock agnostic to the address size of the guest. > Use vaddr for pc, since that's always a virtual address. > Use uint64_t for cs_base, since usage varies between guests.
> index 60ca9e229e..1cf4f1fa22 100644 > --- a/accel/tcg/cpu-exec.c > +++ b/accel/tcg/cpu-exec.c > @@ -297,7 +297,7 @@ static void log_cpu_exec(target_ulong pc, CPUState *cpu, > { > if (qemu_log_in_addr_range(pc)) { > qemu_log_mask(CPU_LOG_EXEC, > - "Trace %d: %p [" TARGET_FMT_lx > + "Trace %d: %p [%08" PRIx64 > "/" TARGET_FMT_lx "/%08x/%08x] %s\n", > cpu->cpu_index, tb->tc.ptr, tb->cs_base, pc, > tb->flags, tb->cflags, lookup_symbol(pc)); TARGET_FMT_lx zero-pads appropriately to the size of target_ulong, which is what cs_base used to be. Now we have an explicit %08, which will sometimes be too small for cs_base if the guest really uses all 64 bits of it. Is that intentional ? thanks -- PMM