On 28/07/2019 00:45, BALATON Zoltan wrote:
Hello,
This series seems to break adding devices without a driver. I've tried ati-vga,model=rv100, with unpatched OpenBIOS from QEMU git I get:
C>> annot manage 'VGA controller' PCI device type 'display':
1002 5159 (3 0 0)
pci_update_mappings: adding bar 0 to unin-pci-mmio @ 0x81000000 pci_update_mappings: adding bar 1 to unin-pci-isa-mmio @ 0x1000 pci_update_mappings: adding bar 2 to unin-pci-mmio @ 0x82000000 pci_update_mappings: adding bar 6 to unin-pci-mmio @ 0x82010000
set_property: NULL phandle
0 > cd /pci ok 0 > ls fff58048 mac-io@c fff5afbc usb@d fff5b45c pci1002,5159@e ok
with patched OpenBIOS however:
Cannot manage 'VGA controller' PCI device type 'display': 1002 5159 (3 0 0) 0:e.0 - 1002:5159 - /pci@f2000000/pci1002,5159 - ob_pci_encode_unit space=0 dev=14 fn=0 buf=e ob_pci_decode_unit idx=fff5b49c ob_pci_decode_unit idx=fff5b49c addr=00000000 00000000 00007000 changing mem_base from 0x80090000 to 0x82000000 Configuring BARs for /pci@f2000000/pci1002,5159: reloc 0x81000000 omask 0x8 io_base 0x1000 mem_base 0x82000000 size 0x1000000 changing io_base from 0x1000 to 0x1100 Configuring BARs for /pci@f2000000/pci1002,5159: reloc 0x1000 omask 0x1 io_base 0x1100 mem_base 0x82000000 size 0x100 changing mem_base from 0x82000000 to 0x82010000 Configuring BARs for /pci@f2000000/pci1002,5159: reloc 0x82000000 omask 0x0 io_base 0x1100 mem_base 0x82010000 size 0x10000 changing mem_base from 0x82010000 to 0x82020000 Configuring BARs for /pci@f2000000/pci1002,5159: reloc 0x82010000 omask 0x1 io_base 0x1100 mem_base 0x82020000 size 0x10000
pci_update_mappings: adding bar 0 to unin-pci-mmio @ 0x81000000 pci_update_mappings: adding bar 1 to unin-pci-isa-mmio @ 0x1000 pci_update_mappings: adding bar 2 to unin-pci-mmio @ 0x82000000 pci_update_mappings: adding bar 6 to unin-pci-mmio @ 0x82010000
*** missing pci_dev
0 > cd /pci ok 0 > ls fff5b9e4 >> ob_pci_encode_unit space=0 dev=12 fn=0 buf=c mac-io@c fff5e688 >> ob_pci_encode_unit space=0 dev=13 fn=0 buf=d usb@d ok
I've just started qemu-system-ppc without doing anything else other than listing /pci node as above.
Yeah, it's a bug - I missed that in the case of unknown devices we were still falling back to the old behaviour of force-creating devices at known paths which is the behaviour that this patchset is removing.
Attached is a fix that works for me when applied on top of the v2 series if you can test it?
ATB,
Mark.