From patchwork Thu Oct 27 15:10:07 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Alex_Benn=C3=A9e?= X-Patchwork-Id: 687749 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [IPv6:2001:4830:134:3::11]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 3t4W8X1kXxz9syB for ; Fri, 28 Oct 2016 02:31:56 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=linaro.org header.i=@linaro.org header.b=OzCaf4Dd; dkim-atps=neutral Received: from localhost ([::1]:42317 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bzmen-0005XV-3Y for incoming@patchwork.ozlabs.org; Thu, 27 Oct 2016 11:31:53 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42538) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bzmKm-0004dN-6x for qemu-devel@nongnu.org; Thu, 27 Oct 2016 11:11:15 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bzmKi-0007ea-10 for qemu-devel@nongnu.org; Thu, 27 Oct 2016 11:11:12 -0400 Received: from mail-wm0-x235.google.com ([2a00:1450:400c:c09::235]:35202) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1bzmKh-0007dp-QF for qemu-devel@nongnu.org; Thu, 27 Oct 2016 11:11:07 -0400 Received: by mail-wm0-x235.google.com with SMTP id e69so40993445wmg.0 for ; Thu, 27 Oct 2016 08:11:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=rC4TdBx8qlsAMnDnC/sdFd/jXSAuYw42LlrdVEpXcqU=; b=OzCaf4DdrP2U5NwYf2cPFdZCuj9YGUcM6WMHCT2BqigJEjQgtOT0UATZP3XuvYUgag 93Ark6ymLL5kV/yKPN+6QodmefLPsyxp/ZQN/lmffVVHd+Nimi+M1jOfVys74Wf2ldQD fdY9xyIg/kk/ErFqGkNohTLk9ZqXY1svn5J1o= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=rC4TdBx8qlsAMnDnC/sdFd/jXSAuYw42LlrdVEpXcqU=; b=h1ibjl+G/vIoKpDQOsbHJsvote73hMaXUZqPriaqnnUib/G7pJpya0MsfVnTybN6Ft dbb1khLdobvEUVn0A4VAePPDQWyiCJKsc7HVzI7lz+DjZc3S+cjGfth2tDCDUMM0w1OD Z+RAqN+56tFVxRDoPdbP5eXqHo1UKhqvxPNgyk2semsQgnuTSrVciSclaDp07Ri4lmbO S601NSwGLCfdzZUKHwyaZVxLgBIm1ouJQ/H7eXDsC0Qud1V77J1wVXzYBS/7gq2plzyp U5wFMyDHbsefgmB29kakyeH4ywFmoDonawM4qsmhzuMXiW9hJdizcGM0rhqOk47Te1s+ jLKg== X-Gm-Message-State: ABUngvdwhbsstBU5JJNfjO1HLo65UJKVmfkamsEu77pb83fKnSI34Juz3qiNVzBzaTw+dCyL X-Received: by 10.28.224.215 with SMTP id x206mr8821368wmg.77.1477581066771; Thu, 27 Oct 2016 08:11:06 -0700 (PDT) Received: from zen.linaro.local ([81.128.185.34]) by smtp.gmail.com with ESMTPSA id p4sm9002898wjo.9.2016.10.27.08.11.02 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 27 Oct 2016 08:11:04 -0700 (PDT) Received: from zen.linaroharston (localhost [127.0.0.1]) by zen.linaro.local (Postfix) with ESMTP id D0ADE3E0312; Thu, 27 Oct 2016 16:10:59 +0100 (BST) From: =?UTF-8?q?Alex=20Benn=C3=A9e?= To: pbonzini@redhat.com Date: Thu, 27 Oct 2016 16:10:07 +0100 Message-Id: <20161027151030.20863-11-alex.bennee@linaro.org> X-Mailer: git-send-email 2.10.1 In-Reply-To: <20161027151030.20863-1-alex.bennee@linaro.org> References: <20161027151030.20863-1-alex.bennee@linaro.org> MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2a00:1450:400c:c09::235 Subject: [Qemu-devel] [PATCH v5 10/33] target-arm/arm-powerctl: wake up sleeping CPUs X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: mttcg@listserver.greensocs.com, peter.maydell@linaro.org, claudio.fontana@huawei.com, nikunj@linux.vnet.ibm.com, jan.kiszka@siemens.com, mark.burton@greensocs.com, a.rigo@virtualopensystems.com, qemu-devel@nongnu.org, cota@braap.org, "open list:ARM" , Alexander Spyridakis , serge.fdrv@gmail.com, bobby.prani@gmail.com, rth@twiddle.net, =?UTF-8?q?Alex=20Benn=C3=A9e?= , fred.konrad@greensocs.com Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: "Qemu-devel" 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 kick the vCPU once we have processed the PSCI power on call. As the power control API is for system emulation only as is the qemu_kick_cpu function we also ensure we only build arm-powerctl for SoftMMU builds. Tested-by: Alex Bennée CC: Alexander Spyridakis Message-Id: <1439220437-23957-20-git-send-email-fred.konrad@greensocs.com> Signed-off-by: Alex Bennée Signed-off-by: Paolo Bonzini --- v3 - re-base caught arm_powerctl re-factor - include cpu.h header for kick definition - fix Makefile.objs to only build for softmmu --- target-arm/Makefile.objs | 2 +- target-arm/arm-powerctl.c | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/target-arm/Makefile.objs b/target-arm/Makefile.objs index f206411..847fb52 100644 --- a/target-arm/Makefile.objs +++ b/target-arm/Makefile.objs @@ -9,4 +9,4 @@ obj-y += neon_helper.o iwmmxt_helper.o obj-y += gdbstub.o obj-$(TARGET_AARCH64) += cpu64.o translate-a64.o helper-a64.o gdbstub64.o obj-y += crypto_helper.o -obj-y += arm-powerctl.o +obj-$(CONFIG_SOFTMMU) += arm-powerctl.o diff --git a/target-arm/arm-powerctl.c b/target-arm/arm-powerctl.c index 6519d52..fbb7a15 100644 --- a/target-arm/arm-powerctl.c +++ b/target-arm/arm-powerctl.c @@ -166,6 +166,8 @@ int arm_set_cpu_on(uint64_t cpuid, uint64_t entry, uint64_t context_id, /* Start the new CPU at the requested address */ cpu_set_pc(target_cpu_state, entry); + qemu_cpu_kick(target_cpu_state); + /* We are good to go */ return QEMU_ARM_POWERCTL_RET_SUCCESS; }