Damian Dimmich wrote:
[snip]
> 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.
You could try the patch in http://people.debian.org/~ths/foo/ip22-eisa.diff
which fixes that problem. I don't have the hardware to test it, and so far
nobody else cared to tell me if works.
Thiemo
|