On 18/11/2015 13:31, Paolo Bonzini wrote:
>
>
> On 11/11/2015 01:27, Benjamin Herrenschmidt wrote:
>> if (bridge_dev->flags & (1 << PCI_BRIDGE_DEV_F_SHPC_REQ)) {
>> + /* SHCP gets upset if we try to use slot 0 */
>> + br->sec_bus.devfn_min = PCI_FUNC_MAX;
>> dev->config[PCI_INTERRUPT_PIN] = 0x1;
>> memory_region_init(&bridge_dev->bar, OBJECT(dev), "shpc-bar",
>> shpc_bar_size(dev));
>
> This needs backwards compatibility gunk unfortunately. However we
> should fix it in 2.5 because it's a bug. I'll send a patch.
Actually it turns out that the forbidden configuration is blocked elsewhere:
$ x86_64-softmmu/qemu-system-x86_64 \
-device pci-bridge,id=foo,chassis_nr=1 \
-device virtio-scsi-pci,bus=foo
qemu-system-x86_64: -device virtio-scsi-pci,bus=foo: Unsupported PCI
slot 0 for standard hotplug controller. Valid slots are between 1 and 31.
so this patch is just allowing the above command line to work. There's
no effect with or without the patch if addr=0, so the patch is good for
2.5 IMO.
Michael, can you queue it?
Paolo