|
| From: | Laurent Vivier |
| Subject: | Re: [PATCH] Add minimal Hexagon target - First in a series of patches - linux-user changes + linux-user/hexagon + skeleton of target/hexagon - Files in target/hexagon/imported are from another project and therefore do not conform to qemu coding standards |
| Date: | Wed, 20 Nov 2019 09:33:44 +0100 |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 |
Le 20/11/2019 à 05:48, Taylor Simpson a écrit :
> For the general DEBUG_HEX messages, I think the trace infrastructure isn't
> quite what I'm looking for.
>
> Here's a sample of what it prints
> Start packet: pc = 0x4002f0
> Packet committed: pc = 0x4002f0
> Regs written
> r18 = -69420 (0xfffef0d4)
> r19 = -69412 (0xfffef0dc)
> Stores
> memd[0xfffef0b0] = 0 (0x0000000000000000)
> Next PC = 0x4002f8
> Exec counters: pkt = 17, insn = 24, hvx = 0
>
> For performance, I'd like a way to disable them completely when
> --enable-debug isn't passed to configure. It looks like #ifdef
> CONFIG_DEBUG_TCG will work for this. Then, I'd like a command-line option to
> turn them on. The "-d exec" seems like a reasonable place. So, the code
> will look like this
>
> #ifdef CONFIG_DEBUG_TCG
> if (qemu_loglevel_maks(CPU_LOG_EXEC)) {
> qemu_log(...);
> }
> #endif
>
> Please let me know if I'm on the right track here.
>
I'm not sure CONFIG_DEBUG_TCG is the good choice (Richard should
know...), you should keep your DEBUG_HEX in this case.
But the performance impact should not be big without the #ifdef as
qemu_loglevel_maks() is a simple test and the rest of the code is not
executed (Perhaps an "unlikely(qemu_loglevel_maks(CPU_LOG_EXEC))" could
help).
Thanks,
Laurent
| [Prev in Thread] | Current Thread | [Next in Thread] |