On Thu, Sep 27, 2012 at 10:50:05PM +0100, David Woodhouse wrote:
> That would include fairly much any USB host controller. The whole RMRR
> concept is completely broken and should never have been invented. The
> idea that firmware-controlled DMA should continue to happen *after* the
> operating system has been booted and taken control of the hardware is
> just insane.
>
> The majority of RMRR use is for USB controllers, so that firmware can
> emulate a legacy keyboard for the benefit of pre-USB operating systems.
> But no operating system that old is ever going to support the IOMMU
> anyway, so that's just mad. But that's why we've managed to get away
> with setting up the RMRRs and then tearing them down when a native
> driver has actually taken control of the hardware — because at that
> point, it should have been reset and whatever the firmware had
> configured to do has been abandoned.
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?
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.
Joerg
--
AMD Operating System Research Center
Advanced Micro Devices GmbH Einsteinring 24 85609 Dornach
General Managers: Alberto Bozzo
Registration: Dornach, Landkr. Muenchen; Registerger. Muenchen, HRB Nr. 43632
_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu