powerpc/mm/radix: Add a kernel command line to disable radix

This patch adds the kernel command line disable_radix which disable
the radix MMU mode even if firmware indicates radix support via
ibm,pa-features device tree node.

This helps in testing different MMU mode easily.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Aneesh Kumar K.V 2016-07-13 15:05:31 +05:30 committed by Michael Ellerman
parent 912cc87a65
commit b275bfb269
2 changed files with 16 additions and 0 deletions

View File

@ -929,6 +929,9 @@ bytes respectively. Such letter suffixes can also be entirely omitted.
disable= [IPV6] disable= [IPV6]
See Documentation/networking/ipv6.txt. See Documentation/networking/ipv6.txt.
disable_radix [PPC]
Disable RADIX MMU mode on POWER9
disable_cpu_apicid= [X86,APIC,SMP] disable_cpu_apicid= [X86,APIC,SMP]
Format: <int> Format: <int>
The number of initial APIC ID for the The number of initial APIC ID for the

View File

@ -646,6 +646,14 @@ static void __init early_reserve_mem(void)
#endif #endif
} }
static bool disable_radix;
static int __init parse_disable_radix(char *p)
{
disable_radix = true;
return 0;
}
early_param("disable_radix", parse_disable_radix);
void __init early_init_devtree(void *params) void __init early_init_devtree(void *params)
{ {
phys_addr_t limit; phys_addr_t limit;
@ -735,6 +743,11 @@ void __init early_init_devtree(void *params)
*/ */
spinning_secondaries = boot_cpu_count - 1; spinning_secondaries = boot_cpu_count - 1;
#endif #endif
/*
* now fixup radix MMU mode based on kernel command line
*/
if (disable_radix)
cur_cpu_spec->mmu_features &= ~MMU_FTR_RADIX;
#ifdef CONFIG_PPC_POWERNV #ifdef CONFIG_PPC_POWERNV
/* Scan and build the list of machine check recoverable ranges */ /* Scan and build the list of machine check recoverable ranges */