[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH] ns16550: make PCI device hiding uniform
The difference between pci_hide_device() and pci_ro_device() is that the former only prevents a device from getting assigned to a guest, while the latter additionally arranges for Dom0 write attempts to the device's config space to be ignored/discarded. Whether we want one or the other certainly doesn't depend on whether the device is in our set of known devices. All that matters is whether we use a PCI device: Call pci_ro_device() in any such case. Signed-off-by: Jan Beulich <jbeulich@xxxxxxxx> --- Resend with To/Cc corrected; thanks to Andrew for pointing out. --- a/xen/drivers/char/ns16550.c +++ b/xen/drivers/char/ns16550.c @@ -763,23 +763,16 @@ static void __init ns16550_init_postirq( #ifdef CONFIG_HAS_PCI if ( uart->bar || uart->ps_bdf_enable ) { - if ( !uart->param ) - pci_hide_device(0, uart->ps_bdf[0], PCI_DEVFN(uart->ps_bdf[1], - uart->ps_bdf[2])); - else - { - if ( uart->param->mmio && - rangeset_add_range(mmio_ro_ranges, - uart->io_base, - uart->io_base + uart->io_size - 1) ) - printk(XENLOG_INFO "Error while adding MMIO range of device to mmio_ro_ranges\n"); + if ( uart->param && uart->param->mmio && + rangeset_add_range(mmio_ro_ranges, uart->io_base, + uart->io_base + uart->io_size - 1) ) + printk(XENLOG_INFO "Error while adding MMIO range of device to mmio_ro_ranges\n"); - if ( pci_ro_device(0, uart->ps_bdf[0], - PCI_DEVFN(uart->ps_bdf[1], uart->ps_bdf[2])) ) - printk(XENLOG_INFO "Could not mark config space of %02x:%02x.%u read-only.\n", - uart->ps_bdf[0], uart->ps_bdf[1], - uart->ps_bdf[2]); - } + if ( pci_ro_device(0, uart->ps_bdf[0], + PCI_DEVFN(uart->ps_bdf[1], uart->ps_bdf[2])) ) + printk(XENLOG_INFO "Could not mark config space of %02x:%02x.%u read-only.\n", + uart->ps_bdf[0], uart->ps_bdf[1], + uart->ps_bdf[2]); if ( uart->msi ) { _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |