To follow up, I just tried current CVS with 2.4.0-test7 and AGP built
into the kernel, and everything is fine. get_module_symbol is behaving
On Saturday, 26 August 2000 at 06:33, Rik Faith wrote:
> > So I was toying around, and built agpgart into my kernel. But it
> > seems that the DRM kernel modules don't work in this configuration;
> > here's the output from dmesg:
> > Linux agpgart interface v0.99 (c) Jeff Hartmann
> > agpgart: Maximum main memory to use for agp memory: 204M
> > agpgart: Detected Via Apollo Pro chipset
> > agpgart: AGP aperture is 64M @ 0xd0000000
> > [drm] The mga drm module requires the agpgart module to function correc=
> > Please load the agpgart module before you load the mga module
> > Looking at the code (agpsupport.c around line 278) it looks like the
> > code doesn't look for non-module symbols -- although I don't know
> > exactly what get_module_symbol does.
> > Should this work?
> Yes. If you look in linux/kernel/module.c, you'll find some documentation
> on get_module_symbol:
> > /*
> > * Gets the address for a symbol in the given module. If modname is
> > * NULL, it looks for the name in any registered symbol table. If the
> > * modname is an empty string, it looks for the symbol in kernel export=
> > * symbol tables. Increase the usage count of the module in which the
> > * symbol was found - it's the only way we can guarantee that it's still
> > * there by the time our caller actually uses it.
> > */
> > unsigned long
> > get_module_symbol(char *modname, char *symname)
> It's possible that NULL no longer actually searched _all_ symbol tables
> (i.e., maybe it's behavior broke, or maybe it doesn't including the kernel
> table). If this is the case, then, perhaps, we should try using (in
> *fill->f =3D (drm_agp_func_u)get_module_symbol(NULL, n);
> if (!*fill->f) *fill->f =3D (drm_agp_func_u)get_module_symbol("", n);
> Can you try this?
> Are you sure that both your kernel and your mga.o module were built with =
> without MODVERSIONS? and that the mga.o module was built against the exact
> same source tree that you are using for your kernel?
> Dri-devel mailing list
Don't make Godzilla mad!