On Wed, Sep 22, 2010 at 01:25:59PM +0200, Michael S. Tsirkin wrote: > > +PCIESlot *pcie_root_init(PCIBus *bus, int devfn, bool multifunction, > > + const char *bus_name, pci_map_irq_fn map_irq, > > + uint8_t port, uint8_t chassis, uint16_t slot); > > + > > I am a bit unhappy about all these _init functions. > Can devices be created with qdev? If they were > it would be possible to configure the system completely > from qemu command line.
That's very reasonable question. Once machine configuration file is supported, those initialization functions will go away. I.e. when the initialization code like pc_init1() in pc_piix.c disappears, those functions will also go away. Until that, those initialization glues will stay like pci_create family or other many initialization glues unfortunately. This is the result of qdev missing a feature, not the cause. It would be a long-term issue to add machine configuration file support. -- yamahata