Using latest qemu.git master:
$ qemu-system-x86_64 -machine q35 -readconfig docs/q35-chipset.cfg -monitor
stdio
QEMU 2.7.93 monitor - type 'help' for more information
(qemu) device_add e1000e,bus=ich9-pcie-port-4,addr=00
(qemu) device_add e1000e,bus=ich9-pcie-port-4,addr=08
Segmentation fault (core dumped)
It crashes at:
#7 0x000055555598d7dc in do_pci_register_device (errp=0x7fffffffbfd0,
devfn=64, name=0x5555565df340 "e1000e", bus=0x555558487380,
pci_dev=0x5555589cd000)
at /home/ehabkost/rh/proj/virt/qemu/hw/pci/pci.c:983
983 error_setg(errp, "PCI: slot %d function 0 already ocuppied by
%s,"
(gdb) l
978 PCI_SLOT(devfn), PCI_FUNC(devfn), name,
979 bus->devices[devfn]->name);
980 return NULL;
981 } else if (dev->hotplugged &&
982 pci_get_function_0(pci_dev)) {
983 error_setg(errp, "PCI: slot %d function 0 already ocuppied by
%s,"
984 " new func %s cannot be exposed to guest.",
985 PCI_SLOT(devfn),
986 bus->devices[PCI_DEVFN(PCI_SLOT(devfn), 0)]->name,
987 name);
--
Eduardo