qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [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).