[2.4.20] e1000 as module gives unresolved symbol _mmx_memcpy
Hi,
While trying to use the e1000 as a module with kernel 2.4.20 it gives me a unresolved symbol while trying to insmod the module. The offending symbol is _mmx_memcpy. When the driver is compiled into the kernel there's no problem.
I am running the kernel on a VIA Eden with 800MHz C3. Does this have something to do with the fact that kernels for the VIA C3 are now compiled with i486 optimisations (so maybe no MMX support?)?
Cheers,
Jurgen
Quoted 10 lines · Jurgen Kramer
Hi,
While trying to use the e1000 as a module with kernel 2.4.20 it gives me a unresolved symbol while trying to insmod the module. The offending symbol is
_mmx_memcpy. When the driver is compiled into the kernel there's no problem.I am running the kernel on a VIA Eden with 800MHz C3. Does this have something to do with the fact that kernels for the VIA C3 are now compiled with i486 optimisations (so maybe no MMX support?)?
Make sure you build from distclean if you've built for other cpu options before. (cp .config ..; make distclean; cp ../.config .config; make oldconfig..
Thanks, I was thinking along the same lines after discovering that a lot of other modules had the same problem...:-) After a mrproper everything is working OK now.
But just to get a complete picture, does it mean that
a) a kernel build for a VIA C3 doesn't use MMX, userspace programs can still use it
or
b) Both kernel and userspace can't use MMX any more
If option b) would be true a lot of people who are using the VIA Eden platform to view Divx and other multimedia material will be probably be hurt performance wise. If the MMX implementation on the C3 is any good.
Greetings,
Jurgen
Quoted 2 lines · Jurgen Kramer
a) a kernel build for a VIA C3 doesn't use MMX, userspace programs can still use it
Basically true. It might be instructive to do more benching on this with the C3 and MMX especially if the new cores add full prefetch stuff
Quoted 1 line
b) Both kernel and userspace can't use MMX any more
MMX is designed to need no OS support. SSE/SSE2 do need OS helpers but not MMX.