Re: aperture_64: use symbolic constants

From: Pavel Machek
Date: Tue May 20 2008 - 11:35:59 EST


Hi!

> > +static inline int aperture_valid(u64 aper_base, u32 aper_size, u32 min_size)
> > +{
> > + if (!aper_base)
> > + return 0;
> > +
> > + if (aper_base + aper_size > 0x100000000ULL) {
> > + printk(KERN_ERR "Aperture beyond 4GB. Ignoring.\n");
> > + return 0;
> > + }
> > + if (e820_any_mapped(aper_base, aper_base + aper_size, E820_RAM)) {
> > + printk(KERN_ERR "Aperture pointing to e820 RAM. Ignoring.\n");
> > + return 0;
> > + }
> > + if (aper_size < min_size) {
> > + printk(KERN_ERR "Aperture too small (%d MB) than (%d MB)\n",
> > + aper_size>>20, min_size>>20);
> > + return 0;
> > + }
> > +
> > + return 1;
> > +}
>
> Instead of making this an inline, we could add it to the agpgart code
> and export it, and have the gart-iommu code call it.
> You can't build the IOMMU code without agpgart anyway, and having this inlined
> in both places seems a bit wasteful.
> Additionally, it would mean not having a function in a header file,
> which always strikes me as a wrong thing to do.

Can you elaborate? Yes, it would be nicer if this went to .c
somewhere, but aperture_64.c seems unsuitable (we need it on 32-bit,
too, right?)... plus it was __init in one place, and __devinit in the
other, so I figured out "inline it so that it works automagically".

Plus, I don't think it should go into drivers/agp, as iommu code in
arch/x86/kernel seems to be able to work without that...?

Pavel
--
(english) http://www.livejournal.com/~pavelmachek
(cesky, pictures) http://atrey.karlin.mff.cuni.cz/~pavel/picture/horses/blog.html
--
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/