|
@@ -171,7 +171,7 @@ static unsigned long __initdata prom_tce_alloc_start;
|
|
|
static unsigned long __initdata prom_tce_alloc_end;
|
|
|
#endif
|
|
|
|
|
|
-static bool __initdata prom_radix_disable;
|
|
|
+static bool prom_radix_disable __initdata = !IS_ENABLED(CONFIG_PPC_RADIX_MMU_DEFAULT);
|
|
|
|
|
|
struct platform_support {
|
|
|
bool hash_mmu;
|
|
@@ -641,9 +641,19 @@ static void __init early_cmdline_parse(void)
|
|
|
|
|
|
opt = strstr(prom_cmd_line, "disable_radix");
|
|
|
if (opt) {
|
|
|
- prom_debug("Radix disabled from cmdline\n");
|
|
|
- prom_radix_disable = true;
|
|
|
+ opt += 13;
|
|
|
+ if (*opt && *opt == '=') {
|
|
|
+ bool val;
|
|
|
+
|
|
|
+ if (kstrtobool(++opt, &val))
|
|
|
+ prom_radix_disable = false;
|
|
|
+ else
|
|
|
+ prom_radix_disable = val;
|
|
|
+ } else
|
|
|
+ prom_radix_disable = true;
|
|
|
}
|
|
|
+ if (prom_radix_disable)
|
|
|
+ prom_debug("Radix disabled from cmdline\n");
|
|
|
}
|
|
|
|
|
|
#if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV)
|