: Fix RM52xx Support for SGI O2
PATCH 1/1 : Fix RM52xx Support for SGI O2
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
Signature · 4 lines
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
arch/mips/Kconfig +1 -0
@@ -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
include/asm-mips/mach-ip32/cpu-feature-overrides.h +1 -1
@@ -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