On Fri, Sep 28, 2012 at 11:23:23AM +0100, David Woodhouse wrote:
> On Fri, 2012-09-28 at 11:46 +0200, Joerg Roedel wrote:
> > Even on modern hardware with modern (IOMMU aware) kernels there is still
> > this small time window when the OS has enabled the IOMMU and the USB
> > driver is not initialized yet. In this time window the RMRR memory
> > region is still necessary, no?
>
> Yes but there's no *reason* for that. It wouldn't be that hard to ask
> the firmware to quiesce all its own DMA *before* we enable the IOMMU.
True. That would have been a better approach. Some kind of IOMMU
handover from firmware to the OS.
> > As I said already in another mail, I think it is safe to ignore any RMRR
> > requirements when we start to use a device in the OS.
>
> I think the whole point in this patch is that there is some brain-dead
> hardware out there (vendor 'value subtract' I think) on which that
> common-sense observation isn't actually true.
>
> I'm all for handling that broken hardware with quirks, giving clear
> messages to the user that the device(+firmware) in question is broken,
> and refusing to let either the kernel *or* VM guests do any DMA with it.
Well, it is probably mostly about southbridge devices and add-on USB
controllers. Or is there any other way a given device can communicate
RMRR requirements to the firmware?
Anyway, I am fine with completly blocking DMA for those devices too.
Joerg
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu