On SGI IP28 systems, fix an early crash at boot by setting IO_BASE to a correct value so that ioremap works properly. Exception: <vector=normal> Status register: 0x34004882<CU1,CU0,FR,IM7,IM4,IPL=???,KX,MODE=KERNEL> Cause register: 0x10<CE=0,EXC=RADE> Exception PC: 0xa800000020654004, Exception RA: 0xa800000020654c9c Read address error exception, bad address: 0xdfbdd600 Signed-off-by: Joshua Kinard <kumba@xxxxxxxxxx> Reported-by: Joshua Kinard <kumba@xxxxxxxxxx> Suggested-by: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Tested-by: Joshua Kinard <kumba@xxxxxxxxxx> Fixes: ed3ce16c3d2b ("Revert "MIPS: make CAC_ADDR and UNCAC_ADDR account for PHYS_OFFSET"") --- arch/mips/include/asm/mach-ip28/spaces.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/mips/include/asm/mach-ip28/spaces.h b/arch/mips/include/asm/mach-ip28/spaces.h index 5d6a764..8c60fb0 100644 --- a/arch/mips/include/asm/mach-ip28/spaces.h +++ b/arch/mips/include/asm/mach-ip28/spaces.h @@ -18,7 +18,7 @@ #define PHYS_OFFSET _AC(0x20000000, UL) #define UNCAC_BASE _AC(0xc0000000, UL) /* 0xa0000000 + PHYS_OFFSET */ -#define IO_BASE UNCAC_BASE +#define IO_BASE _AC(0x9000000000000000, UL) #include <asm/mach-generic/spaces.h>