Re: [PATCH] x86-64: disable the GART early v2

From: Yinghai Lu
Date: Fri Jan 11 2008 - 03:34:55 EST


On Jan 11, 2008 12:14 AM, Ingo Molnar <mingo@xxxxxxx> wrote:
>
> * Yinghai Lu <Yinghai.Lu@xxxxxxx> wrote:
>
> > --- a/arch/x86/kernel/aperture_64.c
> > +++ b/arch/x86/kernel/aperture_64.c
> > @@ -218,6 +218,73 @@ static __u32 __init search_agp_bridge(u32 *order, int *valid_agp)
> > return 0;
> > }
> >
> > +void __init early_gart_iommu_disable(void)
> > +{
> > + /*
> > + * disable it in case it is enabled before, esp for kexec/kdump,
> > + * previous kernel already enable that. otherwise memset called
> > + * by allocate_aperture/__alloc_bootmem_nopanic cause restart.
> > + * or second kernel have different position for GART hole. and new
> > + * kernel could use hole as RAM that is still used by GART set by
> > + * first kernel
> > + */
>
> hm, i'm wondering, instead of modifying the GART, why dont we simply
> _detect_ whatever GART settings we have inherited, and propagate that
> into our e820 maps? I.e. if there's inconsistency, then punch that out
> from the memory maps and just dont use that memory.
>
> that way it would not matter whether the GART settings came from a [old
> or crashing] Linux kernel that has not called gart_iommu_shutdown(), or
> whether it's a BIOS that has set up an aperture hole inconsistent with
> the memory map it passed. (or the memory map we _think_ i tried to pass
> us)
>
good, i will update the patch to check that hole with e820 map.

that also make code short so don't need to check if agp is there or not.

YH
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/