diff options
-rw-r--r-- | external/mambo/skiboot.tcl | 18 | ||||
-rw-r--r-- | hw/xscom.c | 2 |
2 files changed, 16 insertions, 4 deletions
diff --git a/external/mambo/skiboot.tcl b/external/mambo/skiboot.tcl index 91617b7..8038d2a 100644 --- a/external/mambo/skiboot.tcl +++ b/external/mambo/skiboot.tcl @@ -144,9 +144,11 @@ if { $default_config == "P9" } { } if { $default_config == "P10" } { - # PVR configured for POWER10 DD1.0 - myconf config processor/initial/PVR 0x800100 - myconf config processor/initial/SIM_CTRL1 0xc228100400000000 + # PVR configured for POWER10 DD2.0, big-core, LPAR-per-thread + # Small-core has bit 0x1000 set. + myconf config processor/initial/PVR 0x800200 + myconf config processor/initial/SIM_CTRL 0x0c1dd60000000000 + myconf config processor/initial/SIM_CTRL1 0xc0400c0400040a40 if { $mconf(numa) } { myconf config memory_region_id_shift 44 @@ -164,6 +166,16 @@ if { [info exists env(SKIBOOT_SIMCONF)] } { define machine myconf mysim +# Some mambo does not expose SIM_CTRL as a config option. Also set the SPRs +# after machine is defined. +if { $default_config == "P10" } { + for { set c 0 } { $c < $mconf(cpus) } { incr c } { + for { set t 0 } { $t < $mconf(threads) } { incr t } { + mysim mcm 0 cpu $c thread $t set spr ctrl 0x0c1dd60000000000 + } + } +} + # # Include various utilities # @@ -826,7 +826,7 @@ int64_t xscom_read_cfam_chipid(uint32_t partid, uint32_t *chip_id) */ if (chip_quirk(QUIRK_NO_F000F)) { if (proc_gen == proc_gen_p10) - val = 0x120DA04980000000UL; /* P10 DD1.0 */ + val = 0x220DA04980000000UL; /* P10 DD2.0 */ else if (proc_gen == proc_gen_p9) val = 0x203D104980000000UL; /* P9 Nimbus DD2.3 */ else |