diff options
Diffstat (limited to 'hw/pci.c')
-rw-r--r-- | hw/pci.c | 14 |
1 files changed, 9 insertions, 5 deletions
@@ -467,7 +467,7 @@ void pci_register_bar(PCIDevice *pci_dev, int region_num, if (size & (size-1)) { fprintf(stderr, "ERROR: PCI region size must be pow2 " - "type=0x%x, size=0x%x\n", type, size); + "type=0x%x, size=0x%"FMT_PCIBUS"\n", type, size); exit(1); } @@ -484,7 +484,7 @@ void pci_register_bar(PCIDevice *pci_dev, int region_num, wmask |= PCI_ROM_ADDRESS_ENABLE; } pci_set_long(pci_dev->config + addr, type); - pci_set_long(pci_dev->wmask + addr, wmask); + pci_set_long(pci_dev->wmask + addr, wmask & 0xffffffff); pci_set_long(pci_dev->cmask + addr, 0xffffffff); } @@ -762,10 +762,12 @@ static void pci_info_device(PCIDevice *d) if (r->size != 0) { monitor_printf(mon, " BAR%d: ", i); if (r->type & PCI_BASE_ADDRESS_SPACE_IO) { - monitor_printf(mon, "I/O at 0x%04x [0x%04x].\n", + monitor_printf(mon, "I/O at 0x%04"FMT_PCIBUS + " [0x%04"FMT_PCIBUS"].\n", r->addr, r->addr + r->size - 1); } else { - monitor_printf(mon, "32 bit memory at 0x%08x [0x%08x].\n", + monitor_printf(mon, "32 bit memory at 0x%08"FMT_PCIBUS + " [0x%08"FMT_PCIBUS"].\n", r->addr, r->addr + r->size - 1); } } @@ -1124,7 +1126,9 @@ static void pcibus_dev_print(Monitor *mon, DeviceState *dev, int indent) r = &d->io_regions[i]; if (!r->size) continue; - monitor_printf(mon, "%*sbar %d: %s at 0x%x [0x%x]\n", indent, "", + monitor_printf(mon, "%*sbar %d: %s at 0x%"FMT_PCIBUS + " [0x%"FMT_PCIBUS"]\n", + indent, "", i, r->type & PCI_BASE_ADDRESS_SPACE_IO ? "i/o" : "mem", r->addr, r->addr + r->size - 1); } |