Patchwork [02/25] pci: use appropriate PRIs in PCI_DPRINTF() for portability.

login
register
mail settings
Submitter Isaku Yamahata
Date Oct. 2, 2009, 8:15 p.m.
Message ID <1254514577-11896-3-git-send-email-yamahata@valinux.co.jp>
Download mbox | patch
Permalink /patch/34882/
State Superseded
Headers show

Comments

Isaku Yamahata - Oct. 2, 2009, 8:15 p.m.
use appropriate PRIs in PCI_DPRINTF() to print pci config space offset
and value for portability.

Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
---
 hw/pci.c |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)
Michael S. Tsirkin - Oct. 4, 2009, 9:51 a.m.
On Sat, Oct 03, 2009 at 05:15:54AM +0900, Isaku Yamahata wrote:
> use appropriate PRIs in PCI_DPRINTF() to print pci config space offset
> and value for portability.
> 
> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>

Can we just switch to "unsigned" here?  There's no reason to force
specific data width: in fact, address is probably a 16 bit value,
and ISO types can be printed with plan printf without format macros.

> ---
>  hw/pci.c |   10 ++++++----
>  1 files changed, 6 insertions(+), 4 deletions(-)
> 
> diff --git a/hw/pci.c b/hw/pci.c
> index 4392574..d281ee2 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -561,7 +561,7 @@ void pci_data_write(void *opaque, uint32_t addr, uint32_t val, int len)
>      int config_addr, bus_num;
>  
>  #if 0
> -    PCI_DPRINTF("pci_data_write: addr=%08x val=%08x len=%d\n",
> +    PCI_DPRINTF("pci_data_write: addr=%08"PRIx32" val=%08"PRIx32" len=%d\n",
>                  addr, val, len);
>  #endif
>      bus_num = (addr >> 16) & 0xff;
> @@ -573,7 +573,8 @@ void pci_data_write(void *opaque, uint32_t addr, uint32_t val, int len)
>      if (!pci_dev)
>          return;
>      config_addr = addr & 0xff;
> -    PCI_DPRINTF("pci_config_write: %s: addr=%02x val=%08x len=%d\n",
> +    PCI_DPRINTF("pci_config_write: %s: "
> +                "addr=%02x val=%08"PRI32x" len=%d\n",
>                  pci_dev->name, config_addr, val, len);
>      pci_dev->config_write(pci_dev, config_addr, val, len);
>  }
> @@ -609,11 +610,12 @@ uint32_t pci_data_read(void *opaque, uint32_t addr, int len)
>      }
>      config_addr = addr & 0xff;
>      val = pci_dev->config_read(pci_dev, config_addr, len);
> -    PCI_DPRINTF("pci_config_read: %s: addr=%02x val=%08x len=%d\n",
> +    PCI_DPRINTF("pci_config_read: %s: "
> +                "addr=%02x val=%08"PRIx32" len=%d\n",
>                  pci_dev->name, config_addr, val, len);
>   the_end:
>  #if 0
> -    PCI_DPRINTF("pci_data_read: addr=%08x val=%08x len=%d\n",
> +    PCI_DPRINTF("pci_data_read: addr=%08"PRIx32" val=%08"PRIx32" len=%d\n",
>                  addr, val, len);
>  #endif
>      return val;
> -- 
> 1.6.0.2
> 
>
Isaku Yamahata - Oct. 5, 2009, 9:30 a.m.
On Sun, Oct 04, 2009 at 11:51:36AM +0200, Michael S. Tsirkin wrote:
> On Sat, Oct 03, 2009 at 05:15:54AM +0900, Isaku Yamahata wrote:
> > use appropriate PRIs in PCI_DPRINTF() to print pci config space offset
> > and value for portability.
> > 
> > Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
> 
> Can we just switch to "unsigned" here?  There's no reason to force
> specific data width: in fact, address is probably a 16 bit value,
> and ISO types can be printed with plan printf without format macros.

You dislike PRI macros. And I agree with you that PRI is ugly.
However I don't see any consensus to avoid those macros
in qemu code base.
It is too weak to change its type because of its ugliness.

- There is no description on it in CODING_STYLE.
- PRI macros are already widely used in qemu code 
  and many patches with PRI have been commited.
- Many other part uses explicit sized type, uintN_t, for address.
- C99

thanks,

> 
> > ---
> >  hw/pci.c |   10 ++++++----
> >  1 files changed, 6 insertions(+), 4 deletions(-)
> > 
> > diff --git a/hw/pci.c b/hw/pci.c
> > index 4392574..d281ee2 100644
> > --- a/hw/pci.c
> > +++ b/hw/pci.c
> > @@ -561,7 +561,7 @@ void pci_data_write(void *opaque, uint32_t addr, uint32_t val, int len)
> >      int config_addr, bus_num;
> >  
> >  #if 0
> > -    PCI_DPRINTF("pci_data_write: addr=%08x val=%08x len=%d\n",
> > +    PCI_DPRINTF("pci_data_write: addr=%08"PRIx32" val=%08"PRIx32" len=%d\n",
> >                  addr, val, len);
> >  #endif
> >      bus_num = (addr >> 16) & 0xff;
> > @@ -573,7 +573,8 @@ void pci_data_write(void *opaque, uint32_t addr, uint32_t val, int len)
> >      if (!pci_dev)
> >          return;
> >      config_addr = addr & 0xff;
> > -    PCI_DPRINTF("pci_config_write: %s: addr=%02x val=%08x len=%d\n",
> > +    PCI_DPRINTF("pci_config_write: %s: "
> > +                "addr=%02x val=%08"PRI32x" len=%d\n",
> >                  pci_dev->name, config_addr, val, len);
> >      pci_dev->config_write(pci_dev, config_addr, val, len);
> >  }
> > @@ -609,11 +610,12 @@ uint32_t pci_data_read(void *opaque, uint32_t addr, int len)
> >      }
> >      config_addr = addr & 0xff;
> >      val = pci_dev->config_read(pci_dev, config_addr, len);
> > -    PCI_DPRINTF("pci_config_read: %s: addr=%02x val=%08x len=%d\n",
> > +    PCI_DPRINTF("pci_config_read: %s: "
> > +                "addr=%02x val=%08"PRIx32" len=%d\n",
> >                  pci_dev->name, config_addr, val, len);
> >   the_end:
> >  #if 0
> > -    PCI_DPRINTF("pci_data_read: addr=%08x val=%08x len=%d\n",
> > +    PCI_DPRINTF("pci_data_read: addr=%08"PRIx32" val=%08"PRIx32" len=%d\n",
> >                  addr, val, len);
> >  #endif
> >      return val;
>
Michael S. Tsirkin - Oct. 5, 2009, 9:56 a.m.
On Mon, Oct 05, 2009 at 06:30:19PM +0900, Isaku Yamahata wrote:
> On Sun, Oct 04, 2009 at 11:51:36AM +0200, Michael S. Tsirkin wrote:
> > On Sat, Oct 03, 2009 at 05:15:54AM +0900, Isaku Yamahata wrote:
> > > use appropriate PRIs in PCI_DPRINTF() to print pci config space offset
> > > and value for portability.
> > > 
> > > Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
> > 
> > Can we just switch to "unsigned" here?  There's no reason to force
> > specific data width: in fact, address is probably a 16 bit value,
> > and ISO types can be printed with plan printf without format macros.
> 
> You dislike PRI macros.

No, the point was that uint32_t is an inappropriate type for address, here.
We really just want to say "some unsigned integer", so - unsigned.
So let's fix that instead of adding PRI which we'll have to rip out
when we fix the type.

> And I agree with you that PRI is ugly.
> However I don't see any consensus to avoid those macros
> in qemu code base.
> It is too weak to change its type because of its ugliness.

The reason is that uint32_t is inappropriate here, not that PRI is
ugly.

> - There is no description on it in CODING_STYLE.
> - PRI macros are already widely used in qemu code 
>   and many patches with PRI have been commited.
> - Many other part uses explicit sized type, uintN_t, for address.

It often makes sense. In this case, IMO, it does not.

> - C99

What about it?

> 
> thanks,
> > 
> > > ---
> > >  hw/pci.c |   10 ++++++----
> > >  1 files changed, 6 insertions(+), 4 deletions(-)
> > > 
> > > diff --git a/hw/pci.c b/hw/pci.c
> > > index 4392574..d281ee2 100644
> > > --- a/hw/pci.c
> > > +++ b/hw/pci.c
> > > @@ -561,7 +561,7 @@ void pci_data_write(void *opaque, uint32_t addr, uint32_t val, int len)
> > >      int config_addr, bus_num;
> > >  
> > >  #if 0
> > > -    PCI_DPRINTF("pci_data_write: addr=%08x val=%08x len=%d\n",
> > > +    PCI_DPRINTF("pci_data_write: addr=%08"PRIx32" val=%08"PRIx32" len=%d\n",
> > >                  addr, val, len);
> > >  #endif
> > >      bus_num = (addr >> 16) & 0xff;
> > > @@ -573,7 +573,8 @@ void pci_data_write(void *opaque, uint32_t addr, uint32_t val, int len)
> > >      if (!pci_dev)
> > >          return;
> > >      config_addr = addr & 0xff;
> > > -    PCI_DPRINTF("pci_config_write: %s: addr=%02x val=%08x len=%d\n",
> > > +    PCI_DPRINTF("pci_config_write: %s: "
> > > +                "addr=%02x val=%08"PRI32x" len=%d\n",
> > >                  pci_dev->name, config_addr, val, len);
> > >      pci_dev->config_write(pci_dev, config_addr, val, len);
> > >  }
> > > @@ -609,11 +610,12 @@ uint32_t pci_data_read(void *opaque, uint32_t addr, int len)
> > >      }
> > >      config_addr = addr & 0xff;
> > >      val = pci_dev->config_read(pci_dev, config_addr, len);
> > > -    PCI_DPRINTF("pci_config_read: %s: addr=%02x val=%08x len=%d\n",
> > > +    PCI_DPRINTF("pci_config_read: %s: "
> > > +                "addr=%02x val=%08"PRIx32" len=%d\n",
> > >                  pci_dev->name, config_addr, val, len);
> > >   the_end:
> > >  #if 0
> > > -    PCI_DPRINTF("pci_data_read: addr=%08x val=%08x len=%d\n",
> > > +    PCI_DPRINTF("pci_data_read: addr=%08"PRIx32" val=%08"PRIx32" len=%d\n",
> > >                  addr, val, len);
> > >  #endif
> > >      return val;
> > 
> 
> -- 
> yamahata

Patch

diff --git a/hw/pci.c b/hw/pci.c
index 4392574..d281ee2 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -561,7 +561,7 @@  void pci_data_write(void *opaque, uint32_t addr, uint32_t val, int len)
     int config_addr, bus_num;
 
 #if 0
-    PCI_DPRINTF("pci_data_write: addr=%08x val=%08x len=%d\n",
+    PCI_DPRINTF("pci_data_write: addr=%08"PRIx32" val=%08"PRIx32" len=%d\n",
                 addr, val, len);
 #endif
     bus_num = (addr >> 16) & 0xff;
@@ -573,7 +573,8 @@  void pci_data_write(void *opaque, uint32_t addr, uint32_t val, int len)
     if (!pci_dev)
         return;
     config_addr = addr & 0xff;
-    PCI_DPRINTF("pci_config_write: %s: addr=%02x val=%08x len=%d\n",
+    PCI_DPRINTF("pci_config_write: %s: "
+                "addr=%02x val=%08"PRI32x" len=%d\n",
                 pci_dev->name, config_addr, val, len);
     pci_dev->config_write(pci_dev, config_addr, val, len);
 }
@@ -609,11 +610,12 @@  uint32_t pci_data_read(void *opaque, uint32_t addr, int len)
     }
     config_addr = addr & 0xff;
     val = pci_dev->config_read(pci_dev, config_addr, len);
-    PCI_DPRINTF("pci_config_read: %s: addr=%02x val=%08x len=%d\n",
+    PCI_DPRINTF("pci_config_read: %s: "
+                "addr=%02x val=%08"PRIx32" len=%d\n",
                 pci_dev->name, config_addr, val, len);
  the_end:
 #if 0
-    PCI_DPRINTF("pci_data_read: addr=%08x val=%08x len=%d\n",
+    PCI_DPRINTF("pci_data_read: addr=%08"PRIx32" val=%08"PRIx32" len=%d\n",
                 addr, val, len);
 #endif
     return val;