|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] radeon in dom0/ivtv in domU: irq 16 nobody cared
On 04/13/2010 12:10 PM, Konrad Rzeszutek Wilk wrote:
>> Does the kernel get to know about the passed-through irqs? I was
>> thinking that at pass-through time it would install the handler in dom0
>> on the irq (and all other domains sharing the irq), and then the handler
>> could do that hypercall and return IRQ_HANDLED / IRQ_NONE accordingly.
>>
> That was my other thought. But that means that the handler has to
> do a hypercall - which I thought is a bit too heavy handed considering we
> only need
> to know whether it is shared only once.
It could just return IRQ_HANDLED unconditionally, without doing the
hypercall. Remember you also need it in the domU and any other domU
using the same GSI.
> The fake irq handler gets
> disabled if the domain is turned off/pci hotplug removed.
>
Yep.
> Currently the fake IRQ handler is installed on the IRQ that is requested
> by the guest. So if the IRQ is not shared in Dom0, it still gets
> inserted in (and it won't receive any interrupts since that IRQ line is
> not shared with the domain 0).
>
Just for clarity's sake, you mean GSI for each instance of IRQ here, right?
>> Hrm. You could instrument Xen to see who's masking the interrupt.
>>
> <nods>Right now I am, digging through code to figure out how to make this
> happen without inserting to much code in the handler which would have
> slowed the machine to a crawl.
>
I was thinking of something very dumb and ad-hoc, like putting an
explicit "if (gsi == X && masking) print something".
J
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|