Patchwork [v3,1/3] debugcon: fix always print "addr=0x0, val=0x0" bug

login
register
mail settings
Submitter liguang
Date April 16, 2013, 3:53 a.m.
Message ID <1366084439-7475-1-git-send-email-lig.fnst@cn.fujitsu.com>
Download mbox | patch
Permalink /patch/236835/
State New
Headers show

Comments

liguang - April 16, 2013, 3:53 a.m.
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(-)
liguang - April 22, 2013, 6:18 a.m.
ping ...

在 2013-04-16二的 11:53 +0800,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);
liguang - May 23, 2013, 2:49 a.m.
ping ... again.

在 2013-04-22一的 14:18 +0800,li guang写道:
> ping ...
> 
> 在 2013-04-16二的 11:53 +0800,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);
> 
> 
>
Markus Armbruster - May 23, 2013, 6:25 a.m.
Cc'ing qemu-trivial.

liguang <lig.fnst@cn.fujitsu.com> writes:

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

Subject is misleading, it doesn't "always print", only when
DEBUG_DEBUGCON is enabled.

Recommend to abridge the commit message radically.

> 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);
liguang - May 23, 2013, 6:36 a.m.
在 2013-05-23四的 08:25 +0200,Markus Armbruster写道:
> Cc'ing qemu-trivial.
> 
> liguang <lig.fnst@cn.fujitsu.com> writes:
> 
> > 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'.
> 
> Subject is misleading, it doesn't "always print", only when
> DEBUG_DEBUGCON is enabled.
> 
> Recommend to abridge the commit message radically.

OK, thanks!

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

Patch

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