[PATCH 3/4] Revert "x86: disable IOMMUs on kernel crash"
joro at 8bytes.org
Sun Apr 4 04:44:36 EDT 2010
On Sat, Apr 03, 2010 at 10:44:22AM -0700, Eric W. Biederman wrote:
> Joerg Roedel <joro at 8bytes.org> writes:
> > Hmm, I think for this we need to change the gart code too and disable
> > the gart before its initialization runs to not re-introduce issues fixed
> > in commit bc2cea6a34fdb30f118ec75db39a46a191870607, no?
> That is a different code path with a different set of assumptions and
> restrictions. On a normal kexec of course we want to do an orderly shutdown.
Thats another problem with this patch. It introduces a difference
between the panic-shutdown kexec and the ordinary kexec.
> For the gart with a little luck we can just ignore it on kexec on
The commit I mentioned above already proves this assumption wrong.
> Unlike a virtualization capable iommu it doesn't prevent access
> to devices, when it is enabled. Worst case is that we have to start
> including iommu=off for gart systems.
No no no. This is a maintenance nightmare for almost everybody. Where do
you want to Document this special cases that 'if kernel uses gart then
and only then boot the kexec kernel with iommu=off'.
Always passing iommu=off to the kexec kernel doesn't work too for
> The best case is that we can figure out how to have the gart code
> reinitialize itself sanely, starting from some arbitrary point.
Yes, that is missing in this patch. But to keep changes small and don't
bother with the gart code at all I suggest to remove the shutdown
routine from the amd-iommu code only and not the whole shutdown call in
the machine_crash_shutdown path.
More information about the kexec