|
From: | Philippe Mathieu-Daudé |
Subject: | Re: [PATCH v2 2/3] hw/mips/gt64xxx: Remove dynamic field width from trace events |
Date: | Mon, 18 Nov 2019 20:10:56 +0100 |
User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 |
On 11/14/19 10:24 PM, Philippe Mathieu-Daudé wrote:
On 11/8/19 4:58 PM, Eric Blake wrote:On 11/8/19 8:40 AM, Philippe Mathieu-Daudé wrote:Since not all trace backends support dynamic field width in format (dtrace via stap does not), replace by a static field width instead. Reported-by: Eric Blake <address@hidden> Buglink: https://bugs.launchpad.net/qemu/+bug/1844817 Signed-off-by: Philippe Mathieu-Daudé <address@hidden> --- v2: Do not update qemu_log_mask() --- hw/mips/gt64xxx_pci.c | 16 ++++++++-------- hw/mips/trace-events | 4 ++-- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/hw/mips/gt64xxx_pci.c b/hw/mips/gt64xxx_pci.c index 5cab9c1ee1..6743e7c929 100644 --- a/hw/mips/gt64xxx_pci.c +++ b/hw/mips/gt64xxx_pci.c@@ -642,19 +642,19 @@ static void gt64120_writel(void *opaque, hwaddr addr,/* not really implemented */ s->regs[saddr] = ~(~(s->regs[saddr]) | ~(val & 0xfffffffe)); s->regs[saddr] |= !!(s->regs[saddr] & 0xfffffffe); - trace_gt64120_write("INTRCAUSE", size << 1, val); + trace_gt64120_write("INTRCAUSE", size << 3, val);Again, this isn't mentioned in the commit message. Why are you changing parameter values?+++ b/hw/mips/trace-events @@ -1,4 +1,4 @@ # gt64xxx.c-gt64120_read(const char *regname, int width, uint64_t value) "gt64120 read %s value:0x%0*" PRIx64 -gt64120_write(const char *regname, int width, uint64_t value) "gt64120 write %s value:0x%0*" PRIx64 +gt64120_read(const char *regname, int width, uint64_t value) "gt64120 read %s width:%d value:0x%08" PRIx64 +gt64120_write(const char *regname, int width, uint64_t value) "gt64120 write %s width:%d value:0x%08" PRIx64Huh, we were really broken - the old code (if passed to printf) would try to parse 4 parameters, even though it was only passed 3. But it looks like you still need a v3.Oops. I am surprise the compiler doesn't emit a warning here...
I'm sorry I can't see the 4th parameter. Before: "gt64120 read %s value:0x%0*" PRIx64 #1 's' for 'const char *regname' #2 '0*' for 'int width' #3 'x' for 'uint64_t value' After: "gt64120 read %s width:%d value:0x%08" PRIx64 #1 's' for 'const char *regname' #2 'd' for 'int width' #3 '08x' for 'uint64_t value' Am I missing something?
[Prev in Thread] | Current Thread | [Next in Thread] |