Received: by 2002:a25:8b12:0:0:0:0:0 with SMTP id i18csp3448968ybl; Mon, 19 Aug 2019 19:18:26 -0700 (PDT) X-Google-Smtp-Source: APXvYqy5zQUcfn1Tqik5D6cPA13LrWaTOwikLJkw2Vnh/j3/5Jw7XIcd2wSIoyYfM7hA4iJKDJJV X-Received: by 2002:aa7:934f:: with SMTP id 15mr27077263pfn.22.1566267506271; Mon, 19 Aug 2019 19:18:26 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1566267506; cv=none; d=google.com; s=arc-20160816; b=Rl7fkBArvJaFZyAjEX1d380f/xYmYqnmtz8wRO29ZOD8AKQvNMxiZ6qocIz21RJn1b yNGYtKMq6We2fsXIfjsKZ1Bx/8Py/jg6kjAmAun/fZi2PAS43XHxwgk57gDy9saMtD/b v182vOb1fvf3IrCI8kiLpKzn4k95wX2+yQZnZg0giuIrFWNaYqrblQDUL5IFM3COFPJd UTc2icPt6ExKPzeTbZYb41r1JKb3QJXC6VjTCqzR9FDketUDJvCB4JV6zFguh7Dweb61 tCK7+/BQVLlxYEuslmBOWGazcxZk4fuxYk8FNeINUuHoVAvzk3XGwaJyTKu0YqZtsQJj ogng== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from; bh=WnWW54NW9vDaerk8BR6EFyUH8cTQU+COqmj2kfj+PUY=; b=Ys2fmuhQflfsbHp4CBrtZI+Qw6A6tUW+iEObUDyXh/FQxkjEaAYRiBDsfF1DHAJ1td fzIveT/Jtc8tjVMuMDU0MBTNxOOqRSh0tZXWp+gQkl3sz+8Evdy5GFxLnCbmpgcSHVIB rvwzOS7E8Q4i/KbweEO7NGPc9ZNySu0d199hXNQAjbZfyGJu/aDFKRzc7lKC0rgMFkwQ RaXZABAXn5C0Tr9GsIde1ZCGKMJQ5kTYNSY/xWwZLt1cohHC+nuemWcmug1i00fKF5dV TszS1ykVPNI2/zqXqQENh8gefjJy0wz711tGBT6u0wWYK4p34St3qhSKXsW+zTRM81mt 0g/A== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id ck15si9999062pjb.83.2019.08.19.19.18.11; Mon, 19 Aug 2019 19:18:26 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1729107AbfHTCQ5 (ORCPT + 99 others); Mon, 19 Aug 2019 22:16:57 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:27950 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728719AbfHTCQ4 (ORCPT ); Mon, 19 Aug 2019 22:16:56 -0400 Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x7K2Cfah082908; Mon, 19 Aug 2019 22:14:34 -0400 Received: from pps.reinject (localhost [127.0.0.1]) by mx0b-001b2d01.pphosted.com with ESMTP id 2ug39v0jw6-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 19 Aug 2019 22:14:33 -0400 Received: from m0098416.ppops.net (m0098416.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.27/8.16.0.27) with SMTP id x7K2Cfuh082888; Mon, 19 Aug 2019 22:14:33 -0400 Received: from ppma01wdc.us.ibm.com (fd.55.37a9.ip4.static.sl-reverse.com [169.55.85.253]) by mx0b-001b2d01.pphosted.com with ESMTP id 2ug39v0jvs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Mon, 19 Aug 2019 22:14:33 -0400 Received: from pps.filterd (ppma01wdc.us.ibm.com [127.0.0.1]) by ppma01wdc.us.ibm.com (8.16.0.27/8.16.0.27) with SMTP id x7K29qXe011080; Tue, 20 Aug 2019 02:14:32 GMT Received: from b03cxnp08027.gho.boulder.ibm.com (b03cxnp08027.gho.boulder.ibm.com [9.17.130.19]) by ppma01wdc.us.ibm.com with ESMTP id 2ue976h5kk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 20 Aug 2019 02:14:32 +0000 Received: from b03ledav006.gho.boulder.ibm.com (b03ledav006.gho.boulder.ibm.com [9.17.130.237]) by b03cxnp08027.gho.boulder.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x7K2EVJt50725276 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 20 Aug 2019 02:14:31 GMT Received: from b03ledav006.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 3BDD9C6055; Tue, 20 Aug 2019 02:14:31 +0000 (GMT) Received: from b03ledav006.gho.boulder.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 9D7ADC6059; Tue, 20 Aug 2019 02:14:27 +0000 (GMT) Received: from morokweng.localdomain.com (unknown [9.85.220.248]) by b03ledav006.gho.boulder.ibm.com (Postfix) with ESMTP; Tue, 20 Aug 2019 02:14:27 +0000 (GMT) From: Thiago Jung Bauermann To: linuxppc-dev@lists.ozlabs.org Cc: linux-kernel@vger.kernel.org, Alexey Kardashevskiy , Anshuman Khandual , Benjamin Herrenschmidt , Christoph Hellwig , Michael Ellerman , Mike Anderson , Paul Mackerras , Ram Pai , Claudio Carvalho , Sukadev Bhattiprolu , Thiago Jung Bauermann Subject: [PATCH v4 12/16] powerpc/pseries/svm: Disable doorbells in SVM guests Date: Mon, 19 Aug 2019 23:13:22 -0300 Message-Id: <20190820021326.6884-13-bauerman@linux.ibm.com> X-Mailer: git-send-email 2.21.0 In-Reply-To: <20190820021326.6884-1-bauerman@linux.ibm.com> References: <20190820021326.6884-1-bauerman@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-08-20_01:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1906280000 definitions=main-1908200018 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Sukadev Bhattiprolu Normally, the HV emulates some instructions like MSGSNDP, MSGCLRP from a KVM guest. To emulate the instructions, it must first read the instruction from the guest's memory and decode its parameters. However for a secure guest (aka SVM), the page containing the instruction is in secure memory and the HV cannot access directly. It would need the Ultravisor (UV) to facilitate accessing the instruction and parameters but the UV currently does not have the support for such accesses. Until the UV has such support, disable doorbells in SVMs. This might incur a performance hit but that is yet to be quantified. With this patch applied (needed only in SVMs not needed for HV) we are able to launch SVM guests with multi-core support. Eg: qemu -smp sockets=2,cores=2,threads=2. Fix suggested by Benjamin Herrenschmidt. Thanks to input from Paul Mackerras, Ram Pai and Michael Anderson. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Thiago Jung Bauermann --- arch/powerpc/platforms/pseries/smp.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/arch/powerpc/platforms/pseries/smp.c b/arch/powerpc/platforms/pseries/smp.c index 4b3ef8d9c63f..ad61e90032da 100644 --- a/arch/powerpc/platforms/pseries/smp.c +++ b/arch/powerpc/platforms/pseries/smp.c @@ -41,6 +41,7 @@ #include #include #include +#include #include "pseries.h" #include "offline_states.h" @@ -221,7 +222,7 @@ static __init void pSeries_smp_probe_xics(void) { xics_smp_probe(); - if (cpu_has_feature(CPU_FTR_DBELL)) + if (cpu_has_feature(CPU_FTR_DBELL) && !is_secure_guest()) smp_ops->cause_ipi = smp_pseries_cause_ipi; else smp_ops->cause_ipi = icp_ops->cause_ipi;