aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSuraj Jitindar Singh <sjitindarsingh@gmail.com>2017-02-28 01:03:47 -0500
committerMichael Ellerman <mpe@ellerman.id.au>2017-03-06 05:44:08 -0500
commit12cc9fd6b2d8ee307a735b3b9faed0d17b719463 (patch)
tree8af6ff63d0cf4b3fa2fbaf1bbd6ef0481b4c073f
parenta69e2fb70350a66f91175cd2625f1e8215c5b6e9 (diff)
powerpc: Parse the command line before calling CAS
On POWER9 the hypervisor requires the guest to decide whether it would like to use a hash or radix mmu model at the time it calls ibm,client-architecture-support (CAS) based on what the hypervisor has said it's allowed to do. It is possible to disable radix by passing "disable_radix" on the command line. The next patch will add support for the new CAS format, thus we need to parse the command line before calling CAS so we can correctly select which mmu we would like to use. Signed-off-by: Suraj Jitindar Singh <sjitindarsingh@gmail.com> Reviewed-by: Paul Mackerras <paulus@ozlabs.org> Acked-by: Balbir Singh <bsingharora@gmail.com> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
-rw-r--r--arch/powerpc/kernel/prom_init.c10
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/powerpc/kernel/prom_init.c b/arch/powerpc/kernel/prom_init.c
index a3944540fe0d..bf3966d12565 100644
--- a/arch/powerpc/kernel/prom_init.c
+++ b/arch/powerpc/kernel/prom_init.c
@@ -2993,6 +2993,11 @@ unsigned long __init prom_init(unsigned long r3, unsigned long r4,
2993 */ 2993 */
2994 prom_check_initrd(r3, r4); 2994 prom_check_initrd(r3, r4);
2995 2995
2996 /*
2997 * Do early parsing of command line
2998 */
2999 early_cmdline_parse();
3000
2996#if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV) 3001#if defined(CONFIG_PPC_PSERIES) || defined(CONFIG_PPC_POWERNV)
2997 /* 3002 /*
2998 * On pSeries, inform the firmware about our capabilities 3003 * On pSeries, inform the firmware about our capabilities
@@ -3009,11 +3014,6 @@ unsigned long __init prom_init(unsigned long r3, unsigned long r4,
3009 copy_and_flush(0, kbase, 0x100, 0); 3014 copy_and_flush(0, kbase, 0x100, 0);
3010 3015
3011 /* 3016 /*
3012 * Do early parsing of command line
3013 */
3014 early_cmdline_parse();
3015
3016 /*
3017 * Initialize memory management within prom_init 3017 * Initialize memory management within prom_init
3018 */ 3018 */
3019 prom_init_mem(); 3019 prom_init_mem();