diff options
author | Oliver O'Halloran <oohall@gmail.com> | 2021-06-25 11:49:32 +0530 |
---|---|---|
committer | Vasant Hegde <hegdevasant@linux.vnet.ibm.com> | 2021-06-30 15:05:55 +0530 |
commit | d8d56c0d03987c5ed26807b9329506826391221b (patch) | |
tree | 8c6d72a1eff6566773a5ab82e09f57c9f72b7de8 /core | |
parent | 1848a7212a3275a550ddc808939d1be98830bf71 (diff) | |
download | skiboot-d8d56c0d03987c5ed26807b9329506826391221b.zip skiboot-d8d56c0d03987c5ed26807b9329506826391221b.tar.gz skiboot-d8d56c0d03987c5ed26807b9329506826391221b.tar.bz2 |
fast-reboot: Fix the bonus cleanup_cpu_state()
Signed-off-by: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Cédric Le Goater <clg@kaod.org>
Signed-off-by: Vaidyanathan Srinivasan <svaidy@linux.ibm.com>
Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Diffstat (limited to 'core')
-rw-r--r-- | core/fast-reboot.c | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/core/fast-reboot.c b/core/fast-reboot.c index 0377754..ac9b3b2 100644 --- a/core/fast-reboot.c +++ b/core/fast-reboot.c @@ -264,8 +264,11 @@ static void cleanup_cpu_state(void) xive_cpu_reset(); /* Per core cleanup */ - if (cpu_is_thread0(cpu)) { - /* XXX should reset the SLW SPR restore values*/ + if (cpu_is_thread0(cpu) || cpu_is_core_chiplet_primary(cpu)) { + /* Shared SPRs whacked back to normal */ + + /* XXX Update the SLW copies ! Also dbl check HIDs etc... */ + init_shared_sprs(); if (proc_gen == proc_gen_p8) { /* If somebody was in fast_sleep, we may have a @@ -286,6 +289,11 @@ static void cleanup_cpu_state(void) /* And we might have lost TB sync */ chiptod_wakeup_resync(); } + + /* Per-thread additional cleanup */ + init_replicated_sprs(); + + // XXX Cleanup SLW, check HIDs ... } /* Entry from asm after a fast reset */ |