qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug
@ 2013-04-12  4:12 liguang
  2013-04-12  4:12 ` [Qemu-devel] [PATCH 2/3] debugcon: make debug message more readable liguang
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: liguang @ 2013-04-12  4:12 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..e41ec8a 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%04llx 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] 6+ messages in thread

* [Qemu-devel] [PATCH 2/3] debugcon: make debug message more readable
  2013-04-12  4:12 [Qemu-devel] [PATCH 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug liguang
@ 2013-04-12  4:12 ` liguang
  2013-04-12  4:12 ` [Qemu-devel] [PATCH 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON liguang
  2013-04-12 12:16 ` [Qemu-devel] [PATCH 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug Andreas Färber
  2 siblings, 0 replies; 6+ messages in thread
From: liguang @ 2013-04-12  4:12 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 e41ec8a..b52cbeb 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%04llx val=0x%02x\n", addr, val);
+    printf(" [debugcon: write addr=0x%04llx 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] 6+ messages in thread

* [Qemu-devel] [PATCH 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON
  2013-04-12  4:12 [Qemu-devel] [PATCH 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug liguang
  2013-04-12  4:12 ` [Qemu-devel] [PATCH 2/3] debugcon: make debug message more readable liguang
@ 2013-04-12  4:12 ` liguang
  2013-04-12 12:19   ` Andreas Färber
  2013-04-12 12:16 ` [Qemu-devel] [PATCH 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug Andreas Färber
  2 siblings, 1 reply; 6+ messages in thread
From: liguang @ 2013-04-12  4:12 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 |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
index b52cbeb..4cf07c6 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%04llx val=0x%02x]\n", addr, val);
+    printf(" [debugcon: write addr=0x%04llx val=0x%02llx]\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%04llx\n", addr);
 #endif
 
     return s->readback;
-- 
1.7.2.5


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug
  2013-04-12  4:12 [Qemu-devel] [PATCH 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug liguang
  2013-04-12  4:12 ` [Qemu-devel] [PATCH 2/3] debugcon: make debug message more readable liguang
  2013-04-12  4:12 ` [Qemu-devel] [PATCH 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON liguang
@ 2013-04-12 12:16 ` Andreas Färber
  2 siblings, 0 replies; 6+ messages in thread
From: Andreas Färber @ 2013-04-12 12:16 UTC (permalink / raw)
  To: liguang; +Cc: qemu-devel

Am 12.04.2013 06:12, schrieb 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..e41ec8a 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%04llx val=0x%02x\n", addr, val);

That is almost as wrong as before:

addr is of type hwaddr, so there should be a HWADDR_PRIx to use instead
of hardcoded x or llx, which in turn depends on uint64_t implementation.

val is of type uint64_t so you should use POSIX' PRIx64.

Andreas

>  #endif
>  
>      qemu_chr_fe_write(s->chr, &ch, 1);
> 


-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON
  2013-04-12  4:12 ` [Qemu-devel] [PATCH 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON liguang
@ 2013-04-12 12:19   ` Andreas Färber
  2013-04-15  0:25     ` li guang
  0 siblings, 1 reply; 6+ messages in thread
From: Andreas Färber @ 2013-04-12 12:19 UTC (permalink / raw)
  To: liguang; +Cc: qemu-devel

Am 12.04.2013 06:12, schrieb 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 |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
> index b52cbeb..4cf07c6 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%04llx val=0x%02x]\n", addr, val);
> +    printf(" [debugcon: write addr=0x%04llx val=0x%02llx]\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%04llx\n", addr);
>  #endif
>  
>      return s->readback;

Please see PRIx comment on 1/3.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [Qemu-devel] [PATCH 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON
  2013-04-12 12:19   ` Andreas Färber
@ 2013-04-15  0:25     ` li guang
  0 siblings, 0 replies; 6+ messages in thread
From: li guang @ 2013-04-15  0:25 UTC (permalink / raw)
  To: Andreas Färber; +Cc: qemu-devel

在 2013-04-12五的 14:19 +0200,Andreas Färber写道:
> Am 12.04.2013 06:12, schrieb 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 |    4 ++--
> >  1 files changed, 2 insertions(+), 2 deletions(-)
> > 
> > diff --git a/hw/char/debugcon.c b/hw/char/debugcon.c
> > index b52cbeb..4cf07c6 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%04llx val=0x%02x]\n", addr, val);
> > +    printf(" [debugcon: write addr=0x%04llx val=0x%02llx]\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%04llx\n", addr);
> >  #endif
> >  
> >      return s->readback;
> 
> Please see PRIx comment on 1/3.
> 

right, thanks!

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2013-04-15  0:27 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-04-12  4:12 [Qemu-devel] [PATCH 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug liguang
2013-04-12  4:12 ` [Qemu-devel] [PATCH 2/3] debugcon: make debug message more readable liguang
2013-04-12  4:12 ` [Qemu-devel] [PATCH 3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON liguang
2013-04-12 12:19   ` Andreas Färber
2013-04-15  0:25     ` li guang
2013-04-12 12:16 ` [Qemu-devel] [PATCH 1/3] debugcon: fix always print "addr=0x0, val=0x0" bug Andreas Färber

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).