[Skiboot] [PATCH v3 12/29] fast-reboot: move de-asserting of special wakeups to the initiator

Nicholas Piggin npiggin at gmail.com
Wed Nov 29 16:36:50 AEDT 2017


Currently the boot CPU (not the initiator) clears special wakeups
after all CPUs have called in. After the earlier change to have the
initiator wait for secondaries before calling in, this is no longer
necessary.

Have the initiator finish the entire sreset sequence, clearing special
wakeups after all others have called in.

Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
---
 core/fast-reboot.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/core/fast-reboot.c b/core/fast-reboot.c
index 679e1ca3e..15e902ebb 100644
--- a/core/fast-reboot.c
+++ b/core/fast-reboot.c
@@ -434,6 +434,9 @@ void fast_reboot(void)
 	if (!cpu_state_wait_all_others(cpu_state_present, msecs_to_tb(100)))
 		return;
 
+	prlog(PR_DEBUG, "RESET: Releasing special wakeups...\n");
+	sreset_all_finish();
+
 	asm volatile("ba	0x100\n\t" : : : "memory");
 	for (;;)
 		;
@@ -576,9 +579,6 @@ void __noreturn fast_reboot_entry(void)
 	/* Wait for them to respond */
 	cpu_state_wait_all_others(cpu_state_active, 0);
 
-	prlog(PR_DEBUG, "RESET: Releasing special wakeups...\n");
-
-	sreset_all_finish();
 	sync();
 
 	prlog(PR_INFO, "RESET: All done, cleaning up...\n");
-- 
2.15.0



More information about the Skiboot mailing list