qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Qemu-devel] Re: [PATCH 07/20] pci: remove pci_sub_bus() by open coding.


From: Michael S. Tsirkin
Subject: [Qemu-devel] Re: [PATCH 07/20] pci: remove pci_sub_bus() by open coding.
Date: Thu, 12 Nov 2009 12:45:08 +0200
User-agent: Mutt/1.5.19 (2009-01-05)

On Thu, Nov 12, 2009 at 02:58:35PM +0900, Isaku Yamahata wrote:
> Because pci_sub_bus() is used only once so eliminate it
> by open coding as suggested by "Michael S. Tsirkin" <address@hidden>.
> 
> Signed-off-by: Isaku Yamahata <address@hidden>

Acked-by: Michael S. Tsirkin <address@hidden>

As a separate note.  I wonder whether we can handle host bridge in a way
that is more uniform with pci bridges, so we don't have to special-case
it in e.g. pci_bus_num.
Not sure yet how to do this or whether this is a good idea at all.

> ---
>  hw/pci.c |   12 ++++--------
>  1 files changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/hw/pci.c b/hw/pci.c
> index 4169d4f..bdd4063 100644
> --- a/hw/pci.c
> +++ b/hw/pci.c
> @@ -239,13 +239,6 @@ int pci_bus_num(PCIBus *s)
>      return s->parent_dev->config[PCI_SECONDARY_BUS];
>  }
>  
> -static uint8_t pci_sub_bus(PCIBus *s)
> -{
> -    if (!s->parent_dev)
> -        return 255;     /* pci host bridge */
> -    return s->parent_dev->config[PCI_SUBORDINATE_BUS];
> -}
> -
>  static int get_pci_config_device(QEMUFile *f, void *pv, size_t size)
>  {
>      PCIDevice *s = container_of(pv, PCIDevice, config);
> @@ -1179,7 +1172,10 @@ PCIBus *pci_find_bus(PCIBus *bus, int bus_num)
>  
>      /* try child bus */
>      QLIST_FOREACH(sec, &bus->child, sibling) {
> -        if (pci_bus_num(sec) <= bus_num && bus_num <= pci_sub_bus(sec)) {
> +
> +        if (!bus->parent_dev /* pci host bridge */
> +            || (pci_bus_num(sec) <= bus_num &&
> +                bus->parent_dev->config[PCI_SUBORDINATE_BUS])) {
>              return pci_find_bus(sec, bus_num);
>          }
>      }
> -- 
> 1.6.0.2




reply via email to

[Prev in Thread] Current Thread [Next in Thread]