Hello, I had some trouble compiling 2.6.13 for the mips architecture. I encountered two errors: 1) In the file include/asm-mips/thread_info.h TIF_32BIT was undefined. I added the following two lines which showed up in parisc and ppc64 's thread-info's. Don't know if these values are correct or if this actually works. It just gets it to compile... #define TIF_32BIT 5 /* 32 bit binary */ #define _TIF_32BIT (1<<TIF_32BIT) The error was in drivers/input/evdev.c which includes include/asm-mips/thread_info.h The error was: CC [M] drivers/input/evdev.o drivers/input/evdev.c: In function `evdev_write': drivers/input/evdev.c:193: error: `TIF_32BIT' undeclared (first use in this function) drivers/input/evdev.c:193: error: (Each undeclared identifier is reported only once drivers/input/evdev.c:193: error: for each function it appears in.) drivers/input/evdev.c: In function `evdev_read': drivers/input/evdev.c:254: error: `TIF_32BIT' undeclared (first use in this function) 2) When linking .tmp_vmlinux1, KSEG1ADDR and KSEG1 where reported as undefined and linking failed. LD .tmp_vmlinux1 arch/mips/sgi-ip22/built-in.o(.text+0x2854): In function `ip22_eisa_intr': : undefined reference to `KSEG1ADDR' arch/mips/sgi-ip22/built-in.o(.text+0x2864): In function `ip22_eisa_intr': : undefined reference to `KSEG1ADDR' arch/mips/sgi-ip22/built-in.o(.text+0x2870): In function `ip22_eisa_intr': : undefined reference to `KSEG1ADDR' arch/mips/sgi-ip22/built-in.o(.text+0x28ac): In function `ip22_eisa_intr': : undefined reference to `KSEG1ADDR' arch/mips/sgi-ip22/built-in.o(.text+0x28c0): In function `ip22_eisa_intr': : undefined reference to `KSEG1ADDR' arch/mips/sgi-ip22/built-in.o(.text+0x293c): more undefined references to `KSEG1ADDR' follow make: *** [.tmp_vmlinux1] Error 1 I fixed this by adding the lines: #define KSEG1ADDR(a) (CPHYSADDR(a) | KSEG1) #define KSEG1 0xa0000000 at the top of the file arch/mips/sgi-ip22/ip22-eisa.c These are copied from include/asm/addrspace.h I found it quite strange that it only failed when linking the kernel and not earlier. The file asm/addrspace.h is included in ip22-eisa.c eisa support is enabled and i'm compiling a 64 bit kernel. gcc is: Reading specs from /usr/mips/lib/gcc-lib/mips-linux/3.3.3/specs Configured with: ../configure --prefix=/usr/mips --exec-prefix=/usr/mips --target=mips-linux --enable-shared --disable-nls --disable-multilib --enable-languages=c,c++,ada,f77,objc Thread model: posix gcc version 3.3.3 (Debian) Cheers, Damian
34c34,35 < #include <asm/addrspace.h> --- > //#include <asm/addrspace.h> > #include <asm-mips/addrspace.h> 39a41,45 > //Force redefine.. seems to fail to find it when linking kernel itself. > //This is probably no good.. > #define KSEG1ADDR(a) (CPHYSADDR(a) | KSEG1) > #define KSEG1 0xa0000000 >
38a39,45 > /*Copied these from parisc and ppc64 - don't know any better. TIF_32BIT was > * undefined when compiling for mips in drivers/input/evdev.c I do not > * understand this code. Just guessing...*/ > #define TIF_32BIT 5 /* 32 bit binary */ > #define _TIF_32BIT (1<<TIF_32BIT) > >