From nobody Thu May 2 23:05:37 2024 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=linux.alibaba.com ARC-Seal: i=1; a=rsa-sha256; t=1593780697; cv=none; d=zohomail.com; s=zohoarc; b=B4YgnrkwGODlMCerEFgU7mvNtVttHzJFJlM3nohsMwRbiwDXvbXLWPgegVlyFqy11Ut8HVALvbaYRZExEmenGZcaLt63cjxVVezLh2iyWx4dem7W/3cIAZApyEMh5oKHdBg3oK/JCJf24kLappvt1Ex33f3LK2kcvx72k9vIdgg= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593780697; h=Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:Message-ID:Sender:Subject:To; bh=UiV3falrmBXnsunpHwoAkLu/+4FGqBPMmmPfCz36HWI=; b=R1QeLkpv1geFf2yeAz3Qpj2TjeQmSBkYN00A022LBEAh7/aomHRFYtOGO2d2vhbUtZy8ml6yyu9hym9awYanW+Yd5LUSonBCLy3mEC4hvo6rt2TaSJH74BwZvxLKdz/4dxY47Is/XW0YLxlQgKaopidWS73B176IRHXCELj7AFE= ARC-Authentication-Results: i=1; mx.zohomail.com; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593780697742329.0766631015873; Fri, 3 Jul 2020 05:51:37 -0700 (PDT) Received: from localhost ([::1]:58790 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jrLAF-0007VK-AO for importer@patchew.org; Fri, 03 Jul 2020 08:51:35 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:50386) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jrIFB-0006jK-Vo; Fri, 03 Jul 2020 05:44:29 -0400 Received: from out4436.biz.mail.alibaba.com ([47.88.44.36]:26366) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jrIF5-0007Bp-4S; Fri, 03 Jul 2020 05:44:25 -0400 Received: from laochao-HP-ProDesk-680-G1-TWR.hz.ali.com(mailfrom:guoheyi@linux.alibaba.com fp:SMTPD_---0U1ZX4ow_1593769422) by smtp.aliyun-inc.com(127.0.0.1); Fri, 03 Jul 2020 17:43:53 +0800 X-Alimail-AntiSpam: AC=PASS; BC=-1|-1; BR=01201311R731e4; CH=green; DM=||false|; DS=||; FP=0|-1|-1|-1|0|-1|-1|-1; HT=e01e01422; MF=guoheyi@linux.alibaba.com; NM=1; PH=DS; RN=8; SR=0; TI=SMTPD_---0U1ZX4ow_1593769422; From: Heyi Guo To: qemu-devel@nongnu.org Subject: [RFC] virt/acpi: set PSCI flag even when psci_conduit is disabled Date: Fri, 3 Jul 2020 17:43:29 +0800 Message-Id: <1593769409-13534-1-git-send-email-guoheyi@linux.alibaba.com> X-Mailer: git-send-email 2.7.4 Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=47.88.44.36; envelope-from=guoheyi@linux.alibaba.com; helo=out4436.biz.mail.alibaba.com X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/03 05:44:14 X-ACL-Warn: Detected OS = Linux 3.1-3.10 X-Spam_score_int: -105 X-Spam_score: -10.6 X-Spam_bar: ---------- X-Spam_report: (-10.6 / 5.0 requ) BAYES_00=-1.9, ENV_AND_HDR_SPF_MATCH=-0.5, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, UNPARSEABLE_RELAY=0.001, USER_IN_DEF_SPF_WL=-7.5 autolearn=_AUTOLEARN X-Spam_action: no action X-Mailman-Approved-At: Fri, 03 Jul 2020 08:50:53 -0400 X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Peter Maydell , yitian.ly@alibaba-inc.com, "Michael S. Tsirkin" , Shannon Zhao , qemu-arm@nongnu.org, Heyi Guo , Igor Mammedov Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" vms->psci_conduit being disabled only means PSCI is not implemented by qemu; it doesn't mean PSCI is not supported on this virtual machine. Actually vms->psci_conduit is set to disabled when vms->secure and firmware_loaded are both set, which means we will run ARM trusted firmware, which will definitely provide PSCI. The issue can be reproduced when running qemu in TCG mode with secure enabled, while using ARM trusted firmware + qemu virt UEFI as firmware binaries, and we can see secondary cores will not be waken up. Signed-off-by: Heyi Guo Reviewed-by: Andrew Jones --- Cc: Shannon Zhao Cc: "Michael S. Tsirkin" Cc: Igor Mammedov Cc: Peter Maydell Cc: qemu-arm@nongnu.org --- hw/arm/virt-acpi-build.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/hw/arm/virt-acpi-build.c b/hw/arm/virt-acpi-build.c index 1384a2c..7622b97 100644 --- a/hw/arm/virt-acpi-build.c +++ b/hw/arm/virt-acpi-build.c @@ -728,13 +728,16 @@ static void build_fadt_rev5(GArray *table_data, BIOSL= inker *linker, }; =20 switch (vms->psci_conduit) { - case QEMU_PSCI_CONDUIT_DISABLED: - fadt.arm_boot_arch =3D 0; - break; case QEMU_PSCI_CONDUIT_HVC: fadt.arm_boot_arch =3D ACPI_FADT_ARM_PSCI_COMPLIANT | ACPI_FADT_ARM_PSCI_USE_HVC; break; + /* + * QEMU_PSCI_CONDUIT_DISABLED only means PSCI is not implemented by qe= mu, + * but typically it will still be provided by secure firmware, and it = should + * use SMC as PSCI conduit. + */ + case QEMU_PSCI_CONDUIT_DISABLED: case QEMU_PSCI_CONDUIT_SMC: fadt.arm_boot_arch =3D ACPI_FADT_ARM_PSCI_COMPLIANT; break; --=20 2.7.4