[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-ppc] [Qemu-devel] [Qemu-arm] [PATCH v5 1/2] trace: Add support
From: |
Lluís Vilanova |
Subject: |
Re: [Qemu-ppc] [Qemu-devel] [Qemu-arm] [PATCH v5 1/2] trace: Add support for vCPU pointers in trace events |
Date: |
Tue, 09 Feb 2016 22:06:49 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Lluís Vilanova writes:
> Alex Bennée writes:
>> Lluís Vilanova <address@hidden> writes:
>>> The tracing infrastructure later needs to differentiate between regular
>>> pointers and pointers to vCPUs.
>>>
>>> Also changes all targets to use the new 'TCGv_cpu' type instead of the
>>> generic 'TCGv_ptr'. As of now, the change is merely cosmetic ('TCGv_cpu'
>>> translates into 'TCGv_ptr'), but that could change in the future to
>>> enforce the difference.
>>>
>>> Signed-off-by: Lluís Vilanova <address@hidden>
>>> ---
>>> include/qemu/typedefs.h | 1 +
>>> scripts/tracetool/transform.py | 9 ++++++++-
>>> target-alpha/translate.c | 2 +-
>>> target-arm/translate.c | 2 +-
>>> target-arm/translate.h | 2 +-
>>> target-cris/translate.c | 2 +-
>>> target-i386/translate.c | 2 +-
>>> target-lm32/translate.c | 2 +-
>>> target-m68k/translate.c | 2 +-
>>> target-microblaze/translate.c | 2 +-
>>> target-mips/translate.c | 2 +-
>>> target-moxie/translate.c | 2 +-
>>> target-openrisc/translate.c | 2 +-
>>> target-ppc/translate.c | 2 +-
>>> target-s390x/translate.c | 2 +-
>>> target-sh4/translate.c | 2 +-
>>> target-sparc/translate.c | 5 +++--
>>> target-tilegx/translate.c | 2 +-
>>> target-tricore/translate.c | 2 +-
>>> target-unicore32/translate.c | 2 +-
>>> target-xtensa/translate.c | 2 +-
>>> tcg/tcg-op.h | 2 --
>>> tcg/tcg.h | 6 ++++++
>>> trace/control.h | 3 ++-
>>> 24 files changed, 38 insertions(+), 24 deletions(-)
>>>
>>> diff --git a/include/qemu/typedefs.h b/include/qemu/typedefs.h
>>> index 78fe6e8..efbc8a9 100644
[...]
>>> --- a/tcg/tcg.h
>>> +++ b/tcg/tcg.h
>>> @@ -308,6 +308,12 @@ typedef tcg_target_ulong TCGArg;
>>> typedef struct TCGv_i32_d *TCGv_i32;
>>> typedef struct TCGv_i64_d *TCGv_i64;
>>> typedef struct TCGv_ptr_d *TCGv_ptr;
>>> +typedef TCGv_ptr TCGv_cpu;
>> This I understand.
>>> +#if TARGET_LONG_BITS == 32
>>> +typedef TCGv_i32 TCGv;
>>> +#else /* TARGET_LONG_BITS == 64 */
>>> +typedef TCGv_i64 TCGv;
>>> +#endif
>> Isn't this an un-related change? It makes sense as a clean-up but should
>> be separate for bisect-ability and documentation.
> I remember the move was to solve a compilation issue. I'll recheck if that's
> still necessary and get back to you.
It is not necessary anymore. I'll resend a new version with some additional
changes to make it easier to change the arguments injected by the "vcpu"
property (e.g., to make it easier to print the vCPU number & time on traces).
Thanks,
Lluis