summaryrefslogtreecommitdiffstats
path: root/core/init.c
diff options
context:
space:
mode:
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>2017-06-24 14:17:28 -0500
committerStewart Smith <stewart@linux.vnet.ibm.com>2017-06-26 14:28:58 +1000
commit1cb276acc130d1dfbd8ce8347d2ee27035178e65 (patch)
tree0bb9234ea5249145fc46d34d3f7fb5b6f4a6570f /core/init.c
parent24726a1f5e41e416b1035f2486870def72a2ce8a (diff)
downloadtalos-skiboot-1cb276acc130d1dfbd8ce8347d2ee27035178e65.tar.gz
talos-skiboot-1cb276acc130d1dfbd8ce8347d2ee27035178e65.zip
cpu: Support setting HID[RADIX] and set it by default on P9
This adds new opal_reinit_cpus() flags to setup radix or hash mode in HID[8] on POWER9. By default HID[8] will be set. On P9 DD1.0, Linux will change it as needed. On P9 DD2.0 hash works in radix mode (radix is really "dual" mode) so KVM won't break and existing kernels will work. Newer kernels built for hash will call this to clear the HID bit and thus get the full size of the TLB as an optimization. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Michael Neuling <mikey@neuling.org> Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'core/init.c')
-rw-r--r--core/init.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/core/init.c b/core/init.c
index 244a78f4..9ffbc72f 100644
--- a/core/init.c
+++ b/core/init.c
@@ -1045,6 +1045,9 @@ void __noreturn __nomcount main_cpu_entry(const void *fdt)
prd_register_reserved_memory();
+ /* On P9, switch to radix mode by default */
+ cpu_set_radix_mode();
+
load_and_boot_kernel(false);
}
OpenPOWER on IntegriCloud