From 9b85f7d961f21ec482559914e957ba233e29efd2 Mon Sep 17 00:00:00 2001 From: Nicholas Piggin Date: Tue, 9 Nov 2021 17:59:32 +1000 Subject: hdata: add mmu-pid-bits and mmu-lpid-bits for POWER10 CPUs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This adds ibm,mmu-pid-bits and a new ibm,mmu-lpid-bits to POWER10 CPUs. POWER9 Linux has some workarounds for processors bugs that means it's probably safer to not add the entries there. Linux already hard codes these values correctly on these processors, but this allows more flexibility to change things. Signed-off-by: Nicholas Piggin Signed-off-by: Cédric Le Goater --- external/mambo/skiboot.tcl | 5 +++++ hdata/cpu-common.c | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/external/mambo/skiboot.tcl b/external/mambo/skiboot.tcl index fb6c935..ebabeb7 100644 --- a/external/mambo/skiboot.tcl +++ b/external/mambo/skiboot.tcl @@ -553,6 +553,11 @@ for { set c 0 } { $c < $mconf(cpus) } { incr c } { mysim of addprop $cpu_node array64 "ibm,pa-features" reg } + if { $default_config == "P10" } { + mysim of addprop $cpu_node int "ibm,mmu-pid-bits" 20 + mysim of addprop $cpu_node int "ibm,mmu-lpid-bits" 12 + } + set irqreg [list] for { set t 0 } { $t < $mconf(threads) } { incr t } { mysim mcm 0 cpu $c thread $t set spr pc $mconf(boot_pc) diff --git a/hdata/cpu-common.c b/hdata/cpu-common.c index bf821c1..2248f9b 100644 --- a/hdata/cpu-common.c +++ b/hdata/cpu-common.c @@ -123,6 +123,10 @@ struct dt_node * add_core_common(struct dt_node *cpus, if (proc_gen >= proc_gen_p9) dt_add_property_cells(cpu, "ibm,processor-radix-AP-encodings", 0x0000000c, 0xa0000010, 0x20000015, 0x4000001e); + if (proc_gen >= proc_gen_p10) { + dt_add_property_cells(cpu, "ibm,mmu-pid-bits", 20); + dt_add_property_cells(cpu, "ibm,mmu-lpid-bits", 12); + } /* HPT segment page size encodings, common to all supported CPUs */ dt_add_property_cells(cpu, "ibm,segment-page-sizes", -- cgit v1.1