From: Blaisorblade <bla...@ya...> - 2005-04-19 19:42:05
|
On Tuesday 19 April 2005 09:55, Suresh wrote: > Hi > > I am a newbie to the uml and this my first mail. > I was trying to bring up uml. I compiled a module and tried to load the > module into the kernel. > I get an unresolved symbol for to_virt. > The kernel functions which I used > in the module are > kmalloc, > copy_to_user > copy_from_user > and free. to_virt is used in the definition of __va(), IIRC. > I am not sure why this symbol is not resolved. to_phys is resolved. Both > are defined in a > arch/um/kernel/physmem.c file. But it means that it isn't exported with EXPORT_SYMBOL. Modules can't load all kernel symbols, only some ones, which are explicitly exported. Search any linux FAQ (this is not UML specific, except the symbol name itself). > Kindly tell me how to resolve this issue. Add EXPORT_SYMBOL(to_virt); to arch/um/kernel/ksyms.c (any file listed in export-objs in his Makefile would be good, in 2.4; any file at all would be good in 2.6). > The kernel version is 2.4.20 vanilla patched with uml-patch-2.4.20-8. That version is *very* old, in newer versions it should be fixed, however fixing it yourself will be a good exercise. > regards > Suresh -- Paolo Giarrusso, aka Blaisorblade Linux registered user n. 292729 http://www.user-mode-linux.org/~blaisorblade |