Re: [PATCH] x86-64: disable the GART before allocate aperture

Muli Ben-Yehuda
2007-06-22T21:46:31Z

On Fri, Jun 22, 2007 at 03:32:53PM -0600, Eric W. Biederman wrote:
> Alan Cox <alan@lxorguk.ukuu.org.uk> writes:
>
> > You've got mapped live gart pages from the previous kernel. Even
> > if you disable the gart before a memset you may well have the
> > video card using gart translations and possibly live IOMMU
> > mappings for devices using it via bus mastering - and those will
> > cause you MCE exceptions with a corrupt cpu context flag (ie not
> > nicely recoverable).
>
> The original plan (which we have not followed up on). Was to
> reserve a chunk of any iommu for the kexec on panic kernel. Then to
> just have the second kernel use that unused chunk. This is how we
> treat the normal memory space and it seems a nice and simple
> approach to this kind of problem.
>
> For a normal kexec we should shut everything down before the kernel
> transition so it should not be an issue.
>
> YH do you think you can look at simply reserving a portion of the
> iommu? And having the kexec on panic kernel use the reserved
> portion?

How would this work with an isolation capable IOMMU which has
different address spaces for different devices? (e.g., Calgary which
is in mainline, Intel's VT-d which is coming soon, etc).

Cheers,
Muli