aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-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));