diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2017-06-24 14:17:28 -0500 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-06-26 14:28:58 +1000 |
commit | 1cb276acc130d1dfbd8ce8347d2ee27035178e65 (patch) | |
tree | 0bb9234ea5249145fc46d34d3f7fb5b6f4a6570f /core/init.c | |
parent | 24726a1f5e41e416b1035f2486870def72a2ce8a (diff) | |
download | talos-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.c | 3 |
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); } |