mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-15 23:14:31 +08:00
[POWERPC] dont allow pSeries_probe to succeed without initialising MMU
pSeries_probe can decide that we are a pseries but then fail to initialise the MMU. If an rtas node doesnt exist, we continually fall out of pSeries_probe_hypertas early and never get to the MMU init code. While pseries without RTAS is an illegal combination, the way we currently fail is a pain to track down, and can happen if your flattened device tree code has issues (like mine did :). With the following patch we init the MMU, come up and print some warnings about RTAS not existing, instead of looping on 0x400 exceptions. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Paul Mackerras <paulus@samba.org>
This commit is contained in:
parent
5773bbcdec
commit
a223535425
@ -422,11 +422,6 @@ static int __init pSeries_probe_hypertas(unsigned long node,
|
||||
if (of_get_flat_dt_prop(node, "ibm,hypertas-functions", NULL) != NULL)
|
||||
powerpc_firmware_features |= FW_FEATURE_LPAR;
|
||||
|
||||
if (firmware_has_feature(FW_FEATURE_LPAR))
|
||||
hpte_init_lpar();
|
||||
else
|
||||
hpte_init_native();
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
@ -452,6 +447,11 @@ static int __init pSeries_probe(void)
|
||||
/* Now try to figure out if we are running on LPAR */
|
||||
of_scan_flat_dt(pSeries_probe_hypertas, NULL);
|
||||
|
||||
if (firmware_has_feature(FW_FEATURE_LPAR))
|
||||
hpte_init_lpar();
|
||||
else
|
||||
hpte_init_native();
|
||||
|
||||
DBG("Machine is%s LPAR !\n",
|
||||
(powerpc_firmware_features & FW_FEATURE_LPAR) ? "" : " not");
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user