In order to compile mvia-1.0 with gcc 2.95.2, I needed to apply the attached patch. It updates the _set_gate macro to the one given in linux-2.3.39/arch/i386/kernel/traps.c. The particular bug in question is explained at http://gcc.gnu.org/cgi-bin/fom.cgi?file=23 Without this patch, the compiler complains /usr/bin/gcc -pipe -Wall -Wstrict-prototypes -Werror -O6 -fomit-frame-pointer -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586 -DVIA -I/usr/src/linux-2.2.12/include -D__SMP__ -I/home/adi/mvia-1.0-dist/src/vipl -DMVIA_CHAR_MAJOR=60 -include /usr/src/linux-2.2.12/include/linux/modversions.h -D__KERNEL__ -DLINUX -DMODVERSIONS -DMODULE -DVIPK_MAX_MAPPABLE_PAGES=4096 -c -o vipk.o vipk.c vipk.c: In function `init_module': vipk.c:932: Invalid `asm' statement: vipk.c:932: fixed or forbidden register 0 (ax) was spilled for class AREG.
However, there will be a new M-VIA 1.x release made for the 2.4.x kernels. However, we have no estimate for when this 2.4.x-compatible M-VIA release will be avialable.
VipDeregisterMem
call sometimes fails when it
shouldn't.