Commit 856d08ec authored by Stephen Rothwell's avatar Stephen Rothwell Committed by Paul Mackerras

[PATCH] powerpc: iSeries needs slb_initialize to be called

Since the powerpc 64k pages patch went in, systems that have SLBs
(like Power4 iSeries) needed to have slb_initialize called to set up
some variables for the SLB miss handler.  This was not being called
on the boot processor on iSeries, so on single cpu iSeries machines,
we would get apparent memory curruption as soon as we entered user mode.

This patch fixes that by calling slb_initialize on the boot cpu if the
processor has an SLB.
Signed-off-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
parent 2c696775
...@@ -215,12 +215,10 @@ void __init early_setup(unsigned long dt_ptr) ...@@ -215,12 +215,10 @@ void __init early_setup(unsigned long dt_ptr)
/* /*
* Initialize stab / SLB management except on iSeries * Initialize stab / SLB management except on iSeries
*/ */
if (!firmware_has_feature(FW_FEATURE_ISERIES)) { if (cpu_has_feature(CPU_FTR_SLB))
if (cpu_has_feature(CPU_FTR_SLB)) slb_initialize();
slb_initialize(); else if (!firmware_has_feature(FW_FEATURE_ISERIES))
else stab_initialize(get_paca()->stab_real);
stab_initialize(get_paca()->stab_real);
}
DBG(" <- early_setup()\n"); DBG(" <- early_setup()\n");
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment