From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:59377) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7mh2-0006ml-MN for qemu-devel@nongnu.org; Wed, 24 Jun 2015 11:34:29 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Z7mgy-0000N5-Nl for qemu-devel@nongnu.org; Wed, 24 Jun 2015 11:34:28 -0400 Received: from static.88-198-71-155.clients.your-server.de ([88.198.71.155]:49736 helo=socrates.bennee.com) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Z7mgy-0000Mr-IN for qemu-devel@nongnu.org; Wed, 24 Jun 2015 11:34:24 -0400 From: =?UTF-8?q?Alex=20Benn=C3=A9e?= Date: Wed, 24 Jun 2015 16:34:44 +0100 Message-Id: <1435160084-938-1-git-send-email-alex.bennee@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Qemu-devel] [RFC PATCH] target-arm/psci.c: wake up sleeping CPUs (MTTCG) List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: mttcg@listserver.greensocs.com, mark.burton@greensocs.com, fred.konrad@greensocs.com Cc: peter.maydell@linaro.org, =?UTF-8?q?Alex=20Benn=C3=A9e?= , qemu-devel@nongnu.org, Alexander Spyridakis Testing with Alexander's bare metal syncronisation tests fails in MTTCG leaving one CPU spinning forever waiting for the second CPU to wake up. We simply need to poke the halt_cond once we have processed the PSCI power on call. Tested-by: Alex Bennée CC: Alexander Spyridakis --- TODO - exactly how does the vexpress wake up it's sleeping CPUs? --- target-arm/psci.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/target-arm/psci.c b/target-arm/psci.c index d8fafab..661ff28 100644 --- a/target-arm/psci.c +++ b/target-arm/psci.c @@ -196,6 +196,8 @@ void arm_handle_psci_call(ARMCPU *cpu) } target_cpu_class->set_pc(target_cpu_state, entry); + qemu_cond_signal(target_cpu_state->halt_cond); + ret = 0; break; case QEMU_PSCI_0_1_FN_CPU_OFF: -- 2.4.3