On Sat, May 27, 2006 at 04:26:17AM +0200, Tom Weustink wrote:
> I finally got a round building a toolchain for creating kernels for my
> SGI O2+ RM7000 machine.
> I did a ip32_defconfig and used menuconfig to edit some small options.
> One was to set it too RM7000 obviously.
> When I build it, I get the following error:
> CC arch/mips/kernel/traps.o
> arch/mips/kernel/traps.c: In function `set_uncached_handler':
> arch/mips/kernel/traps.c:1360: error: `TO_PHYS_MASK' undeclared (first
> use in this function)
> When I build it for R5000 (only that changed in menuconfig) the compile
> runs without a problem.
> Checking arch/mips/kernel/traps.c:1360 shows that installs the uncached
> CPU exception handler to UNCAC.
> Now I know the RM7000 is kinda weird, but shouldn't it just work on it
> since it does work on R5000 since it's MIPS64?
> I also heard from `Kumba that the kernel won't boot at all due to a bug
> in IP32 so that it hangs extremely early, but having it to just built
> would be nice for me atm.
The build error part was trivial, fix below.
Author: Ralf Baechle <firstname.lastname@example.org>
Date: Tue May 30 15:55:05 2006 +0100
[MIPS] Fix 64-bit build for RM7000.
RM7000 has 40-bit virtual / 36-bit physical address space.
Signed-off-by: Ralf Baechle <email@example.com>
diff --git a/include/asm-mips/addrspace.h b/include/asm-mips/addrspace.h
index 42520cc..1386af1 100644
@@ -129,6 +129,7 @@ #define PHYS_TO_XKPHYS(cm,a) (_LLCONST_
#if defined (CONFIG_CPU_R4300) \
|| defined (CONFIG_CPU_R4X00) \
|| defined (CONFIG_CPU_R5000) \
+ || defined (CONFIG_CPU_RM7000) \
|| defined (CONFIG_CPU_NEVADA) \
|| defined (CONFIG_CPU_TX49XX) \
|| defined (CONFIG_CPU_MIPS64)