* [Qemu-devel] [PATCH v2 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug
@ 2013-04-15 2:14 liguang
2013-04-15 2:14 ` [Qemu-devel] [PATCH v2 2/3] debugcon: make debug message more readable liguang
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: liguang @ 2013-04-15 2:14 UTC (permalink / raw)
To: qemu-devel; +Cc: liguang
when use DEBUG_DEBUGCON, screen spits:
debugcon: write addr=0x0000 val=0x00
Rdebugcon: write addr=0x0000 val=0x00
udebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
idebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
gdebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
odebugcon: write addr=0x0000 val=0x00
pdebugcon: write addr=0x0000 val=0x00
tdebugcon: write addr=0x0000 val=0x00
idebugcon: write addr=0x0000 val=0x00
odebugcon: write addr=0x0000 val=0x00
ndebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
rdebugcon: write addr=0x0000 val=0x00
odebugcon: write addr=0x0000 val=0x00
mdebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
adebugcon: write addr=0x0000 val=0x00
tdebugcon: write addr=0x0000 val=0x00
debugcon: write addr=0x0000 val=0x00
Oh, that's wrong, val is not always be 0.
this bug caused by lack of length modifier
for specifier 'x'.
Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
---
hw/char/debugcon.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
index 0588eeb..44c93e1 100644
--- a/hw/char/debugcon.c
+++ b/hw/char/debugcon.c
@@ -55,7 +55,7 @@ static void debugcon_ioport_write(void *opaque, hwaddr addr, uint64_t val,
unsigned char ch = val;
#ifdef DEBUG_DEBUGCON
- printf("debugcon: write addr=0x%04x val=0x%02x\n", addr, val);
+ printf("debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02x\n", addr, val);
#endif
qemu_chr_fe_write(s->chr, &ch, 1);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 2/3] debugcon: make debug message more readable
2013-04-15 2:14 [Qemu-devel] [PATCH v2 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug liguang
@ 2013-04-15 2:14 ` liguang
2013-04-16 2:44 ` Jesse Larrew
2013-04-15 2:14 ` [Qemu-devel] [PATCH v2 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON liguang
2013-04-16 2:37 ` [Qemu-devel] [PATCH v2 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug Jesse Larrew
2 siblings, 1 reply; 8+ messages in thread
From: liguang @ 2013-04-15 2:14 UTC (permalink / raw)
To: qemu-devel; +Cc: liguang
before change:
Bdebugcon: write addr=0x0000 val=0x6f
odebugcon: write addr=0x0000 val=0x6f
odebugcon: write addr=0x0000 val=0x74
tdebugcon: write addr=0x0000 val=0x69
idebugcon: write addr=0x0000 val=0x6e
ndebugcon: write addr=0x0000 val=0x67
gdebugcon: write addr=0x0000 val=0x20
debugcon: write addr=0x0000 val=0x66
after change:
B [debugcon: write addr=0x0000 val=0x6f]
o [debugcon: write addr=0x0000 val=0x6f]
o [debugcon: write addr=0x0000 val=0x74]
t [debugcon: write addr=0x0000 val=0x69]
i [debugcon: write addr=0x0000 val=0x6e]
n [debugcon: write addr=0x0000 val=0x67]
g [debugcon: write addr=0x0000 val=0x20]
[debugcon: write addr=0x0000 val=0x66]
Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
---
hw/char/debugcon.c | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
index 44c93e1..b6f2b06 100644
--- a/hw/char/debugcon.c
+++ b/hw/char/debugcon.c
@@ -55,7 +55,7 @@ static void debugcon_ioport_write(void *opaque, hwaddr addr, uint64_t val,
unsigned char ch = val;
#ifdef DEBUG_DEBUGCON
- printf("debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02x\n", addr, val);
+ printf(" [debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02]\n", addr, val);
#endif
qemu_chr_fe_write(s->chr, &ch, 1);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [Qemu-devel] [PATCH v2 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON
2013-04-15 2:14 [Qemu-devel] [PATCH v2 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug liguang
2013-04-15 2:14 ` [Qemu-devel] [PATCH v2 2/3] debugcon: make debug message more readable liguang
@ 2013-04-15 2:14 ` liguang
2013-04-16 2:51 ` Jesse Larrew
2013-04-16 2:37 ` [Qemu-devel] [PATCH v2 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug Jesse Larrew
2 siblings, 1 reply; 8+ messages in thread
From: liguang @ 2013-04-15 2:14 UTC (permalink / raw)
To: qemu-devel; +Cc: liguang
compiler warnings:
CC hw/char/debugcon.o
hw/char/debugcon.c: In function ‘debugcon_ioport_write’:
hw/char/debugcon.c:58: warning: format ‘%02x’ expects type ‘unsigned int’, but argument 3 has type ‘uint64_t’
hw/char/debugcon.c: In function ‘debugcon_ioport_read’:
hw/char/debugcon.c:70: warning: format ‘%04x’ expects type ‘unsigned int’, but argument 2 has type ‘hwaddr’
Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
---
hw/char/debugcon.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
index b6f2b06..a0d3633 100644
--- a/hw/char/debugcon.c
+++ b/hw/char/debugcon.c
@@ -33,7 +33,7 @@
#define ISA_DEBUGCON_DEVICE(obj) \
OBJECT_CHECK(ISADebugconState, (obj), TYPE_ISA_DEBUGCON_DEVICE)
-//#define DEBUG_DEBUGCON
+#define DEBUG_DEBUGCON
typedef struct DebugconState {
MemoryRegion io;
@@ -55,7 +55,7 @@ static void debugcon_ioport_write(void *opaque, hwaddr addr, uint64_t val,
unsigned char ch = val;
#ifdef DEBUG_DEBUGCON
- printf(" [debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02]\n", addr, val);
+ printf(" [debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02" PRIx64 "]\n", addr, val);
#endif
qemu_chr_fe_write(s->chr, &ch, 1);
@@ -67,7 +67,7 @@ static uint64_t debugcon_ioport_read(void *opaque, hwaddr addr, unsigned width)
DebugconState *s = opaque;
#ifdef DEBUG_DEBUGCON
- printf("debugcon: read addr=0x%04x\n", addr);
+ printf("debugcon: read addr=0x%04" HWADDR_PRIx "\n", addr);
#endif
return s->readback;
--
1.7.2.5
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug
2013-04-15 2:14 [Qemu-devel] [PATCH v2 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug liguang
2013-04-15 2:14 ` [Qemu-devel] [PATCH v2 2/3] debugcon: make debug message more readable liguang
2013-04-15 2:14 ` [Qemu-devel] [PATCH v2 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON liguang
@ 2013-04-16 2:37 ` Jesse Larrew
2 siblings, 0 replies; 8+ messages in thread
From: Jesse Larrew @ 2013-04-16 2:37 UTC (permalink / raw)
To: liguang; +Cc: qemu-devel
On 04/14/2013 09:14 PM, liguang wrote:
> when use DEBUG_DEBUGCON, screen spits:
> debugcon: write addr=0x0000 val=0x00
> Rdebugcon: write addr=0x0000 val=0x00
> udebugcon: write addr=0x0000 val=0x00
> ndebugcon: write addr=0x0000 val=0x00
> ndebugcon: write addr=0x0000 val=0x00
> idebugcon: write addr=0x0000 val=0x00
> ndebugcon: write addr=0x0000 val=0x00
> gdebugcon: write addr=0x0000 val=0x00
> debugcon: write addr=0x0000 val=0x00
> odebugcon: write addr=0x0000 val=0x00
> pdebugcon: write addr=0x0000 val=0x00
> tdebugcon: write addr=0x0000 val=0x00
> idebugcon: write addr=0x0000 val=0x00
> odebugcon: write addr=0x0000 val=0x00
> ndebugcon: write addr=0x0000 val=0x00
> debugcon: write addr=0x0000 val=0x00
> rdebugcon: write addr=0x0000 val=0x00
> odebugcon: write addr=0x0000 val=0x00
> mdebugcon: write addr=0x0000 val=0x00
> debugcon: write addr=0x0000 val=0x00
> adebugcon: write addr=0x0000 val=0x00
> tdebugcon: write addr=0x0000 val=0x00
> debugcon: write addr=0x0000 val=0x00
>
> Oh, that's wrong, val is not always be 0.
> this bug caused by lack of length modifier
> for specifier 'x'.
>
> Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
> ---
> hw/char/debugcon.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
> index 0588eeb..44c93e1 100644
> --- a/hw/char/debugcon.c
> +++ b/hw/char/debugcon.c
> @@ -55,7 +55,7 @@ static void debugcon_ioport_write(void *opaque, hwaddr addr, uint64_t val,
> unsigned char ch = val;
>
> #ifdef DEBUG_DEBUGCON
> - printf("debugcon: write addr=0x%04x val=0x%02x\n", addr, val);
> + printf("debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02x\n", addr, val);
> #endif
>
> qemu_chr_fe_write(s->chr, &ch, 1);
>
Reviewed-by: Jesse Larrew <jlarrew@linux.vnet.ibm.com>
Jesse Larrew
Software Engineer, KVM Team
IBM Linux Technology Center
Phone: (512) 973-2052 (T/L: 363-2052)
jlarrew@linux.vnet.ibm.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/3] debugcon: make debug message more readable
2013-04-15 2:14 ` [Qemu-devel] [PATCH v2 2/3] debugcon: make debug message more readable liguang
@ 2013-04-16 2:44 ` Jesse Larrew
2013-04-16 3:39 ` li guang
0 siblings, 1 reply; 8+ messages in thread
From: Jesse Larrew @ 2013-04-16 2:44 UTC (permalink / raw)
To: liguang; +Cc: Anthony Liguori, qemu-devel
On 04/14/2013 09:14 PM, liguang wrote:
> #ifdef DEBUG_DEBUGCON
> - printf("debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02x\n", addr, val);
> + printf(" [debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02]\n", addr, val);
I like the reformatting, but it looks like you accidentally clobbered the
'x' when you added the ']'. This is the cause of the compiler warnings in
patch #3.
Jesse Larrew
Software Engineer, KVM Team
IBM Linux Technology Center
Phone: (512) 973-2052 (T/L: 363-2052)
jlarrew@linux.vnet.ibm.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON
2013-04-15 2:14 ` [Qemu-devel] [PATCH v2 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON liguang
@ 2013-04-16 2:51 ` Jesse Larrew
2013-04-16 3:00 ` li guang
0 siblings, 1 reply; 8+ messages in thread
From: Jesse Larrew @ 2013-04-16 2:51 UTC (permalink / raw)
To: liguang; +Cc: Anthony Liguori, qemu-devel
On 04/14/2013 09:14 PM, liguang wrote:
> compiler warnings:
> CC hw/char/debugcon.o
> hw/char/debugcon.c: In function ‘debugcon_ioport_write’:
> hw/char/debugcon.c:58: warning: format ‘%02x’ expects type ‘unsigned int’, but argument 3 has type ‘uint64_t’
> hw/char/debugcon.c: In function ‘debugcon_ioport_read’:
> hw/char/debugcon.c:70: warning: format ‘%04x’ expects type ‘unsigned int’, but argument 2 has type ‘hwaddr’
>
> Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
> ---
> hw/char/debugcon.c | 6 +++---
> 1 files changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
> index b6f2b06..a0d3633 100644
> --- a/hw/char/debugcon.c
> +++ b/hw/char/debugcon.c
> @@ -33,7 +33,7 @@
> #define ISA_DEBUGCON_DEVICE(obj) \
> OBJECT_CHECK(ISADebugconState, (obj), TYPE_ISA_DEBUGCON_DEVICE)
>
> -//#define DEBUG_DEBUGCON
> +#define DEBUG_DEBUGCON
>
This is probably useful for testing, but I don't think we want this enabled
permanently.
> typedef struct DebugconState {
> MemoryRegion io;
> @@ -55,7 +55,7 @@ static void debugcon_ioport_write(void *opaque, hwaddr addr, uint64_t val,
> unsigned char ch = val;
>
> #ifdef DEBUG_DEBUGCON
> - printf(" [debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02]\n", addr, val);
> + printf(" [debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02" PRIx64 "]\n", addr, val);
> #endif
>
Since this was introduced by patch #2, just squash this hunk together with
that one when you resubmit.
> qemu_chr_fe_write(s->chr, &ch, 1);
> @@ -67,7 +67,7 @@ static uint64_t debugcon_ioport_read(void *opaque, hwaddr addr, unsigned width)
> DebugconState *s = opaque;
>
> #ifdef DEBUG_DEBUGCON
> - printf("debugcon: read addr=0x%04x\n", addr);
> + printf("debugcon: read addr=0x%04" HWADDR_PRIx "\n", addr);
I noticed that you only added brackets to the 'write' messages, but not the
'read' messages. Was that intentional?
> #endif
>
> return s->readback;
>
Jesse Larrew
Software Engineer, KVM Team
IBM Linux Technology Center
Phone: (512) 973-2052 (T/L: 363-2052)
jlarrew@linux.vnet.ibm.com
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON
2013-04-16 2:51 ` Jesse Larrew
@ 2013-04-16 3:00 ` li guang
0 siblings, 0 replies; 8+ messages in thread
From: li guang @ 2013-04-16 3:00 UTC (permalink / raw)
To: Jesse Larrew; +Cc: Anthony Liguori, qemu-devel
在 2013-04-15一的 21:51 -0500,Jesse Larrew写道:
> On 04/14/2013 09:14 PM, liguang wrote:
> > compiler warnings:
> > CC hw/char/debugcon.o
> > hw/char/debugcon.c: In function ‘debugcon_ioport_write’:
> > hw/char/debugcon.c:58: warning: format ‘%02x’ expects type ‘unsigned int’, but argument 3 has type ‘uint64_t’
> > hw/char/debugcon.c: In function ‘debugcon_ioport_read’:
> > hw/char/debugcon.c:70: warning: format ‘%04x’ expects type ‘unsigned int’, but argument 2 has type ‘hwaddr’
> >
> > Signed-off-by: liguang <lig.fnst@cn.fujitsu.com>
> > ---
> > hw/char/debugcon.c | 6 +++---
> > 1 files changed, 3 insertions(+), 3 deletions(-)
> >
> > diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
> > index b6f2b06..a0d3633 100644
> > --- a/hw/char/debugcon.c
> > +++ b/hw/char/debugcon.c
> > @@ -33,7 +33,7 @@
> > #define ISA_DEBUGCON_DEVICE(obj) \
> > OBJECT_CHECK(ISADebugconState, (obj), TYPE_ISA_DEBUGCON_DEVICE)
> >
> > -//#define DEBUG_DEBUGCON
> > +#define DEBUG_DEBUGCON
> >
>
> This is probably useful for testing, but I don't think we want this enabled
> permanently.
Yes, that was un-commented for test,
Sorry, will change back.
>
> > typedef struct DebugconState {
> > MemoryRegion io;
> > @@ -55,7 +55,7 @@ static void debugcon_ioport_write(void *opaque, hwaddr addr, uint64_t val,
> > unsigned char ch = val;
> >
> > #ifdef DEBUG_DEBUGCON
> > - printf(" [debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02]\n", addr, val);
> > + printf(" [debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02" PRIx64 "]\n", addr, val);
> > #endif
> >
>
> Since this was introduced by patch #2, just squash this hunk together with
> that one when you resubmit.
they were splitted by for different purpose.
>
> > qemu_chr_fe_write(s->chr, &ch, 1);
> > @@ -67,7 +67,7 @@ static uint64_t debugcon_ioport_read(void *opaque, hwaddr addr, unsigned width)
> > DebugconState *s = opaque;
> >
> > #ifdef DEBUG_DEBUGCON
> > - printf("debugcon: read addr=0x%04x\n", addr);
> > + printf("debugcon: read addr=0x%04" HWADDR_PRIx "\n", addr);
>
> I noticed that you only added brackets to the 'write' messages, but not the
> 'read' messages. Was that intentional?
>
Yes, 'addr' for reading will not be printed by console backend.
> > #endif
> >
> > return s->readback;
> >
>
> Jesse Larrew
> Software Engineer, KVM Team
> IBM Linux Technology Center
> Phone: (512) 973-2052 (T/L: 363-2052)
> jlarrew@linux.vnet.ibm.com
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [Qemu-devel] [PATCH v2 2/3] debugcon: make debug message more readable
2013-04-16 2:44 ` Jesse Larrew
@ 2013-04-16 3:39 ` li guang
0 siblings, 0 replies; 8+ messages in thread
From: li guang @ 2013-04-16 3:39 UTC (permalink / raw)
To: Jesse Larrew; +Cc: Anthony Liguori, qemu-devel
在 2013-04-15一的 21:44 -0500,Jesse Larrew写道:
> On 04/14/2013 09:14 PM, liguang wrote:
> > #ifdef DEBUG_DEBUGCON
> > - printf("debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02x\n", addr, val);
> > + printf(" [debugcon: write addr=0x%04" HWADDR_PRIx " val=0x%02]\n", addr, val);
>
> I like the reformatting, but it looks like you accidentally clobbered the
> 'x' when you added the ']'. This is the cause of the compiler warnings in
> patch #3.
Oh, really should not clobber 'x'
Thanks!
but the main warnings were not triggered by this.
>
> Jesse Larrew
> Software Engineer, KVM Team
> IBM Linux Technology Center
> Phone: (512) 973-2052 (T/L: 363-2052)
> jlarrew@linux.vnet.ibm.com
>
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-04-16 3:41 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-15 2:14 [Qemu-devel] [PATCH v2 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug liguang
2013-04-15 2:14 ` [Qemu-devel] [PATCH v2 2/3] debugcon: make debug message more readable liguang
2013-04-16 2:44 ` Jesse Larrew
2013-04-16 3:39 ` li guang
2013-04-15 2:14 ` [Qemu-devel] [PATCH v2 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON liguang
2013-04-16 2:51 ` Jesse Larrew
2013-04-16 3:00 ` li guang
2013-04-16 2:37 ` [Qemu-devel] [PATCH v2 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug Jesse Larrew
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).