[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] RE: [PATCH] bind passthroug pci device interrupt pins to INTA
>-----Original Message----- >From: Keir Fraser [mailto:keir.fraser@xxxxxxxxxxxxx] >Sent: 2008年5月20日 16:55 >To: He, Qing >Cc: xen-devel@xxxxxxxxxxxxxxxxxxx >Subject: Re: [PATCH] bind passthroug pci device interrupt pins to INTA > > > > >On 20/5/08 05:34, "He, Qing" <qing.he@xxxxxxxxx> wrote: > >> The original scheme is to use the interrupt pin in the physical pci >> configuration space. However, the use of interrupt pins other than INTA >> will likely cause problem when the number of assigned devices exceeds 8, >> e.g. dev 3, INTB and dev 11, INTA share the same girq. In this case, one >> machine may be left untracked and masked, any devices using the same >> machine irq (including those owned by other domains) is then blocked. >> >> Just wonder if there is any need to expose multifunction devices (i.e. >> have to use INTB, etc.) to the guest in the future. >> >> All comments and suggestions are welcomed. > >Could you set the INT line to the function number? FN0->INTA, FN1->INTB, >...? This would then work for multi-fn devices, yet still most devices have >only fn0 and hence would use INTA as you desire. The case that makes me want to change this is the USB assignment. If I assign all USB stuff to a guest, that's already 8 functions within 2 devices using all the INTA to INTD. Guest gsi sharing will be very likely to happen if I assign another one or two device. There are other options I can think of, including (a) support sharing of guest gsi. This may also be good for PIC guest where sharing is more common. However, eoi and unmask of sharing guest gsi would be a pain, if they have different machine irqs. The implementation is subjected to careful considerations of corner cases. (b) change the device model slot allocation policy, to ensure that guest gsi sharing devices also have the same machine irq. This solution reduces the flexibility. (c) dynamic routing table, which I assume is not desirable. (a) may be the better way to go, but at the cost of additional complexity. Also, it does not look very good to me that a guest gsi has to link to multiple machine irqs, especially in EOI handling part. While simply pins interrupt pins to INTA works fine in most cases and it's stupidly simple compared with other options. Thanks, Qing > > -- Keir > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |