linux-mips
[Top] [All Lists]

[PATCH]: Fix RM52xx Support for SGI O2

To: Linux MIPS List <linux-mips@linux-mips.org>
Subject: [PATCH]: Fix RM52xx Support for SGI O2
From: Kumba <kumba@gentoo.org>
Date: Thu, 19 Jan 2006 09:16:23 -0500
Cc: Ralf Baechle <ralf@linux-mips.org>
Original-recipient: rfc822;linux-mips@linux-mips.org
Sender: linux-mips-bounce@linux-mips.org
User-agent: Thunderbird 1.5 (Windows/20051201)

SGI O2 systems can use the rare RM5200 CPU board (Nevada). Building the kernel with RM52xx selected, will however, cause an ARCS Exception at bootup because the kernel was built with cpu_has_llsc defined.

Changing the macro check in asm-mips/mach-ip32/cpu-feature-overrides.h to check for both CPU_R5000 or CPU_NEVADA and CPU_64BIT will fix the issue by defining cpu_has_llsc to 0. The patch below does this, allowing an RM52xx kernel to be booted on SGI O2 systems. It also allows such a CPU to be selected in menuconfig on O2 as well.


--Kumba

--
Gentoo/MIPS Team Lead
Gentoo Foundation Board of Trustees

"Such is oft the course of deeds that move the wheels of the world: small hands do them because they must, while the eyes of the great are elsewhere." --Elrond
diff -Naurp linux-2.6.14.6.orig/arch/mips/Kconfig 
linux-2.6.14.6/arch/mips/Kconfig
--- linux-2.6.14.6.orig/arch/mips/Kconfig       2006-01-19 01:36:52.000000000 
-0500
+++ linux-2.6.14.6/arch/mips/Kconfig    2006-01-19 01:44:23.000000000 -0500
@@ -594,6 +594,7 @@ config SGI_IP32
        select SYS_HAS_CPU_R5000
        select SYS_HAS_CPU_R10000 if BROKEN
        select SYS_HAS_CPU_RM7000
+       select SYS_HAS_CPU_NEVADA
        select SYS_SUPPORTS_64BIT_KERNEL
        select SYS_SUPPORTS_BIG_ENDIAN
        help
diff -Naurp 
linux-2.6.14.6.orig/include/asm-mips/mach-ip32/cpu-feature-overrides.h 
linux-2.6.14.6/include/asm-mips/mach-ip32/cpu-feature-overrides.h
--- linux-2.6.14.6.orig/include/asm-mips/mach-ip32/cpu-feature-overrides.h      
2006-01-19 01:36:52.000000000 -0500
+++ linux-2.6.14.6/include/asm-mips/mach-ip32/cpu-feature-overrides.h   
2006-01-19 01:44:52.000000000 -0500
@@ -18,7 +18,7 @@
  * so, for 64bit IP32 kernel we just don't use ll/sc.
  * This does not affect luserland.
  */
-#if defined(CONFIG_CPU_R5000) && defined(CONFIG_64BIT)
+#if (defined(CONFIG_CPU_R5000) || defined(CONFIG_CPU_NEVADA)) && 
defined(CONFIG_64BIT)
 #define cpu_has_llsc           0
 #else
 #define cpu_has_llsc           1
<Prev in Thread] Current Thread [Next in Thread>
  • [PATCH]: Fix RM52xx Support for SGI O2, Kumba <=