Here is the patch series to clean up PCI express patches.
Although there remained some issues to address, the PCI express
patches was commited while I wasn't responsive last week. (Sorry for that)
This patch series addresses the remained issues.

They are mostly trivial fixes or cosmetics suggested by Michael.
I think I've covered almost all the issues. If I missed anything,
please be kind to point it out again.

Some random comments:

- PCI configuration space register constant.
  Now they're defined in pci.h and their symbol name is same to Linux's
  pci_regs.h.
  So it would make sense to import Linux pci_regs.h and remove the
  definitions in pci.h. If this is acceptable, I'll create the patch.

- PCI configuration space helper functions.
  Now range checking helper functions are introduced.
  range_overlaps() and so on.
  So it's possible to clean up each PCI devices by using them.
  If acceptable, I'll create the patch.

- endian swap related to PCI host bridge/guest endian/host endian:
  I gave up to address this.
  I'll leave it to someone who knows PPC spec well and has access to
  a big endian host machine.

- PCI bridge clean up:
  PCI bridge stuff needs more clean up. Possibly it would result
  in a new file pci_bridge.c.
  I'd like to address it later. Anyway I have to do it when
  I implement PCI express hot plug.
  
- PCI express initialization:
  Since it uses PCI initialization code, so it isn't separated
  from PCI cleanly.
  One possible way is to introduce PCI express specific qdev
  register function (PCIEDeviceInfo, pcie_qdev_register() and
  pcie_qdev_init() which calls pci_qdev_init()).
  I'm not sure it's worth while at the moment so I'd like to
  leave it untouched for now.

thanks,

Isaku Yamahata (20):
  pci: fix pci_info_device().
  pci: move pci_data_{read, write}() declaration from pci.h to
    pci_host.h
  pci: simplify pci_data_read(), pcie_mmcfg_data_read().
  pci: remove pci_addr_to_config() by open code
  pci: rename pci_addr_to_dev(), pcie_mmcfg_addr_to_dev().
  pci: shorten pci_host_{conf, data}_register_xxx function a bit.
  pci: remove pci_sub_bus() by open coding.
  pci: s/pci_find_host_bus/pci_find_root_bus/g
  pci_host: remove unnecessary & 0xff.
  pci: kill unnecessary included in pci.c
  pci: clean up of pci_init_wmask().
  pci: remove some unnecessary comment in pci.h
  pci: move typedef, PCIHostState, PCIExpressHost to qemu-common.h.
  pci: remove unused constants.
  pci: clean up of pci_update_mappings()
  pci: kill goto in pci_update_mappings()
  pci: remove magic number, 256 in pci.c
  pci: fix pci_config_get_io_base().
  pci: pci bridge related clean up.
  pci: remove goto in pci_bridge_filter().

 hw/apb_pci.c     |    4 +-
 hw/grackle_pci.c |    8 ++--
 hw/pci-hotplug.c |    4 +-
 hw/pci.c         |  126 ++++++++++++++++++++++++++++-------------------------
 hw/pci.h         |   25 ++---------
 hw/pci_host.c    |   44 +++++++------------
 hw/pci_host.h    |   15 ++++---
 hw/pcie_host.c   |   23 +++------
 hw/pcie_host.h   |    4 +-
 hw/piix_pci.c    |    2 +-
 hw/ppc4xx_pci.c  |    2 +-
 hw/ppce500_pci.c |    4 +-
 hw/prep_pci.c    |    2 +-
 hw/unin_pci.c    |   16 +++---
 qemu-common.h    |    2 +
 15 files changed, 129 insertions(+), 152 deletions(-)



Reply via email to