|
|
|
|
|
|
|
|
|
|
xen-devel
[Xen-devel] Re: IOMMU faults
Alberto BozzoOn Thursday 16 June 2011 11:25:09 Tim Deegan wrote:
> Hi, IOMMU maintainers,
>
> What should Xen do when an IOMMU fault happens? As far as I can
> see both the AMD and Intel code clears the error in the IOMMU and
> carries on, but I suspect some more vigorous action is appropriate.
> I've seen traces from an Intel machine that seemed to be livelocked on
> IOMMU faults from a passed-through VGA card, until it was killed by the
> watchdog. I think I can see two things that contribute to that:
>
> - The Intel IOMMU fault handler prints quite a lot of info in interrupt
> context, making it easier to livelock. Still I think the general
> problem applies on AMD too.
This info could still be useful for debugging, but we should only enable this
for debug build.
> - Domain destruction re-assigns passed though cards to dom0, but the
> cards don't seem to get reset. So there's nothing to stop a card
> battering away at DMA in the meantime. That seems like a problem
> independent of livelock, actually.
There should be some FLR codes in tools (both xm and xl). But this might not
work well with some devices...
> In any case, it seems like it would be a good idea to stop a
> broken/malicious/deassigned card from flooding Xen with IOMMU faults.
Yes, agree that. Actually I saw a lot could be improved in the fault handler.
When iommu faults come from dma error, we should either stop the device from
doing dma or inject errors to guest if the guest driver is able to handle io
page fault.
> I was considering just writing 0 to the faulting card's PCI command
> register, but I'm told that's not always enough to properly deactivate
> a card, and it might be a little over-zealous to do it on the first
> offence.
> Ideas?
It seems difficult to find a generic approach to stop a device without knowing
more device specific details...
Thanks,
Wei
> Tim.
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|