[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH v5 16/17] accel/tcg: Introduce TARGET_TB_PCREL
From: |
Peter Maydell |
Subject: |
Re: [PATCH v5 16/17] accel/tcg: Introduce TARGET_TB_PCREL |
Date: |
Fri, 30 Sep 2022 13:02:35 +0100 |
On Sun, 25 Sept 2022 at 12:15, Richard Henderson
<richard.henderson@linaro.org> wrote:
>
> Prepare for targets to be able to produce TBs that can
> run in more than one virtual context.
> -/* Similarly, but for logs. */
> +/*
> + * Similarly, but for logs. In this case, when the virtual pc
> + * is not available, use the physical address.
> + */
> static inline target_ulong tb_pc_log(const TranslationBlock *tb)
> {
> +#if TARGET_TB_PCREL
> + return tb->page_addr[0];
> +#else
> return tb->pc;
> +#endif
> }
This is going to break previously working setups involving
the "filter logging to a particular address range" and also
anybody post-processing logfiles and expecting to see
the virtual address in -d exec logging, I think.
For the exec logging, we surely must know the actual
virtual PC at the point of TB execution -- we were
previously just using tb->pc as a convenient architecture
independent place to get that from, but should now do
something else.
For places where logging a virtual PC becomes meaningless,
we should at least indicate whether we're logging a
physaddr or a vaddr, because now depending on the config
we might do either.
For the range-filter stuff, I'm not sure what to do.
Alex, any ideas?
(I see the -dfilter option documentation doesn't say
whether it's intending to work on physical or virtual
addresses...)
thanks
-- PMM
[PATCH v5 17/17] accel/tcg: Split log_cpu_exec into inline and slow path, Richard Henderson, 2022/09/25
Re: [PATCH v5 00/17] tcg: CPUTLBEntryFull and TARGET_TB_PCREL, Richard Henderson, 2022/09/28