Patchwork [v2,3/3] debugcon: fix compiler warning when open DEBUG_DEBUGCON

login
register
mail settings
Submitter liguang
Date April 15, 2013, 2:14 a.m.
Message ID <1365992066-24348-3-git-send-email-lig.fnst@cn.fujitsu.com>
Download mbox | patch
Permalink /patch/236487/
State New
Headers show

Comments

liguang - April 15, 2013, 2:14 a.m.
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(-)
Jesse Larrew - April 16, 2013, 2:51 a.m.
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
liguang - April 16, 2013, 3 a.m.
在 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
>

Patch

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;