Patchwork IDE Debug compiler warnings

login
register
mail settings
Submitter John Baboval
Date Oct. 28, 2011, 7:39 p.m.
Message ID <4EAB04EF.3080208@virtualcomputer.com>
Download mbox | patch
Permalink /patch/122492/
State New
Headers show

Comments

John Baboval - Oct. 28, 2011, 7:39 p.m.
This fixes up a few compiler warnings/errors when building with
IDE_DEBUG or AHCI_DEBUG enabled.

Signed-off-by: John V. Baboval <john.baboval@virtualcomputer.com>
---
  hw/ide/ahci.c |    2 +-
  hw/ide/pci.c  |    2 +-
  hw/ide/piix.c |    4 ++--
  3 files changed, 4 insertions(+), 4 deletions(-)

  }
@@ -68,7 +68,7 @@ static void bmdma_write(void *opaque, 
target_phys_addr_t addr,
      }
   #ifdef DEBUG_IDE
-    printf("bmdma: writeb 0x%02x : 0x%02x\n", addr, val);
+    printf("bmdma: writeb 0x%02lx : 0x%02lx\n", addr, val);
  #endif
      switch(addr & 3) {
      case 0:
Peter Maydell - Oct. 28, 2011, 8:47 p.m.
On 28 October 2011 20:39, John Baboval <john.baboval@virtualcomputer.com> wrote:
> --- a/hw/ide/ahci.c
> +++ b/hw/ide/ahci.c
> @@ -327,7 +327,7 @@ static void ahci_mem_write(void *opaque,
> target_phys_addr_t addr,
>     }
>      if (addr < AHCI_GENERIC_HOST_CONTROL_REGS_MAX_ADDR) {
> -        DPRINTF(-1, "(addr 0x%08X), val 0x%08X\n", (unsigned) addr, val);
> +        DPRINTF(-1, "(addr 0x%08X), val 0x%08lX\n", (unsigned) addr, val);

val is uint64_t so you need to use PRIx64 (otherwise you
get warnings on either 32 bit or 64 bit hosts depending
on whether you use %x or %lx).

> --- a/hw/ide/piix.c
> +++ b/hw/ide/piix.c
> @@ -53,7 +53,7 @@ static uint64_t bmdma_read(void *opaque,
> target_phys_addr_t addr, unsigned size)
>         break;
>     }
>  #ifdef DEBUG_IDE
> -    printf("bmdma: readb 0x%02x : 0x%02x\n", addr, val);
> +    printf("bmdma: readb 0x%02lx : 0x%02x\n", addr, val);

target_phys_addr_t may be a type that %lx isn't correct for
(depending on both the target and host architectures);
you need to cast or use TARGET_FMT_plx here and in the next one.

-- PMM
Max Filippov - Oct. 28, 2011, 9:15 p.m.
> > --- a/hw/ide/ahci.c
> > +++ b/hw/ide/ahci.c
> > @@ -327,7 +327,7 @@ static void ahci_mem_write(void *opaque,
> > target_phys_addr_t addr,
> >     }
> >      if (addr < AHCI_GENERIC_HOST_CONTROL_REGS_MAX_ADDR) {
> > -        DPRINTF(-1, "(addr 0x%08X), val 0x%08X\n", (unsigned) addr, val);
> > +        DPRINTF(-1, "(addr 0x%08X), val 0x%08lX\n", (unsigned) addr, val);
> 
> val is uint64_t so you need to use PRIx64 (otherwise you
> get warnings on either 32 bit or 64 bit hosts depending
> on whether you use %x or %lx).

This and other ahci format strings fixes are already in the queue: http://lists.nongnu.org/archive/html/qemu-devel/2011-10/msg03178.html

Thanks.
-- Max

Patch

diff --git a/hw/ide/ahci.c b/hw/ide/ahci.c
index 1c7e3a0..79277bb 100644
--- a/hw/ide/ahci.c
+++ b/hw/ide/ahci.c
@@ -327,7 +327,7 @@  static void ahci_mem_write(void *opaque, 
target_phys_addr_t addr,
      }
       if (addr < AHCI_GENERIC_HOST_CONTROL_REGS_MAX_ADDR) {
-        DPRINTF(-1, "(addr 0x%08X), val 0x%08X\n", (unsigned) addr, val);
+        DPRINTF(-1, "(addr 0x%08X), val 0x%08lX\n", (unsigned) addr, val);
           switch (addr) {
              case HOST_CAP: /* R/WO, RO */
diff --git a/hw/ide/pci.c b/hw/ide/pci.c
index f133c42..0d3f2f9 100644
--- a/hw/ide/pci.c
+++ b/hw/ide/pci.c
@@ -335,7 +335,7 @@  static uint64_t bmdma_addr_read(void *opaque, 
target_phys_addr_t addr,
       data = (bm->addr >> (addr * 8)) & mask;
  #ifdef DEBUG_IDE
-    printf("%s: 0x%08x\n", __func__, (unsigned)*data);
+    printf("%s: 0x%08x\n", __func__, (unsigned)data);
  #endif
      return data;
  }
diff --git a/hw/ide/piix.c b/hw/ide/piix.c
index 08cbbe2..3d71126 100644
--- a/hw/ide/piix.c
+++ b/hw/ide/piix.c
@@ -53,7 +53,7 @@  static uint64_t bmdma_read(void *opaque, 
target_phys_addr_t addr, unsigned size)
          break;
      }
  #ifdef DEBUG_IDE
-    printf("bmdma: readb 0x%02x : 0x%02x\n", addr, val);
+    printf("bmdma: readb 0x%02lx : 0x%02x\n", addr, val);
  #endif
      return val;