aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel/prom_init.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-09-28 16:51:46 -0400
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2011-09-29 03:04:59 -0400
commit7680057cc4c7d9caada12767831bfd9738dd7b43 (patch)
treec6bc6729a25f1abcad6186bfd1956b15b93757e6 /arch/powerpc/kernel/prom_init.c
parentd15f02eb4e8992cfacfca2ff306e5585bcf721d1 (diff)
powerpc: Don't try OPAL takeover on old 970 blades
The firmware on old 970 blades supports some kind of takeover called "TNK takeover" which will crash if we try to probe for OPAL takeover, so don't do it. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/kernel/prom_init.c')
-rw-r--r--arch/powerpc/kernel/prom_init.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index e96f5d0d2c78..b4fa66127495 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -1313,6 +1313,16 @@ static void prom_query_opal(void)
1313{ 1313{
1314 long rc; 1314 long rc;
1315 1315
1316 /* We must not query for OPAL presence on a machine that
1317 * supports TNK takeover (970 blades), as this uses the same
1318 * h-call with different arguments and will crash
1319 */
1320 if (PHANDLE_VALID(call_prom("finddevice", 1, 1,
1321 ADDR("/tnk-memory-map")))) {
1322 prom_printf("TNK takeover detected, skipping OPAL check\n");
1323 return;
1324 }
1325
1316 prom_printf("Querying for OPAL presence... "); 1326 prom_printf("Querying for OPAL presence... ");
1317 rc = opal_query_takeover(&RELOC(prom_opal_size), 1327 rc = opal_query_takeover(&RELOC(prom_opal_size),
1318 &RELOC(prom_opal_align)); 1328 &RELOC(prom_opal_align));