diff mbox

[04/13] pci: Rename map_irq to route_pin

Message ID 121c12962152cf10368deb1f038508b290855a11.1338799935.git.jan.kiszka@siemens.com
State New
Headers show

Commit Message

Jan Kiszka June 4, 2012, 8:52 a.m. UTC
To avoid confusion with the board-level IRQ the host bridge triggers on
output, rename the per-bridge routing function for the INTx pins to
pci_route_pin_fn. Also adjust variable names of that type. And
rename pci_bridge_map_irq to pci_bridge_prepare, which better reflects
the job of that function.

Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>
---
 hw/alpha_sys.h          |    2 +-
 hw/alpha_typhoon.c      |    2 +-
 hw/apb_pci.c            |    4 ++--
 hw/dec_pci.c            |    2 +-
 hw/ioh3420.c            |    5 +++--
 hw/ioh3420.h            |    3 ++-
 hw/pci.c                |   14 ++++++++------
 hw/pci.h                |    8 +++++---
 hw/pci_bridge.c         |   10 +++++-----
 hw/pci_bridge.h         |    4 ++--
 hw/pci_bridge_dev.c     |    7 ++++---
 hw/pci_internals.h      |    4 ++--
 hw/xio3130_downstream.c |    5 +++--
 hw/xio3130_downstream.h |    3 ++-
 hw/xio3130_upstream.c   |    5 +++--
 hw/xio3130_upstream.h   |    3 ++-
 16 files changed, 46 insertions(+), 35 deletions(-)

Comments

Michael S. Tsirkin June 10, 2012, 11:28 a.m. UTC | #1
On Mon, Jun 04, 2012 at 10:52:12AM +0200, Jan Kiszka wrote:
> To avoid confusion with the board-level IRQ the host bridge triggers on
> output, rename the per-bridge routing function for the INTx pins to
> pci_route_pin_fn. Also adjust variable names of that type. And
> rename pci_bridge_map_irq to pci_bridge_prepare, which better reflects
> the job of that function.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>

Applied.

> ---
>  hw/alpha_sys.h          |    2 +-
>  hw/alpha_typhoon.c      |    2 +-
>  hw/apb_pci.c            |    4 ++--
>  hw/dec_pci.c            |    2 +-
>  hw/ioh3420.c            |    5 +++--
>  hw/ioh3420.h            |    3 ++-
>  hw/pci.c                |   14 ++++++++------
>  hw/pci.h                |    8 +++++---
>  hw/pci_bridge.c         |   10 +++++-----
>  hw/pci_bridge.h         |    4 ++--
>  hw/pci_bridge_dev.c     |    7 ++++---
>  hw/pci_internals.h      |    4 ++--
>  hw/xio3130_downstream.c |    5 +++--
>  hw/xio3130_downstream.h |    3 ++-
>  hw/xio3130_upstream.c   |    5 +++--
>  hw/xio3130_upstream.h   |    3 ++-
>  16 files changed, 46 insertions(+), 35 deletions(-)
> 
> diff --git a/hw/alpha_sys.h b/hw/alpha_sys.h
> index de40f8b..ddeb360 100644
> --- a/hw/alpha_sys.h
> +++ b/hw/alpha_sys.h
> @@ -12,7 +12,7 @@
>  
>  
>  PCIBus *typhoon_init(ram_addr_t, ISABus **, qemu_irq *, CPUAlphaState *[4],
> -                     pci_map_irq_fn);
> +                     pci_route_pin_fn);
>  
>  /* alpha_pci.c.  */
>  extern const MemoryRegionOps alpha_pci_bw_io_ops;
> diff --git a/hw/alpha_typhoon.c b/hw/alpha_typhoon.c
> index 872e112..d5193bb 100644
> --- a/hw/alpha_typhoon.c
> +++ b/hw/alpha_typhoon.c
> @@ -693,7 +693,7 @@ static void typhoon_alarm_timer(void *opaque)
>  
>  PCIBus *typhoon_init(ram_addr_t ram_size, ISABus **isa_bus,
>                       qemu_irq *p_rtc_irq,
> -                     CPUAlphaState *cpus[4], pci_map_irq_fn sys_map_irq)
> +                     CPUAlphaState *cpus[4], pci_route_pin_fn sys_map_irq)
>  {
>      const uint64_t MB = 1024 * 1024;
>      const uint64_t GB = 1024 * MB;
> diff --git a/hw/apb_pci.c b/hw/apb_pci.c
> index c28411a..57ead09 100644
> --- a/hw/apb_pci.c
> +++ b/hw/apb_pci.c
> @@ -392,7 +392,7 @@ PCIBus *pci_apb_init(target_phys_addr_t special_base,
>      pci_dev = pci_create_multifunction(d->bus, PCI_DEVFN(1, 0), true,
>                                     "pbm-bridge");
>      br = DO_UPCAST(PCIBridge, dev, pci_dev);
> -    pci_bridge_map_irq(br, "Advanced PCI Bus secondary bridge 1",
> +    pci_bridge_prepare(br, "Advanced PCI Bus secondary bridge 1",
>                         pci_apb_map_irq);
>      qdev_init_nofail(&pci_dev->qdev);
>      *bus2 = pci_bridge_get_sec_bus(br);
> @@ -400,7 +400,7 @@ PCIBus *pci_apb_init(target_phys_addr_t special_base,
>      pci_dev = pci_create_multifunction(d->bus, PCI_DEVFN(1, 1), true,
>                                     "pbm-bridge");
>      br = DO_UPCAST(PCIBridge, dev, pci_dev);
> -    pci_bridge_map_irq(br, "Advanced PCI Bus secondary bridge 2",
> +    pci_bridge_prepare(br, "Advanced PCI Bus secondary bridge 2",
>                         pci_apb_map_irq);
>      qdev_init_nofail(&pci_dev->qdev);
>      *bus3 = pci_bridge_get_sec_bus(br);
> diff --git a/hw/dec_pci.c b/hw/dec_pci.c
> index 37337bf..be63ac7 100644
> --- a/hw/dec_pci.c
> +++ b/hw/dec_pci.c
> @@ -81,7 +81,7 @@ PCIBus *pci_dec_21154_init(PCIBus *parent_bus, int devfn)
>      dev = pci_create_multifunction(parent_bus, devfn, false,
>                                     "dec-21154-p2p-bridge");
>      br = DO_UPCAST(PCIBridge, dev, dev);
> -    pci_bridge_map_irq(br, "DEC 21154 PCI-PCI bridge", dec_map_irq);
> +    pci_bridge_prepare(br, "DEC 21154 PCI-PCI bridge", dec_map_irq);
>      qdev_init_nofail(&dev->qdev);
>      return pci_bridge_get_sec_bus(br);
>  }
> diff --git a/hw/ioh3420.c b/hw/ioh3420.c
> index 1632d31..21bc1fb 100644
> --- a/hw/ioh3420.c
> +++ b/hw/ioh3420.c
> @@ -164,7 +164,8 @@ static int ioh3420_exitfn(PCIDevice *d)
>  }
>  
>  PCIESlot *ioh3420_init(PCIBus *bus, int devfn, bool multifunction,
> -                         const char *bus_name, pci_map_irq_fn map_irq,
> +                         const char *bus_name,
> +                         pci_route_pin_fn route_intx_pin,
>                           uint8_t port, uint8_t chassis, uint16_t slot)
>  {
>      PCIDevice *d;
> @@ -178,7 +179,7 @@ PCIESlot *ioh3420_init(PCIBus *bus, int devfn, bool multifunction,
>      br = DO_UPCAST(PCIBridge, dev, d);
>  
>      qdev = &br->dev.qdev;
> -    pci_bridge_map_irq(br, bus_name, map_irq);
> +    pci_bridge_prepare(br, bus_name, route_intx_pin);
>      qdev_prop_set_uint8(qdev, "port", port);
>      qdev_prop_set_uint8(qdev, "chassis", chassis);
>      qdev_prop_set_uint16(qdev, "slot", slot);
> diff --git a/hw/ioh3420.h b/hw/ioh3420.h
> index 68c523a..091bef4 100644
> --- a/hw/ioh3420.h
> +++ b/hw/ioh3420.h
> @@ -4,7 +4,8 @@
>  #include "pcie_port.h"
>  
>  PCIESlot *ioh3420_init(PCIBus *bus, int devfn, bool multifunction,
> -                       const char *bus_name, pci_map_irq_fn map_irq,
> +                       const char *bus_name,
> +                       pci_route_pin_fn route_intx_pin,
>                         uint8_t port, uint8_t chassis, uint16_t slot);
>  
>  #endif /* QEMU_IOH3420_H */
> diff --git a/hw/pci.c b/hw/pci.c
> index 771fb39..9a2b4a3 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -121,7 +121,7 @@ static void pci_set_device_intx_routing(PCIBus *bus, PCIDevice *dev)
>  
>      /* We might be too early, i.e. before pci_bus_irqs was called.
>       * We will be called again when this happened. */
> -    if (!bus->map_irq) {
> +    if (!bus->route_intx_pin) {
>          return;
>      }
>  
> @@ -130,7 +130,7 @@ static void pci_set_device_intx_routing(PCIBus *bus, PCIDevice *dev)
>          output_pin = pin;
>          do {
>              bus = pci_dev->bus;
> -            output_pin = bus->map_irq(pci_dev, output_pin);
> +            output_pin = bus->route_intx_pin(pci_dev, output_pin);
>              pci_dev = bus->parent_dev;
>          } while (pci_dev);
>  
> @@ -318,11 +318,12 @@ PCIBus *pci_bus_new(DeviceState *parent, const char *name,
>      return bus;
>  }
>  
> -void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
> +void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
> +                  pci_route_pin_fn route_intx_pin,
>                    void *irq_opaque, int nirq)
>  {
>      bus->set_irq = set_irq;
> -    bus->map_irq = map_irq;
> +    bus->route_intx_pin = route_intx_pin;
>      bus->irq_opaque = irq_opaque;
>      bus->nirq = nirq;
>      bus->irq_count = g_malloc0(nirq * sizeof(bus->irq_count[0]));
> @@ -337,7 +338,8 @@ void pci_bus_hotplug(PCIBus *bus, pci_hotplug_fn hotplug, DeviceState *qdev)
>  }
>  
>  PCIBus *pci_register_bus(DeviceState *parent, const char *name,
> -                         pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
> +                         pci_set_irq_fn set_irq,
> +                         pci_route_pin_fn route_intx_pin,
>                           void *irq_opaque,
>                           MemoryRegion *address_space_mem,
>                           MemoryRegion *address_space_io,
> @@ -347,7 +349,7 @@ PCIBus *pci_register_bus(DeviceState *parent, const char *name,
>  
>      bus = pci_bus_new(parent, name, address_space_mem,
>                        address_space_io, devfn_min);
> -    pci_bus_irqs(bus, set_irq, map_irq, irq_opaque, nirq);
> +    pci_bus_irqs(bus, set_irq, route_intx_pin, irq_opaque, nirq);
>      return bus;
>  }
>  
> diff --git a/hw/pci.h b/hw/pci.h
> index c4fd863..5b54e2d 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -279,7 +279,7 @@ MemoryRegion *pci_address_space(PCIDevice *dev);
>  MemoryRegion *pci_address_space_io(PCIDevice *dev);
>  
>  typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
> -typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
> +typedef int (*pci_route_pin_fn)(PCIDevice *pci_dev, int pin);
>  
>  typedef enum {
>      PCI_HOTPLUG_DISABLED,
> @@ -293,12 +293,14 @@ PCIBus *pci_bus_new(DeviceState *parent, const char *name,
>                      MemoryRegion *address_space_mem,
>                      MemoryRegion *address_space_io,
>                      uint8_t devfn_min);
> -void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
> +void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
> +                  pci_route_pin_fn route_intx_pin,
>                    void *irq_opaque, int nirq);
>  int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
>  void pci_bus_hotplug(PCIBus *bus, pci_hotplug_fn hotplug, DeviceState *dev);
>  PCIBus *pci_register_bus(DeviceState *parent, const char *name,
> -                         pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
> +                         pci_set_irq_fn set_irq,
> +                         pci_route_pin_fn route_intx_pin,
>                           void *irq_opaque,
>                           MemoryRegion *address_space_mem,
>                           MemoryRegion *address_space_io,
> diff --git a/hw/pci_bridge.c b/hw/pci_bridge.c
> index 866f0b6..7d13a85 100644
> --- a/hw/pci_bridge.c
> +++ b/hw/pci_bridge.c
> @@ -327,7 +327,7 @@ int pci_bridge_initfn(PCIDevice *dev)
>      qbus_create_inplace(&sec_bus->qbus, &pci_bus_info, &dev->qdev,
>                          br->bus_name);
>      sec_bus->parent_dev = dev;
> -    sec_bus->map_irq = br->map_irq;
> +    sec_bus->route_intx_pin = br->route_intx_pin;
>      sec_bus->address_space_mem = &br->address_space_mem;
>      memory_region_init(&br->address_space_mem, "pci_bridge_pci", INT64_MAX);
>      sec_bus->address_space_io = &br->address_space_io;
> @@ -353,12 +353,12 @@ int pci_bridge_exitfn(PCIDevice *pci_dev)
>  
>  /*
>   * before qdev initialization(qdev_init()), this function sets bus_name and
> - * map_irq callback which are necessry for pci_bridge_initfn() to
> + * route_intx_pin callback which are necessry for pci_bridge_initfn() to
>   * initialize bus.
>   */
> -void pci_bridge_map_irq(PCIBridge *br, const char* bus_name,
> -                        pci_map_irq_fn map_irq)
> +void pci_bridge_prepare(PCIBridge *br, const char* bus_name,
> +                        pci_route_pin_fn route_intx_pin)
>  {
> -    br->map_irq = map_irq;
> +    br->route_intx_pin = route_intx_pin;
>      br->bus_name = bus_name;
>  }
> diff --git a/hw/pci_bridge.h b/hw/pci_bridge.h
> index 84411a6..ac019a9 100644
> --- a/hw/pci_bridge.h
> +++ b/hw/pci_bridge.h
> @@ -52,8 +52,8 @@ int pci_bridge_exitfn(PCIDevice *pci_dev);
>   * map_irq callback which are necessry for pci_bridge_initfn() to
>   * initialize bus.
>   */
> -void pci_bridge_map_irq(PCIBridge *br, const char* bus_name,
> -                        pci_map_irq_fn map_irq);
> +void pci_bridge_prepare(PCIBridge *br, const char* bus_name,
> +                        pci_route_pin_fn route_intx_pin);
>  
>  #endif  /* QEMU_PCI_BRIDGE_H */
>  /*
> diff --git a/hw/pci_bridge_dev.c b/hw/pci_bridge_dev.c
> index eccaa58..d5a14a9 100644
> --- a/hw/pci_bridge_dev.c
> +++ b/hw/pci_bridge_dev.c
> @@ -43,9 +43,9 @@ typedef struct PCIBridgeDev PCIBridgeDev;
>  /* Mapping mandated by PCI-to-PCI Bridge architecture specification,
>   * revision 1.2 */
>  /* Table 9-1: Interrupt Binding for Devices Behind a Bridge */
> -static int pci_bridge_dev_map_irq_fn(PCIDevice *dev, int irq_num)
> +static int pci_bridge_dev_route_intx_pin(PCIDevice *dev, int pin)
>  {
> -    return (irq_num + PCI_SLOT(dev->devfn)) % PCI_NUM_PINS;
> +    return (pin + PCI_SLOT(dev->devfn)) % PCI_NUM_PINS;
>  }
>  
>  static int pci_bridge_dev_initfn(PCIDevice *dev)
> @@ -53,7 +53,8 @@ static int pci_bridge_dev_initfn(PCIDevice *dev)
>      PCIBridge *br = DO_UPCAST(PCIBridge, dev, dev);
>      PCIBridgeDev *bridge_dev = DO_UPCAST(PCIBridgeDev, bridge, br);
>      int err;
> -    pci_bridge_map_irq(br, NULL, pci_bridge_dev_map_irq_fn);
> +
> +    pci_bridge_prepare(br, NULL, pci_bridge_dev_route_intx_pin);
>      err = pci_bridge_initfn(dev);
>      if (err) {
>          goto bridge_error;
> diff --git a/hw/pci_internals.h b/hw/pci_internals.h
> index 96690b7..be5594b 100644
> --- a/hw/pci_internals.h
> +++ b/hw/pci_internals.h
> @@ -18,7 +18,7 @@ struct PCIBus {
>      BusState qbus;
>      uint8_t devfn_min;
>      pci_set_irq_fn set_irq;
> -    pci_map_irq_fn map_irq;
> +    pci_route_pin_fn route_intx_pin;
>      pci_hotplug_fn hotplug;
>      DeviceState *hotplug_qdev;
>      void *irq_opaque;
> @@ -59,7 +59,7 @@ struct PCIBridge {
>      MemoryRegion alias_pref_mem;
>      MemoryRegion alias_mem;
>      MemoryRegion alias_io;
> -    pci_map_irq_fn map_irq;
> +    pci_route_pin_fn route_intx_pin;
>      const char *bus_name;
>  };
>  
> diff --git a/hw/xio3130_downstream.c b/hw/xio3130_downstream.c
> index 319624f..d334e16 100644
> --- a/hw/xio3130_downstream.c
> +++ b/hw/xio3130_downstream.c
> @@ -128,7 +128,8 @@ static int xio3130_downstream_exitfn(PCIDevice *d)
>  }
>  
>  PCIESlot *xio3130_downstream_init(PCIBus *bus, int devfn, bool multifunction,
> -                                  const char *bus_name, pci_map_irq_fn map_irq,
> +                                  const char *bus_name,
> +                                  pci_route_pin_fn route_intx_pin,
>                                    uint8_t port, uint8_t chassis,
>                                    uint16_t slot)
>  {
> @@ -144,7 +145,7 @@ PCIESlot *xio3130_downstream_init(PCIBus *bus, int devfn, bool multifunction,
>      br = DO_UPCAST(PCIBridge, dev, d);
>  
>      qdev = &br->dev.qdev;
> -    pci_bridge_map_irq(br, bus_name, map_irq);
> +    pci_bridge_prepare(br, bus_name, route_intx_pin);
>      qdev_prop_set_uint8(qdev, "port", port);
>      qdev_prop_set_uint8(qdev, "chassis", chassis);
>      qdev_prop_set_uint16(qdev, "slot", slot);
> diff --git a/hw/xio3130_downstream.h b/hw/xio3130_downstream.h
> index 010487f..c4941bd 100644
> --- a/hw/xio3130_downstream.h
> +++ b/hw/xio3130_downstream.h
> @@ -4,7 +4,8 @@
>  #include "pcie_port.h"
>  
>  PCIESlot *xio3130_downstream_init(PCIBus *bus, int devfn, bool multifunction,
> -                                  const char *bus_name, pci_map_irq_fn map_irq,
> +                                  const char *bus_name,
> +                                  pci_route_pin_fn route_intx_pin,
>                                    uint8_t port, uint8_t chassis,
>                                    uint16_t slot);
>  
> diff --git a/hw/xio3130_upstream.c b/hw/xio3130_upstream.c
> index 34a99bb..39a8189 100644
> --- a/hw/xio3130_upstream.c
> +++ b/hw/xio3130_upstream.c
> @@ -110,7 +110,8 @@ static int xio3130_upstream_exitfn(PCIDevice *d)
>  }
>  
>  PCIEPort *xio3130_upstream_init(PCIBus *bus, int devfn, bool multifunction,
> -                             const char *bus_name, pci_map_irq_fn map_irq,
> +                             const char *bus_name,
> +                             pci_route_pin_fn route_intx_pin,
>                               uint8_t port)
>  {
>      PCIDevice *d;
> @@ -124,7 +125,7 @@ PCIEPort *xio3130_upstream_init(PCIBus *bus, int devfn, bool multifunction,
>      br = DO_UPCAST(PCIBridge, dev, d);
>  
>      qdev = &br->dev.qdev;
> -    pci_bridge_map_irq(br, bus_name, map_irq);
> +    pci_bridge_prepare(br, bus_name, route_intx_pin);
>      qdev_prop_set_uint8(qdev, "port", port);
>      qdev_init_nofail(qdev);
>  
> diff --git a/hw/xio3130_upstream.h b/hw/xio3130_upstream.h
> index e996997..bf3784e 100644
> --- a/hw/xio3130_upstream.h
> +++ b/hw/xio3130_upstream.h
> @@ -4,7 +4,8 @@
>  #include "pcie_port.h"
>  
>  PCIEPort *xio3130_upstream_init(PCIBus *bus, int devfn, bool multifunction,
> -                                const char *bus_name, pci_map_irq_fn map_irq,
> +                                const char *bus_name,
> +                                pci_route_pin_fn route_intx_pin,
>                                  uint8_t port);
>  
>  #endif /* QEMU_XIO3130_H */
> -- 
> 1.7.3.4
Michael S. Tsirkin June 10, 2012, 1:23 p.m. UTC | #2
On Mon, Jun 04, 2012 at 10:52:12AM +0200, Jan Kiszka wrote:
> To avoid confusion with the board-level IRQ the host bridge triggers on
> output, rename the per-bridge routing function for the INTx pins to
> pci_route_pin_fn. Also adjust variable names of that type. And
> rename pci_bridge_map_irq to pci_bridge_prepare, which better reflects
> the job of that function.
> 
> Signed-off-by: Jan Kiszka <jan.kiszka@siemens.com>

BTW there was a minor conflict when applying this,
it would help me if you base future patches in this series
on my pci branch.

> ---
>  hw/alpha_sys.h          |    2 +-
>  hw/alpha_typhoon.c      |    2 +-
>  hw/apb_pci.c            |    4 ++--
>  hw/dec_pci.c            |    2 +-
>  hw/ioh3420.c            |    5 +++--
>  hw/ioh3420.h            |    3 ++-
>  hw/pci.c                |   14 ++++++++------
>  hw/pci.h                |    8 +++++---
>  hw/pci_bridge.c         |   10 +++++-----
>  hw/pci_bridge.h         |    4 ++--
>  hw/pci_bridge_dev.c     |    7 ++++---
>  hw/pci_internals.h      |    4 ++--
>  hw/xio3130_downstream.c |    5 +++--
>  hw/xio3130_downstream.h |    3 ++-
>  hw/xio3130_upstream.c   |    5 +++--
>  hw/xio3130_upstream.h   |    3 ++-
>  16 files changed, 46 insertions(+), 35 deletions(-)
> 
> diff --git a/hw/alpha_sys.h b/hw/alpha_sys.h
> index de40f8b..ddeb360 100644
> --- a/hw/alpha_sys.h
> +++ b/hw/alpha_sys.h
> @@ -12,7 +12,7 @@
>  
>  
>  PCIBus *typhoon_init(ram_addr_t, ISABus **, qemu_irq *, CPUAlphaState *[4],
> -                     pci_map_irq_fn);
> +                     pci_route_pin_fn);
>  
>  /* alpha_pci.c.  */
>  extern const MemoryRegionOps alpha_pci_bw_io_ops;
> diff --git a/hw/alpha_typhoon.c b/hw/alpha_typhoon.c
> index 872e112..d5193bb 100644
> --- a/hw/alpha_typhoon.c
> +++ b/hw/alpha_typhoon.c
> @@ -693,7 +693,7 @@ static void typhoon_alarm_timer(void *opaque)
>  
>  PCIBus *typhoon_init(ram_addr_t ram_size, ISABus **isa_bus,
>                       qemu_irq *p_rtc_irq,
> -                     CPUAlphaState *cpus[4], pci_map_irq_fn sys_map_irq)
> +                     CPUAlphaState *cpus[4], pci_route_pin_fn sys_map_irq)
>  {
>      const uint64_t MB = 1024 * 1024;
>      const uint64_t GB = 1024 * MB;
> diff --git a/hw/apb_pci.c b/hw/apb_pci.c
> index c28411a..57ead09 100644
> --- a/hw/apb_pci.c
> +++ b/hw/apb_pci.c
> @@ -392,7 +392,7 @@ PCIBus *pci_apb_init(target_phys_addr_t special_base,
>      pci_dev = pci_create_multifunction(d->bus, PCI_DEVFN(1, 0), true,
>                                     "pbm-bridge");
>      br = DO_UPCAST(PCIBridge, dev, pci_dev);
> -    pci_bridge_map_irq(br, "Advanced PCI Bus secondary bridge 1",
> +    pci_bridge_prepare(br, "Advanced PCI Bus secondary bridge 1",
>                         pci_apb_map_irq);
>      qdev_init_nofail(&pci_dev->qdev);
>      *bus2 = pci_bridge_get_sec_bus(br);
> @@ -400,7 +400,7 @@ PCIBus *pci_apb_init(target_phys_addr_t special_base,
>      pci_dev = pci_create_multifunction(d->bus, PCI_DEVFN(1, 1), true,
>                                     "pbm-bridge");
>      br = DO_UPCAST(PCIBridge, dev, pci_dev);
> -    pci_bridge_map_irq(br, "Advanced PCI Bus secondary bridge 2",
> +    pci_bridge_prepare(br, "Advanced PCI Bus secondary bridge 2",
>                         pci_apb_map_irq);
>      qdev_init_nofail(&pci_dev->qdev);
>      *bus3 = pci_bridge_get_sec_bus(br);
> diff --git a/hw/dec_pci.c b/hw/dec_pci.c
> index 37337bf..be63ac7 100644
> --- a/hw/dec_pci.c
> +++ b/hw/dec_pci.c
> @@ -81,7 +81,7 @@ PCIBus *pci_dec_21154_init(PCIBus *parent_bus, int devfn)
>      dev = pci_create_multifunction(parent_bus, devfn, false,
>                                     "dec-21154-p2p-bridge");
>      br = DO_UPCAST(PCIBridge, dev, dev);
> -    pci_bridge_map_irq(br, "DEC 21154 PCI-PCI bridge", dec_map_irq);
> +    pci_bridge_prepare(br, "DEC 21154 PCI-PCI bridge", dec_map_irq);
>      qdev_init_nofail(&dev->qdev);
>      return pci_bridge_get_sec_bus(br);
>  }
> diff --git a/hw/ioh3420.c b/hw/ioh3420.c
> index 1632d31..21bc1fb 100644
> --- a/hw/ioh3420.c
> +++ b/hw/ioh3420.c
> @@ -164,7 +164,8 @@ static int ioh3420_exitfn(PCIDevice *d)
>  }
>  
>  PCIESlot *ioh3420_init(PCIBus *bus, int devfn, bool multifunction,
> -                         const char *bus_name, pci_map_irq_fn map_irq,
> +                         const char *bus_name,
> +                         pci_route_pin_fn route_intx_pin,
>                           uint8_t port, uint8_t chassis, uint16_t slot)
>  {
>      PCIDevice *d;
> @@ -178,7 +179,7 @@ PCIESlot *ioh3420_init(PCIBus *bus, int devfn, bool multifunction,
>      br = DO_UPCAST(PCIBridge, dev, d);
>  
>      qdev = &br->dev.qdev;
> -    pci_bridge_map_irq(br, bus_name, map_irq);
> +    pci_bridge_prepare(br, bus_name, route_intx_pin);
>      qdev_prop_set_uint8(qdev, "port", port);
>      qdev_prop_set_uint8(qdev, "chassis", chassis);
>      qdev_prop_set_uint16(qdev, "slot", slot);
> diff --git a/hw/ioh3420.h b/hw/ioh3420.h
> index 68c523a..091bef4 100644
> --- a/hw/ioh3420.h
> +++ b/hw/ioh3420.h
> @@ -4,7 +4,8 @@
>  #include "pcie_port.h"
>  
>  PCIESlot *ioh3420_init(PCIBus *bus, int devfn, bool multifunction,
> -                       const char *bus_name, pci_map_irq_fn map_irq,
> +                       const char *bus_name,
> +                       pci_route_pin_fn route_intx_pin,
>                         uint8_t port, uint8_t chassis, uint16_t slot);
>  
>  #endif /* QEMU_IOH3420_H */
> diff --git a/hw/pci.c b/hw/pci.c
> index 771fb39..9a2b4a3 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -121,7 +121,7 @@ static void pci_set_device_intx_routing(PCIBus *bus, PCIDevice *dev)
>  
>      /* We might be too early, i.e. before pci_bus_irqs was called.
>       * We will be called again when this happened. */
> -    if (!bus->map_irq) {
> +    if (!bus->route_intx_pin) {
>          return;
>      }
>  
> @@ -130,7 +130,7 @@ static void pci_set_device_intx_routing(PCIBus *bus, PCIDevice *dev)
>          output_pin = pin;
>          do {
>              bus = pci_dev->bus;
> -            output_pin = bus->map_irq(pci_dev, output_pin);
> +            output_pin = bus->route_intx_pin(pci_dev, output_pin);
>              pci_dev = bus->parent_dev;
>          } while (pci_dev);
>  
> @@ -318,11 +318,12 @@ PCIBus *pci_bus_new(DeviceState *parent, const char *name,
>      return bus;
>  }
>  
> -void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
> +void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
> +                  pci_route_pin_fn route_intx_pin,
>                    void *irq_opaque, int nirq)
>  {
>      bus->set_irq = set_irq;
> -    bus->map_irq = map_irq;
> +    bus->route_intx_pin = route_intx_pin;
>      bus->irq_opaque = irq_opaque;
>      bus->nirq = nirq;
>      bus->irq_count = g_malloc0(nirq * sizeof(bus->irq_count[0]));
> @@ -337,7 +338,8 @@ void pci_bus_hotplug(PCIBus *bus, pci_hotplug_fn hotplug, DeviceState *qdev)
>  }
>  
>  PCIBus *pci_register_bus(DeviceState *parent, const char *name,
> -                         pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
> +                         pci_set_irq_fn set_irq,
> +                         pci_route_pin_fn route_intx_pin,
>                           void *irq_opaque,
>                           MemoryRegion *address_space_mem,
>                           MemoryRegion *address_space_io,
> @@ -347,7 +349,7 @@ PCIBus *pci_register_bus(DeviceState *parent, const char *name,
>  
>      bus = pci_bus_new(parent, name, address_space_mem,
>                        address_space_io, devfn_min);
> -    pci_bus_irqs(bus, set_irq, map_irq, irq_opaque, nirq);
> +    pci_bus_irqs(bus, set_irq, route_intx_pin, irq_opaque, nirq);
>      return bus;
>  }
>  
> diff --git a/hw/pci.h b/hw/pci.h
> index c4fd863..5b54e2d 100644
> --- a/hw/pci.h
> +++ b/hw/pci.h
> @@ -279,7 +279,7 @@ MemoryRegion *pci_address_space(PCIDevice *dev);
>  MemoryRegion *pci_address_space_io(PCIDevice *dev);
>  
>  typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
> -typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
> +typedef int (*pci_route_pin_fn)(PCIDevice *pci_dev, int pin);
>  
>  typedef enum {
>      PCI_HOTPLUG_DISABLED,
> @@ -293,12 +293,14 @@ PCIBus *pci_bus_new(DeviceState *parent, const char *name,
>                      MemoryRegion *address_space_mem,
>                      MemoryRegion *address_space_io,
>                      uint8_t devfn_min);
> -void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
> +void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
> +                  pci_route_pin_fn route_intx_pin,
>                    void *irq_opaque, int nirq);
>  int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
>  void pci_bus_hotplug(PCIBus *bus, pci_hotplug_fn hotplug, DeviceState *dev);
>  PCIBus *pci_register_bus(DeviceState *parent, const char *name,
> -                         pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
> +                         pci_set_irq_fn set_irq,
> +                         pci_route_pin_fn route_intx_pin,
>                           void *irq_opaque,
>                           MemoryRegion *address_space_mem,
>                           MemoryRegion *address_space_io,
> diff --git a/hw/pci_bridge.c b/hw/pci_bridge.c
> index 866f0b6..7d13a85 100644
> --- a/hw/pci_bridge.c
> +++ b/hw/pci_bridge.c
> @@ -327,7 +327,7 @@ int pci_bridge_initfn(PCIDevice *dev)
>      qbus_create_inplace(&sec_bus->qbus, &pci_bus_info, &dev->qdev,
>                          br->bus_name);
>      sec_bus->parent_dev = dev;
> -    sec_bus->map_irq = br->map_irq;
> +    sec_bus->route_intx_pin = br->route_intx_pin;
>      sec_bus->address_space_mem = &br->address_space_mem;
>      memory_region_init(&br->address_space_mem, "pci_bridge_pci", INT64_MAX);
>      sec_bus->address_space_io = &br->address_space_io;
> @@ -353,12 +353,12 @@ int pci_bridge_exitfn(PCIDevice *pci_dev)
>  
>  /*
>   * before qdev initialization(qdev_init()), this function sets bus_name and
> - * map_irq callback which are necessry for pci_bridge_initfn() to
> + * route_intx_pin callback which are necessry for pci_bridge_initfn() to
>   * initialize bus.
>   */
> -void pci_bridge_map_irq(PCIBridge *br, const char* bus_name,
> -                        pci_map_irq_fn map_irq)
> +void pci_bridge_prepare(PCIBridge *br, const char* bus_name,
> +                        pci_route_pin_fn route_intx_pin)
>  {
> -    br->map_irq = map_irq;
> +    br->route_intx_pin = route_intx_pin;
>      br->bus_name = bus_name;
>  }
> diff --git a/hw/pci_bridge.h b/hw/pci_bridge.h
> index 84411a6..ac019a9 100644
> --- a/hw/pci_bridge.h
> +++ b/hw/pci_bridge.h
> @@ -52,8 +52,8 @@ int pci_bridge_exitfn(PCIDevice *pci_dev);
>   * map_irq callback which are necessry for pci_bridge_initfn() to
>   * initialize bus.
>   */
> -void pci_bridge_map_irq(PCIBridge *br, const char* bus_name,
> -                        pci_map_irq_fn map_irq);
> +void pci_bridge_prepare(PCIBridge *br, const char* bus_name,
> +                        pci_route_pin_fn route_intx_pin);
>  
>  #endif  /* QEMU_PCI_BRIDGE_H */
>  /*
> diff --git a/hw/pci_bridge_dev.c b/hw/pci_bridge_dev.c
> index eccaa58..d5a14a9 100644
> --- a/hw/pci_bridge_dev.c
> +++ b/hw/pci_bridge_dev.c
> @@ -43,9 +43,9 @@ typedef struct PCIBridgeDev PCIBridgeDev;
>  /* Mapping mandated by PCI-to-PCI Bridge architecture specification,
>   * revision 1.2 */
>  /* Table 9-1: Interrupt Binding for Devices Behind a Bridge */
> -static int pci_bridge_dev_map_irq_fn(PCIDevice *dev, int irq_num)
> +static int pci_bridge_dev_route_intx_pin(PCIDevice *dev, int pin)
>  {
> -    return (irq_num + PCI_SLOT(dev->devfn)) % PCI_NUM_PINS;
> +    return (pin + PCI_SLOT(dev->devfn)) % PCI_NUM_PINS;
>  }
>  
>  static int pci_bridge_dev_initfn(PCIDevice *dev)
> @@ -53,7 +53,8 @@ static int pci_bridge_dev_initfn(PCIDevice *dev)
>      PCIBridge *br = DO_UPCAST(PCIBridge, dev, dev);
>      PCIBridgeDev *bridge_dev = DO_UPCAST(PCIBridgeDev, bridge, br);
>      int err;
> -    pci_bridge_map_irq(br, NULL, pci_bridge_dev_map_irq_fn);
> +
> +    pci_bridge_prepare(br, NULL, pci_bridge_dev_route_intx_pin);
>      err = pci_bridge_initfn(dev);
>      if (err) {
>          goto bridge_error;
> diff --git a/hw/pci_internals.h b/hw/pci_internals.h
> index 96690b7..be5594b 100644
> --- a/hw/pci_internals.h
> +++ b/hw/pci_internals.h
> @@ -18,7 +18,7 @@ struct PCIBus {
>      BusState qbus;
>      uint8_t devfn_min;
>      pci_set_irq_fn set_irq;
> -    pci_map_irq_fn map_irq;
> +    pci_route_pin_fn route_intx_pin;
>      pci_hotplug_fn hotplug;
>      DeviceState *hotplug_qdev;
>      void *irq_opaque;
> @@ -59,7 +59,7 @@ struct PCIBridge {
>      MemoryRegion alias_pref_mem;
>      MemoryRegion alias_mem;
>      MemoryRegion alias_io;
> -    pci_map_irq_fn map_irq;
> +    pci_route_pin_fn route_intx_pin;
>      const char *bus_name;
>  };
>  
> diff --git a/hw/xio3130_downstream.c b/hw/xio3130_downstream.c
> index 319624f..d334e16 100644
> --- a/hw/xio3130_downstream.c
> +++ b/hw/xio3130_downstream.c
> @@ -128,7 +128,8 @@ static int xio3130_downstream_exitfn(PCIDevice *d)
>  }
>  
>  PCIESlot *xio3130_downstream_init(PCIBus *bus, int devfn, bool multifunction,
> -                                  const char *bus_name, pci_map_irq_fn map_irq,
> +                                  const char *bus_name,
> +                                  pci_route_pin_fn route_intx_pin,
>                                    uint8_t port, uint8_t chassis,
>                                    uint16_t slot)
>  {
> @@ -144,7 +145,7 @@ PCIESlot *xio3130_downstream_init(PCIBus *bus, int devfn, bool multifunction,
>      br = DO_UPCAST(PCIBridge, dev, d);
>  
>      qdev = &br->dev.qdev;
> -    pci_bridge_map_irq(br, bus_name, map_irq);
> +    pci_bridge_prepare(br, bus_name, route_intx_pin);
>      qdev_prop_set_uint8(qdev, "port", port);
>      qdev_prop_set_uint8(qdev, "chassis", chassis);
>      qdev_prop_set_uint16(qdev, "slot", slot);
> diff --git a/hw/xio3130_downstream.h b/hw/xio3130_downstream.h
> index 010487f..c4941bd 100644
> --- a/hw/xio3130_downstream.h
> +++ b/hw/xio3130_downstream.h
> @@ -4,7 +4,8 @@
>  #include "pcie_port.h"
>  
>  PCIESlot *xio3130_downstream_init(PCIBus *bus, int devfn, bool multifunction,
> -                                  const char *bus_name, pci_map_irq_fn map_irq,
> +                                  const char *bus_name,
> +                                  pci_route_pin_fn route_intx_pin,
>                                    uint8_t port, uint8_t chassis,
>                                    uint16_t slot);
>  
> diff --git a/hw/xio3130_upstream.c b/hw/xio3130_upstream.c
> index 34a99bb..39a8189 100644
> --- a/hw/xio3130_upstream.c
> +++ b/hw/xio3130_upstream.c
> @@ -110,7 +110,8 @@ static int xio3130_upstream_exitfn(PCIDevice *d)
>  }
>  
>  PCIEPort *xio3130_upstream_init(PCIBus *bus, int devfn, bool multifunction,
> -                             const char *bus_name, pci_map_irq_fn map_irq,
> +                             const char *bus_name,
> +                             pci_route_pin_fn route_intx_pin,
>                               uint8_t port)
>  {
>      PCIDevice *d;
> @@ -124,7 +125,7 @@ PCIEPort *xio3130_upstream_init(PCIBus *bus, int devfn, bool multifunction,
>      br = DO_UPCAST(PCIBridge, dev, d);
>  
>      qdev = &br->dev.qdev;
> -    pci_bridge_map_irq(br, bus_name, map_irq);
> +    pci_bridge_prepare(br, bus_name, route_intx_pin);
>      qdev_prop_set_uint8(qdev, "port", port);
>      qdev_init_nofail(qdev);
>  
> diff --git a/hw/xio3130_upstream.h b/hw/xio3130_upstream.h
> index e996997..bf3784e 100644
> --- a/hw/xio3130_upstream.h
> +++ b/hw/xio3130_upstream.h
> @@ -4,7 +4,8 @@
>  #include "pcie_port.h"
>  
>  PCIEPort *xio3130_upstream_init(PCIBus *bus, int devfn, bool multifunction,
> -                                const char *bus_name, pci_map_irq_fn map_irq,
> +                                const char *bus_name,
> +                                pci_route_pin_fn route_intx_pin,
>                                  uint8_t port);
>  
>  #endif /* QEMU_XIO3130_H */
> -- 
> 1.7.3.4
diff mbox

Patch

diff --git a/hw/alpha_sys.h b/hw/alpha_sys.h
index de40f8b..ddeb360 100644
--- a/hw/alpha_sys.h
+++ b/hw/alpha_sys.h
@@ -12,7 +12,7 @@ 
 
 
 PCIBus *typhoon_init(ram_addr_t, ISABus **, qemu_irq *, CPUAlphaState *[4],
-                     pci_map_irq_fn);
+                     pci_route_pin_fn);
 
 /* alpha_pci.c.  */
 extern const MemoryRegionOps alpha_pci_bw_io_ops;
diff --git a/hw/alpha_typhoon.c b/hw/alpha_typhoon.c
index 872e112..d5193bb 100644
--- a/hw/alpha_typhoon.c
+++ b/hw/alpha_typhoon.c
@@ -693,7 +693,7 @@  static void typhoon_alarm_timer(void *opaque)
 
 PCIBus *typhoon_init(ram_addr_t ram_size, ISABus **isa_bus,
                      qemu_irq *p_rtc_irq,
-                     CPUAlphaState *cpus[4], pci_map_irq_fn sys_map_irq)
+                     CPUAlphaState *cpus[4], pci_route_pin_fn sys_map_irq)
 {
     const uint64_t MB = 1024 * 1024;
     const uint64_t GB = 1024 * MB;
diff --git a/hw/apb_pci.c b/hw/apb_pci.c
index c28411a..57ead09 100644
--- a/hw/apb_pci.c
+++ b/hw/apb_pci.c
@@ -392,7 +392,7 @@  PCIBus *pci_apb_init(target_phys_addr_t special_base,
     pci_dev = pci_create_multifunction(d->bus, PCI_DEVFN(1, 0), true,
                                    "pbm-bridge");
     br = DO_UPCAST(PCIBridge, dev, pci_dev);
-    pci_bridge_map_irq(br, "Advanced PCI Bus secondary bridge 1",
+    pci_bridge_prepare(br, "Advanced PCI Bus secondary bridge 1",
                        pci_apb_map_irq);
     qdev_init_nofail(&pci_dev->qdev);
     *bus2 = pci_bridge_get_sec_bus(br);
@@ -400,7 +400,7 @@  PCIBus *pci_apb_init(target_phys_addr_t special_base,
     pci_dev = pci_create_multifunction(d->bus, PCI_DEVFN(1, 1), true,
                                    "pbm-bridge");
     br = DO_UPCAST(PCIBridge, dev, pci_dev);
-    pci_bridge_map_irq(br, "Advanced PCI Bus secondary bridge 2",
+    pci_bridge_prepare(br, "Advanced PCI Bus secondary bridge 2",
                        pci_apb_map_irq);
     qdev_init_nofail(&pci_dev->qdev);
     *bus3 = pci_bridge_get_sec_bus(br);
diff --git a/hw/dec_pci.c b/hw/dec_pci.c
index 37337bf..be63ac7 100644
--- a/hw/dec_pci.c
+++ b/hw/dec_pci.c
@@ -81,7 +81,7 @@  PCIBus *pci_dec_21154_init(PCIBus *parent_bus, int devfn)
     dev = pci_create_multifunction(parent_bus, devfn, false,
                                    "dec-21154-p2p-bridge");
     br = DO_UPCAST(PCIBridge, dev, dev);
-    pci_bridge_map_irq(br, "DEC 21154 PCI-PCI bridge", dec_map_irq);
+    pci_bridge_prepare(br, "DEC 21154 PCI-PCI bridge", dec_map_irq);
     qdev_init_nofail(&dev->qdev);
     return pci_bridge_get_sec_bus(br);
 }
diff --git a/hw/ioh3420.c b/hw/ioh3420.c
index 1632d31..21bc1fb 100644
--- a/hw/ioh3420.c
+++ b/hw/ioh3420.c
@@ -164,7 +164,8 @@  static int ioh3420_exitfn(PCIDevice *d)
 }
 
 PCIESlot *ioh3420_init(PCIBus *bus, int devfn, bool multifunction,
-                         const char *bus_name, pci_map_irq_fn map_irq,
+                         const char *bus_name,
+                         pci_route_pin_fn route_intx_pin,
                          uint8_t port, uint8_t chassis, uint16_t slot)
 {
     PCIDevice *d;
@@ -178,7 +179,7 @@  PCIESlot *ioh3420_init(PCIBus *bus, int devfn, bool multifunction,
     br = DO_UPCAST(PCIBridge, dev, d);
 
     qdev = &br->dev.qdev;
-    pci_bridge_map_irq(br, bus_name, map_irq);
+    pci_bridge_prepare(br, bus_name, route_intx_pin);
     qdev_prop_set_uint8(qdev, "port", port);
     qdev_prop_set_uint8(qdev, "chassis", chassis);
     qdev_prop_set_uint16(qdev, "slot", slot);
diff --git a/hw/ioh3420.h b/hw/ioh3420.h
index 68c523a..091bef4 100644
--- a/hw/ioh3420.h
+++ b/hw/ioh3420.h
@@ -4,7 +4,8 @@ 
 #include "pcie_port.h"
 
 PCIESlot *ioh3420_init(PCIBus *bus, int devfn, bool multifunction,
-                       const char *bus_name, pci_map_irq_fn map_irq,
+                       const char *bus_name,
+                       pci_route_pin_fn route_intx_pin,
                        uint8_t port, uint8_t chassis, uint16_t slot);
 
 #endif /* QEMU_IOH3420_H */
diff --git a/hw/pci.c b/hw/pci.c
index 771fb39..9a2b4a3 100644
--- a/hw/pci.c
+++ b/hw/pci.c
@@ -121,7 +121,7 @@  static void pci_set_device_intx_routing(PCIBus *bus, PCIDevice *dev)
 
     /* We might be too early, i.e. before pci_bus_irqs was called.
      * We will be called again when this happened. */
-    if (!bus->map_irq) {
+    if (!bus->route_intx_pin) {
         return;
     }
 
@@ -130,7 +130,7 @@  static void pci_set_device_intx_routing(PCIBus *bus, PCIDevice *dev)
         output_pin = pin;
         do {
             bus = pci_dev->bus;
-            output_pin = bus->map_irq(pci_dev, output_pin);
+            output_pin = bus->route_intx_pin(pci_dev, output_pin);
             pci_dev = bus->parent_dev;
         } while (pci_dev);
 
@@ -318,11 +318,12 @@  PCIBus *pci_bus_new(DeviceState *parent, const char *name,
     return bus;
 }
 
-void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
+void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
+                  pci_route_pin_fn route_intx_pin,
                   void *irq_opaque, int nirq)
 {
     bus->set_irq = set_irq;
-    bus->map_irq = map_irq;
+    bus->route_intx_pin = route_intx_pin;
     bus->irq_opaque = irq_opaque;
     bus->nirq = nirq;
     bus->irq_count = g_malloc0(nirq * sizeof(bus->irq_count[0]));
@@ -337,7 +338,8 @@  void pci_bus_hotplug(PCIBus *bus, pci_hotplug_fn hotplug, DeviceState *qdev)
 }
 
 PCIBus *pci_register_bus(DeviceState *parent, const char *name,
-                         pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
+                         pci_set_irq_fn set_irq,
+                         pci_route_pin_fn route_intx_pin,
                          void *irq_opaque,
                          MemoryRegion *address_space_mem,
                          MemoryRegion *address_space_io,
@@ -347,7 +349,7 @@  PCIBus *pci_register_bus(DeviceState *parent, const char *name,
 
     bus = pci_bus_new(parent, name, address_space_mem,
                       address_space_io, devfn_min);
-    pci_bus_irqs(bus, set_irq, map_irq, irq_opaque, nirq);
+    pci_bus_irqs(bus, set_irq, route_intx_pin, irq_opaque, nirq);
     return bus;
 }
 
diff --git a/hw/pci.h b/hw/pci.h
index c4fd863..5b54e2d 100644
--- a/hw/pci.h
+++ b/hw/pci.h
@@ -279,7 +279,7 @@  MemoryRegion *pci_address_space(PCIDevice *dev);
 MemoryRegion *pci_address_space_io(PCIDevice *dev);
 
 typedef void (*pci_set_irq_fn)(void *opaque, int irq_num, int level);
-typedef int (*pci_map_irq_fn)(PCIDevice *pci_dev, int irq_num);
+typedef int (*pci_route_pin_fn)(PCIDevice *pci_dev, int pin);
 
 typedef enum {
     PCI_HOTPLUG_DISABLED,
@@ -293,12 +293,14 @@  PCIBus *pci_bus_new(DeviceState *parent, const char *name,
                     MemoryRegion *address_space_mem,
                     MemoryRegion *address_space_io,
                     uint8_t devfn_min);
-void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
+void pci_bus_irqs(PCIBus *bus, pci_set_irq_fn set_irq,
+                  pci_route_pin_fn route_intx_pin,
                   void *irq_opaque, int nirq);
 int pci_bus_get_irq_level(PCIBus *bus, int irq_num);
 void pci_bus_hotplug(PCIBus *bus, pci_hotplug_fn hotplug, DeviceState *dev);
 PCIBus *pci_register_bus(DeviceState *parent, const char *name,
-                         pci_set_irq_fn set_irq, pci_map_irq_fn map_irq,
+                         pci_set_irq_fn set_irq,
+                         pci_route_pin_fn route_intx_pin,
                          void *irq_opaque,
                          MemoryRegion *address_space_mem,
                          MemoryRegion *address_space_io,
diff --git a/hw/pci_bridge.c b/hw/pci_bridge.c
index 866f0b6..7d13a85 100644
--- a/hw/pci_bridge.c
+++ b/hw/pci_bridge.c
@@ -327,7 +327,7 @@  int pci_bridge_initfn(PCIDevice *dev)
     qbus_create_inplace(&sec_bus->qbus, &pci_bus_info, &dev->qdev,
                         br->bus_name);
     sec_bus->parent_dev = dev;
-    sec_bus->map_irq = br->map_irq;
+    sec_bus->route_intx_pin = br->route_intx_pin;
     sec_bus->address_space_mem = &br->address_space_mem;
     memory_region_init(&br->address_space_mem, "pci_bridge_pci", INT64_MAX);
     sec_bus->address_space_io = &br->address_space_io;
@@ -353,12 +353,12 @@  int pci_bridge_exitfn(PCIDevice *pci_dev)
 
 /*
  * before qdev initialization(qdev_init()), this function sets bus_name and
- * map_irq callback which are necessry for pci_bridge_initfn() to
+ * route_intx_pin callback which are necessry for pci_bridge_initfn() to
  * initialize bus.
  */
-void pci_bridge_map_irq(PCIBridge *br, const char* bus_name,
-                        pci_map_irq_fn map_irq)
+void pci_bridge_prepare(PCIBridge *br, const char* bus_name,
+                        pci_route_pin_fn route_intx_pin)
 {
-    br->map_irq = map_irq;
+    br->route_intx_pin = route_intx_pin;
     br->bus_name = bus_name;
 }
diff --git a/hw/pci_bridge.h b/hw/pci_bridge.h
index 84411a6..ac019a9 100644
--- a/hw/pci_bridge.h
+++ b/hw/pci_bridge.h
@@ -52,8 +52,8 @@  int pci_bridge_exitfn(PCIDevice *pci_dev);
  * map_irq callback which are necessry for pci_bridge_initfn() to
  * initialize bus.
  */
-void pci_bridge_map_irq(PCIBridge *br, const char* bus_name,
-                        pci_map_irq_fn map_irq);
+void pci_bridge_prepare(PCIBridge *br, const char* bus_name,
+                        pci_route_pin_fn route_intx_pin);
 
 #endif  /* QEMU_PCI_BRIDGE_H */
 /*
diff --git a/hw/pci_bridge_dev.c b/hw/pci_bridge_dev.c
index eccaa58..d5a14a9 100644
--- a/hw/pci_bridge_dev.c
+++ b/hw/pci_bridge_dev.c
@@ -43,9 +43,9 @@  typedef struct PCIBridgeDev PCIBridgeDev;
 /* Mapping mandated by PCI-to-PCI Bridge architecture specification,
  * revision 1.2 */
 /* Table 9-1: Interrupt Binding for Devices Behind a Bridge */
-static int pci_bridge_dev_map_irq_fn(PCIDevice *dev, int irq_num)
+static int pci_bridge_dev_route_intx_pin(PCIDevice *dev, int pin)
 {
-    return (irq_num + PCI_SLOT(dev->devfn)) % PCI_NUM_PINS;
+    return (pin + PCI_SLOT(dev->devfn)) % PCI_NUM_PINS;
 }
 
 static int pci_bridge_dev_initfn(PCIDevice *dev)
@@ -53,7 +53,8 @@  static int pci_bridge_dev_initfn(PCIDevice *dev)
     PCIBridge *br = DO_UPCAST(PCIBridge, dev, dev);
     PCIBridgeDev *bridge_dev = DO_UPCAST(PCIBridgeDev, bridge, br);
     int err;
-    pci_bridge_map_irq(br, NULL, pci_bridge_dev_map_irq_fn);
+
+    pci_bridge_prepare(br, NULL, pci_bridge_dev_route_intx_pin);
     err = pci_bridge_initfn(dev);
     if (err) {
         goto bridge_error;
diff --git a/hw/pci_internals.h b/hw/pci_internals.h
index 96690b7..be5594b 100644
--- a/hw/pci_internals.h
+++ b/hw/pci_internals.h
@@ -18,7 +18,7 @@  struct PCIBus {
     BusState qbus;
     uint8_t devfn_min;
     pci_set_irq_fn set_irq;
-    pci_map_irq_fn map_irq;
+    pci_route_pin_fn route_intx_pin;
     pci_hotplug_fn hotplug;
     DeviceState *hotplug_qdev;
     void *irq_opaque;
@@ -59,7 +59,7 @@  struct PCIBridge {
     MemoryRegion alias_pref_mem;
     MemoryRegion alias_mem;
     MemoryRegion alias_io;
-    pci_map_irq_fn map_irq;
+    pci_route_pin_fn route_intx_pin;
     const char *bus_name;
 };
 
diff --git a/hw/xio3130_downstream.c b/hw/xio3130_downstream.c
index 319624f..d334e16 100644
--- a/hw/xio3130_downstream.c
+++ b/hw/xio3130_downstream.c
@@ -128,7 +128,8 @@  static int xio3130_downstream_exitfn(PCIDevice *d)
 }
 
 PCIESlot *xio3130_downstream_init(PCIBus *bus, int devfn, bool multifunction,
-                                  const char *bus_name, pci_map_irq_fn map_irq,
+                                  const char *bus_name,
+                                  pci_route_pin_fn route_intx_pin,
                                   uint8_t port, uint8_t chassis,
                                   uint16_t slot)
 {
@@ -144,7 +145,7 @@  PCIESlot *xio3130_downstream_init(PCIBus *bus, int devfn, bool multifunction,
     br = DO_UPCAST(PCIBridge, dev, d);
 
     qdev = &br->dev.qdev;
-    pci_bridge_map_irq(br, bus_name, map_irq);
+    pci_bridge_prepare(br, bus_name, route_intx_pin);
     qdev_prop_set_uint8(qdev, "port", port);
     qdev_prop_set_uint8(qdev, "chassis", chassis);
     qdev_prop_set_uint16(qdev, "slot", slot);
diff --git a/hw/xio3130_downstream.h b/hw/xio3130_downstream.h
index 010487f..c4941bd 100644
--- a/hw/xio3130_downstream.h
+++ b/hw/xio3130_downstream.h
@@ -4,7 +4,8 @@ 
 #include "pcie_port.h"
 
 PCIESlot *xio3130_downstream_init(PCIBus *bus, int devfn, bool multifunction,
-                                  const char *bus_name, pci_map_irq_fn map_irq,
+                                  const char *bus_name,
+                                  pci_route_pin_fn route_intx_pin,
                                   uint8_t port, uint8_t chassis,
                                   uint16_t slot);
 
diff --git a/hw/xio3130_upstream.c b/hw/xio3130_upstream.c
index 34a99bb..39a8189 100644
--- a/hw/xio3130_upstream.c
+++ b/hw/xio3130_upstream.c
@@ -110,7 +110,8 @@  static int xio3130_upstream_exitfn(PCIDevice *d)
 }
 
 PCIEPort *xio3130_upstream_init(PCIBus *bus, int devfn, bool multifunction,
-                             const char *bus_name, pci_map_irq_fn map_irq,
+                             const char *bus_name,
+                             pci_route_pin_fn route_intx_pin,
                              uint8_t port)
 {
     PCIDevice *d;
@@ -124,7 +125,7 @@  PCIEPort *xio3130_upstream_init(PCIBus *bus, int devfn, bool multifunction,
     br = DO_UPCAST(PCIBridge, dev, d);
 
     qdev = &br->dev.qdev;
-    pci_bridge_map_irq(br, bus_name, map_irq);
+    pci_bridge_prepare(br, bus_name, route_intx_pin);
     qdev_prop_set_uint8(qdev, "port", port);
     qdev_init_nofail(qdev);
 
diff --git a/hw/xio3130_upstream.h b/hw/xio3130_upstream.h
index e996997..bf3784e 100644
--- a/hw/xio3130_upstream.h
+++ b/hw/xio3130_upstream.h
@@ -4,7 +4,8 @@ 
 #include "pcie_port.h"
 
 PCIEPort *xio3130_upstream_init(PCIBus *bus, int devfn, bool multifunction,
-                                const char *bus_name, pci_map_irq_fn map_irq,
+                                const char *bus_name,
+                                pci_route_pin_fn route_intx_pin,
                                 uint8_t port);
 
 #endif /* QEMU_XIO3130_H */