From: "Michael S. Tsirkin" <mst@redhat.com>
To: Isaku Yamahata <yamahata@valinux.co.jp>
Cc: qemu-devel@nongnu.org
Subject: [Qemu-devel] Re: [PATCH 10/25] pci: introduce FMT_pcibus for printf format for pcibus_t.
Date: Sun, 4 Oct 2009 11:46:17 +0200 [thread overview]
Message-ID: <20091004094617.GA16887@redhat.com> (raw)
In-Reply-To: <1254514577-11896-11-git-send-email-yamahata@valinux.co.jp>
On Sat, Oct 03, 2009 at 05:16:02AM +0900, Isaku Yamahata wrote:
> This patch is preliminary for 64bit BAR.
> Later pcibus_t will be changed from uint32_t to uint64_t.
> Introduce FMT_pcibus for printf format for pcibus_t.
>
> Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
I think that macros should be all-uppercase.
> ---
> hw/e1000.c | 6 ++++--
> hw/eepro100.c | 6 ++++--
> hw/pci.c | 17 +++++++++++------
> hw/pci.h | 1 +
> hw/pcnet.c | 5 +++--
> hw/wdt_i6300esb.c | 3 ++-
> 6 files changed, 25 insertions(+), 13 deletions(-)
>
> diff --git a/hw/e1000.c b/hw/e1000.c
> index c07eb42..cb88f7a 100644
> --- a/hw/e1000.c
> +++ b/hw/e1000.c
> @@ -145,7 +145,8 @@ static void
> ioport_map(PCIDevice *pci_dev, int region_num, pcibus_t addr,
> pcibus_t size, int type)
> {
> - DBGOUT(IO, "e1000_ioport_map addr=0x%04x size=0x%08x\n", addr, size);
> + DBGOUT(IO, "e1000_ioport_map addr=0x%04"FMT_pcibus" size=0x%08"FMT_pcibus"\n",
> + addr, size);
> }
>
> static void
> @@ -1040,7 +1041,8 @@ e1000_mmio_map(PCIDevice *pci_dev, int region_num,
> };
>
>
> - DBGOUT(MMIO, "e1000_mmio_map addr=0x%08x 0x%08x\n", addr, size);
> + DBGOUT(MMIO, "e1000_mmio_map addr=0x%08"FMT_pcibus" 0x%08"FMT_pcibus"\n",
> + addr, size);
>
> cpu_register_physical_memory(addr, PNPMMIO_SIZE, d->mmio_index);
> qemu_register_coalesced_mmio(addr, excluded_regs[0]);
> diff --git a/hw/eepro100.c b/hw/eepro100.c
> index 1a1a0da..e54b129 100644
> --- a/hw/eepro100.c
> +++ b/hw/eepro100.c
> @@ -1378,7 +1378,8 @@ static void pci_map(PCIDevice * pci_dev, int region_num,
> {
> EEPRO100State *s = DO_UPCAST(EEPRO100State, dev, pci_dev);
>
> - TRACE(OTHER, logout("region %d, addr=0x%08x, size=0x%08x, type=%d\n",
> + TRACE(OTHER, logout("region %d, addr=0x%08"FMT_pcibus", "
> + "size=0x%08"FMT_pcibus", type=%d\n",
> region_num, addr, size, type));
>
> assert(region_num == 1);
> @@ -1457,7 +1458,8 @@ static void pci_mmio_map(PCIDevice * pci_dev, int region_num,
> {
> EEPRO100State *s = DO_UPCAST(EEPRO100State, dev, pci_dev);
>
> - TRACE(OTHER, logout("region %d, addr=0x%08x, size=0x%08x, type=%d\n",
> + TRACE(OTHER, logout("region %d, addr=0x%08"FMT_pcibus", "
> + "size=0x%08"FMT_pcibus", type=%d\n",
> region_num, addr, size, type));
>
> if (region_num == 0) {
> diff --git a/hw/pci.c b/hw/pci.c
> index 674daba..510fad2 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -408,7 +408,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);
> }
>
> @@ -427,7 +427,7 @@ void pci_register_bar(PCIDevice *pci_dev, int region_num,
> addr = 0x10 + region_num * 4;
> }
> 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);
> }
>
> @@ -473,7 +473,11 @@ static void pci_update_mappings(PCIDevice *d)
> mappings, we handle specific values as invalid
> mappings. */
> if (last_addr <= new_addr || new_addr == 0 ||
> - last_addr == PCI_BAR_UNMAPPED) {
> + last_addr == PCI_BAR_UNMAPPED ||
> +
> + /* keep old behaviour
> + * without this, PC ide doesn't work well. */
> + last_addr >= UINT32_MAX) {
> new_addr = PCI_BAR_UNMAPPED;
> }
> } else {
> @@ -729,10 +733,10 @@ static void pci_info_device(PCIDevice *d)
> if (r->size != 0) {
> monitor_printf(mon, " BAR%d: ", i);
> if (r->type & PCI_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);
> }
> }
> @@ -1047,7 +1051,8 @@ 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_ADDRESS_SPACE_IO ? "i/o" : "mem",
> r->addr, r->addr + r->size - 1);
> }
> diff --git a/hw/pci.h b/hw/pci.h
> index 8e46aba..d75b3b3 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -72,6 +72,7 @@ extern target_phys_addr_t pci_mem_base;
> #define PCI_DEVICE_ID_VIRTIO_CONSOLE 0x1003
>
> typedef uint32_t pcibus_t;
> +#define FMT_pcibus PRIx32
>
> typedef void PCIConfigWriteFunc(PCIDevice *pci_dev,
> uint32_t address, uint32_t data, int len);
> diff --git a/hw/pcnet.c b/hw/pcnet.c
> index 2789574..0af9a9f 100644
> --- a/hw/pcnet.c
> +++ b/hw/pcnet.c
> @@ -1766,7 +1766,8 @@ static void pcnet_ioport_map(PCIDevice *pci_dev, int region_num,
> PCNetState *d = &DO_UPCAST(PCIPCNetState, pci_dev, pci_dev)->state;
>
> #ifdef PCNET_DEBUG_IO
> - printf("pcnet_ioport_map addr=0x%04x size=0x%04x\n", addr, size);
> + printf("pcnet_ioport_map addr=0x%04"FMT_pcibus" size=0x%04"FMT_pcibus"\n",
> + addr, size);
> #endif
>
> register_ioport_write(addr, 16, 1, pcnet_aprom_writeb, d);
> @@ -1994,7 +1995,7 @@ static void pcnet_mmio_map(PCIDevice *pci_dev, int region_num,
> PCIPCNetState *d = DO_UPCAST(PCIPCNetState, pci_dev, pci_dev);
>
> #ifdef PCNET_DEBUG_IO
> - printf("pcnet_mmio_map addr=0x%08x 0x%08x\n", addr, size);
> + printf("pcnet_mmio_map addr=0x%08"FMT_pcibus" 0x%08"FMT_pcibus"\n", addr, size);
> #endif
>
> cpu_register_physical_memory(addr, PCNET_PNPMMIO_SIZE, d->state.mmio_index);
> diff --git a/hw/wdt_i6300esb.c b/hw/wdt_i6300esb.c
> index d3ab3c8..93e657b 100644
> --- a/hw/wdt_i6300esb.c
> +++ b/hw/wdt_i6300esb.c
> @@ -362,7 +362,8 @@ static void i6300esb_map(PCIDevice *dev, int region_num,
> I6300State *d = DO_UPCAST(I6300State, dev, dev);
> int io_mem;
>
> - i6300esb_debug("addr = %x, size = %x, type = %d\n", addr, size, type);
> + i6300esb_debug("addr = %"FMT_pcibus", size = %"FMT_pcibus", type = %d\n",
> + addr, size, type);
>
> io_mem = cpu_register_io_memory(mem_read, mem_write, d);
> cpu_register_physical_memory (addr, 0x10, io_mem);
> --
> 1.6.0.2
>
>
next prev parent reply other threads:[~2009-10-04 9:48 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-02 20:15 [Qemu-devel] [PATCH 00/25] pci: various pci clean up and pci express support. V3 Isaku Yamahata
2009-10-02 20:15 ` [Qemu-devel] [PATCH 01/25] pci: fix PCI_DPRINTF() wrt variadic macro Isaku Yamahata
2009-10-02 20:15 ` [Qemu-devel] [PATCH 02/25] pci: use appropriate PRIs in PCI_DPRINTF() for portability Isaku Yamahata
2009-10-04 9:51 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-05 9:30 ` Isaku Yamahata
2009-10-05 9:56 ` Michael S. Tsirkin
2009-10-02 20:15 ` [Qemu-devel] [PATCH 03/25] pci: introduce constant PCI_NUM_PINS for the number of interrupt pins, 4 Isaku Yamahata
2009-10-04 10:04 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-05 9:32 ` Isaku Yamahata
2009-10-02 20:15 ` [Qemu-devel] [PATCH 04/25] pci: use the symbolic constant, PCI_ROM_ADDRESS_ENABLE instead of 1 Isaku Yamahata
2009-10-04 10:06 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:15 ` [Qemu-devel] [PATCH 05/25] pci: use PCI_SLOT() and PCI_FUNC() Isaku Yamahata
2009-10-04 10:02 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:15 ` [Qemu-devel] [PATCH 06/25] pci: define a constant to represent a unmapped bar and use it Isaku Yamahata
2009-10-04 10:04 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:15 ` [Qemu-devel] [PATCH 07/25] pci: helper functions to access PCIDevice::config Isaku Yamahata
2009-10-04 9:48 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 08/25] pci: use helper functions to access pci config space Isaku Yamahata
2009-10-04 9:47 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 09/25] pci: introduce pcibus_t to represent pci bus address/size instead of uint32_t Isaku Yamahata
2009-10-04 10:06 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 10/25] pci: introduce FMT_pcibus for printf format for pcibus_t Isaku Yamahata
2009-10-04 9:46 ` Michael S. Tsirkin [this message]
2009-10-02 20:16 ` [Qemu-devel] [PATCH 11/25] pci: typedef pcibus_t as uint64_t instead of uint32_t Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 12/25] pci: 64bit bar support Isaku Yamahata
2009-10-04 10:26 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-05 9:45 ` Isaku Yamahata
2009-10-05 10:08 ` Michael S. Tsirkin
2009-10-05 10:26 ` Isaku Yamahata
2009-10-05 11:04 ` Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 13/25] pci: make pci configuration transaction more accurate Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 14/25] pci: factor out the logic to get pci device from address Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 15/25] pci_host.h: split non-inline static function in pci_host.h into pci_host.c Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 16/25] pci: pcie host and mmcfg support Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 17/25] pci: fix pci_default_write_config() Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 18/25] pci: add helper functions for pci config write function Isaku Yamahata
2009-10-04 10:30 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 19/25] pci: use helper function in pci_default_write_config() Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 20/25] pci: factor out config update logic Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 21/25] pci: make bar update function aware of pci bridge Isaku Yamahata
2009-10-04 10:53 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-05 9:47 ` Isaku Yamahata
2009-10-05 10:10 ` Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 22/25] pci/brdige: qdevfy and initialize secondary bus and subordinate bus Isaku Yamahata
2009-10-04 11:04 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-05 9:51 ` Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 23/25] pci: add helper function to initialize wmask Isaku Yamahata
2009-10-04 11:05 ` [Qemu-devel] " Michael S. Tsirkin
2009-10-02 20:16 ` [Qemu-devel] [PATCH 24/25] pci: initialize wmask according to pci header type Isaku Yamahata
2009-10-02 20:16 ` [Qemu-devel] [PATCH 25/25] pci/monitor: print out bridge's filtering values and so on Isaku Yamahata
2009-10-04 11:10 ` [Qemu-devel] " Michael S. Tsirkin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091004094617.GA16887@redhat.com \
--to=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=yamahata@valinux.co.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.