[PATCH]: Fix RM52xx Support for SGI O2

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




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

[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux