[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] [IOEMU] Fix wrong INTx for pass-through device
Hi, I ran into similar problems last week, and i tried the following fix, which looks like it kind-of fixed it, does this do the same fix as your patch? Here is the patch i used: --- a/tools/ioemu/hw/pass-through.c Sun Dec 27 11:56:08 2009 +0200 +++ b/tools/ioemu/hw/pass-through.c Sun Dec 27 11:56:08 2009 +0200 @@ -4209,8 +4209,14 @@ */ uint8_t pci_intx(struct pt_dev *ptdev) { +#if 0 /* FIX */ if (!PCI_FUNC(ptdev->dev.devfn)) return 0; +#endif /* FIX */ + return pci_read_intx(ptdev); } Tom On Mon, Dec 28, 2009 at 9:04 AM, Zhai, Edwin <edwin.zhai@xxxxxxxxx> wrote: > Simon, > For the pass-through device's INTx emulation, we follow the policy: if > virtual function 0, use INTA#, otherwise use hardware value. However, this > policy only apply when bind_pt_pci_irq to xen, and always use physical value > when exporting to guest. This discrepancy cause different INTx, thus > different GSI in xen and guest, so that interrupts never got injected to > guest. E.g. when assigning a USB controller with non-zero function(00:1d.2) > to guest as 00:4.0, xen will see INTA#, while guest see INTC#. > > This simple patch can fix it. Could you pls. review it? > > Thanks, > > -- > best rgds, > edwin > > > Signed-Off-By: Zhai Edwin <edwin.zhai@xxxxxxxxx> > > diff --git a/hw/pass-through.c b/hw/pass-through.c > index e7bd386..a08c0bf 100644 > --- a/hw/pass-through.c > +++ b/hw/pass-through.c > @@ -2710,7 +2710,8 @@ static uint32_t pt_status_reg_init(struct pt_dev > *ptdev, > static uint32_t pt_irqpin_reg_init(struct pt_dev *ptdev, > struct pt_reg_info_tbl *reg, uint32_t real_offset) > { > - return ptdev->dev.config[real_offset]; > + /* Translate xen INTx value to hw */ > + return pci_intx(ptdev) + 1; > } > > /* initialize BAR */ > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxx > http://lists.xensource.com/xen-devel > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |