]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc/book3s64/radix: Add kernel command line option to disable radix GTSE
authorAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Mon, 27 Jul 2020 08:59:08 +0000 (14:29 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 29 Jul 2020 11:09:37 +0000 (21:09 +1000)
commita218068e95881ec1fa7349e1b7f276cd640c096a
tree4054f048ea5e51306efb8e0d2e6c50e8f564b92c
parentbd40d2bf335e7f52e3f86bdacb0cd2297f871fa7
powerpc/book3s64/radix: Add kernel command line option to disable radix GTSE

This adds a kernel command line option that can be used to disable GTSE support.
Disabling GTSE implies kernel will make hcalls to invalidate TLB entries.

This was done so that we can do VM migration between configs that enable/disable
GTSE support via hypervisor. To migrate a VM from a system that supports
GTSE to a system that doesn't, we can boot the guest with
radix_hcall_invalidate=on, thereby forcing the guest to use hcalls for TLB
invalidates.

The check for hcall availability is done in pSeries_setup_arch so that
the panic message appears on the console. This should only happen on
a hypervisor that doesn't force the guest to hash translation even
though it can't handle the radix GTSE=0 request via CAS. With
radix_hcall_invalidate=on if the hypervisor doesn't support hcall_rpt_invalidate
hcall it should force the LPAR to hash translation.

Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Tested-by: Bharata B Rao <bharata@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200727085908.420806-1-aneesh.kumar@linux.ibm.com
Documentation/admin-guide/kernel-parameters.txt
arch/powerpc/include/asm/firmware.h
arch/powerpc/kernel/prom_init.c
arch/powerpc/mm/init_64.c
arch/powerpc/platforms/pseries/firmware.c
arch/powerpc/platforms/pseries/setup.c