[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] [PATCH v5 4/6] pci: add a segment parameter to pci_hide_device
No functional change expected. Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> --- Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx> Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> Cc: Jan Beulich <jbeulich@xxxxxxxx> Cc: Julien Grall <julien.grall@xxxxxxx> Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx> Cc: Tim Deegan <tim@xxxxxxx> Cc: Wei Liu <wei.liu2@xxxxxxxxxx> --- Changes since v4: - New in this version. --- xen/drivers/char/ehci-dbgp.c | 2 +- xen/drivers/char/ns16550.c | 2 +- xen/drivers/passthrough/pci.c | 16 +++++++++++----- xen/drivers/video/vga.c | 2 +- xen/include/xen/pci.h | 2 +- 5 files changed, 15 insertions(+), 9 deletions(-) diff --git a/xen/drivers/char/ehci-dbgp.c b/xen/drivers/char/ehci-dbgp.c index d0071d3114..475dc41767 100644 --- a/xen/drivers/char/ehci-dbgp.c +++ b/xen/drivers/char/ehci-dbgp.c @@ -1362,7 +1362,7 @@ static void __init ehci_dbgp_init_postirq(struct serial_port *port) ehci_dbgp_setup_postirq(dbgp); - pci_hide_device(dbgp->bus, PCI_DEVFN(dbgp->slot, dbgp->func)); + pci_hide_device(0, dbgp->bus, PCI_DEVFN(dbgp->slot, dbgp->func)); } static int ehci_dbgp_check_release(struct ehci_dbgp *dbgp) diff --git a/xen/drivers/char/ns16550.c b/xen/drivers/char/ns16550.c index f32dbd3247..3c66e65b1c 100644 --- a/xen/drivers/char/ns16550.c +++ b/xen/drivers/char/ns16550.c @@ -761,7 +761,7 @@ static void __init ns16550_init_postirq(struct serial_port *port) if ( uart->bar || uart->ps_bdf_enable ) { if ( !uart->param ) - pci_hide_device(uart->ps_bdf[0], PCI_DEVFN(uart->ps_bdf[1], + pci_hide_device(0, uart->ps_bdf[0], PCI_DEVFN(uart->ps_bdf[1], uart->ps_bdf[2])); else { diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c index e5b9602762..7584ce2fbb 100644 --- a/xen/drivers/passthrough/pci.c +++ b/xen/drivers/passthrough/pci.c @@ -440,17 +440,23 @@ static void _pci_hide_device(struct pci_dev *pdev) list_add(&pdev->domain_list, &dom_xen->arch.pdev_list); } -int __init pci_hide_device(int bus, int devfn) +int __init pci_hide_device(unsigned int seg, unsigned int bus, + unsigned int devfn) { struct pci_dev *pdev; + struct pci_seg *pseg; int rc = -ENOMEM; pcidevs_lock(); - pdev = alloc_pdev(get_pseg(0), bus, devfn); - if ( pdev ) + pseg = alloc_pseg(seg); + if ( pseg ) { - _pci_hide_device(pdev); - rc = 0; + pdev = alloc_pdev(pseg, bus, devfn); + if ( pdev ) + { + _pci_hide_device(pdev); + rc = 0; + } } pcidevs_unlock(); diff --git a/xen/drivers/video/vga.c b/xen/drivers/video/vga.c index 7dc07b13ed..6a64fd9013 100644 --- a/xen/drivers/video/vga.c +++ b/xen/drivers/video/vga.c @@ -157,7 +157,7 @@ void __init video_endboot(void) { printk(XENLOG_INFO "Boot video device %02x:%02x.%u\n", bus, PCI_SLOT(devfn), PCI_FUNC(devfn)); - pci_hide_device(bus, devfn); + pci_hide_device(0, bus, devfn); } } } diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h index 580e820a33..3c361cf0c0 100644 --- a/xen/include/xen/pci.h +++ b/xen/include/xen/pci.h @@ -150,7 +150,7 @@ int pci_add_device(u16 seg, u8 bus, u8 devfn, const struct pci_dev_info *, nodeid_t node); int pci_remove_device(u16 seg, u8 bus, u8 devfn); int pci_ro_device(int seg, int bus, int devfn); -int pci_hide_device(int bus, int devfn); +int pci_hide_device(unsigned int seg, unsigned int bus, unsigned int devfn); struct pci_dev *pci_get_pdev(int seg, int bus, int devfn); struct pci_dev *pci_get_real_pdev(int seg, int bus, int devfn); struct pci_dev *pci_get_pdev_by_domain(const struct domain *, int seg, -- 2.19.1 _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |