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

Nicholas Piggin npiggin at gmail.com
Sat Nov 25 01:08:21 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 575894b75..8e0a394ad 100644
--- a/core/fast-reboot.c
+++ b/core/fast-reboot.c
@@ -432,6 +432,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 (;;)
 		;
@@ -574,9 +577,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