From nobody Sun May 19 02:38:03 2024 Delivered-To: importer@patchew.org Received-SPF: pass (zoho.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; Authentication-Results: mx.zohomail.com; spf=pass (zoho.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.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1564616134; cv=none; d=zoho.com; s=zohoarc; b=k1zRNTi8t6w0ZmhEzKWpyM4l4bd4gpW13U7t2is8GGr/SinN2PVmEY7HhpK9b1knZMkuUMpnw4OWRHEybUS6FTvhHlysR3Aym4HaQfI0Y32BFQZdaRwGfhb+ZvY0vUAievfyMrYyQLY3fuLziewucbw/g3fa7ySlpiQn90mKKd0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zoho.com; s=zohoarc; t=1564616134; h=Content-Transfer-Encoding:Cc:Date:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:To:ARC-Authentication-Results; bh=IKbMLiAdgGWtXAX8DQxZOcpBpkqB7QLIYkGPuJc0OeQ=; b=miDYXTHiHL2iQ2MldmxNgXYH2H6KC3Q69GnjVphkFJ8SZHS25D2bOF7s0BI0ijss95O/O4r2zXR8k3XEi61Rpfy+l6eZH5JruHHfQGcitncuZaamoZysO0J/51NPOtPfUPmOYFro1LOQGji/vHryAtCvr7P5LaUvX1qq8uLfMos= ARC-Authentication-Results: i=1; mx.zoho.com; spf=pass (zoho.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 (209.51.188.17 [209.51.188.17]) by mx.zohomail.com with SMTPS id 1564616134571609.4458925956969; Wed, 31 Jul 2019 16:35:34 -0700 (PDT) Received: from localhost ([::1]:45046 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hsy7x-0007qV-3O for importer@patchew.org; Wed, 31 Jul 2019 19:35:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55470) by lists.gnu.org with esmtp (Exim 4.86_2) (envelope-from ) id 1hsy7U-0007Ip-9R for qemu-devel@nongnu.org; Wed, 31 Jul 2019 19:34:57 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hsy7S-0003cZ-T7 for qemu-devel@nongnu.org; Wed, 31 Jul 2019 19:34:56 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]:2996 helo=mx0a-001b2d01.pphosted.com) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hsy7S-0003cU-Og for qemu-devel@nongnu.org; Wed, 31 Jul 2019 19:34:54 -0400 Received: from pps.filterd (m0098421.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x6VNY0lM069166 for ; Wed, 31 Jul 2019 19:34:53 -0400 Received: from e06smtp05.uk.ibm.com (e06smtp05.uk.ibm.com [195.75.94.101]) by mx0a-001b2d01.pphosted.com with ESMTP id 2u3hy6wwha-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Wed, 31 Jul 2019 19:34:53 -0400 Received: from localhost by e06smtp05.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Thu, 1 Aug 2019 00:34:51 +0100 Received: from b06cxnps4076.portsmouth.uk.ibm.com (9.149.109.198) by e06smtp05.uk.ibm.com (192.168.101.135) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Thu, 1 Aug 2019 00:34:48 +0100 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x6VNYlwU42139700 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Wed, 31 Jul 2019 23:34:47 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 520025205F; Wed, 31 Jul 2019 23:34:47 +0000 (GMT) Received: from ozlabs.au.ibm.com (unknown [9.192.253.14]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id B22ED52057; Wed, 31 Jul 2019 23:34:46 +0000 (GMT) Received: from volution.ozlabs.ibm.com (haven.au.ibm.com [9.192.254.114]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.au.ibm.com (Postfix) with ESMTPSA id 21F0AA01A4; Thu, 1 Aug 2019 09:34:45 +1000 (AEST) From: Daniel Black To: qemu-devel@nongnu.org Date: Thu, 1 Aug 2019 09:34:38 +1000 X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 x-cbid: 19073123-0020-0000-0000-000003591F25 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19073123-0021-0000-0000-000021AD2B32 Message-Id: <20190731233438.483-1-daniel@linux.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:, , definitions=2019-07-31_12:, , 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=997 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1906280000 definitions=main-1907310232 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 3.x [generic] X-Received-From: 148.163.158.5 Subject: [Qemu-devel] [PATCH] spapr: quantify error messages regarding capability settings 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: "open list:sPAPR" , Daniel Black , David Gibson Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" Content-Type: text/plain; charset="utf-8" Its not immediately obvious how cap-X=3Dy setting need to be applied to the command line so this has been clarified to "appending to the machine name" in spapr capability error messages. The wrong value messages have been left as is, as the user has found the right location. Signed-off-by: Daniel Black --- hw/ppc/spapr_caps.c | 47 ++++++++++++++++++++++++++++++--------------- 1 file changed, 32 insertions(+), 15 deletions(-) diff --git a/hw/ppc/spapr_caps.c b/hw/ppc/spapr_caps.c index bbb001f84a..cf334fe595 100644 --- a/hw/ppc/spapr_caps.c +++ b/hw/ppc/spapr_caps.c @@ -37,6 +37,8 @@ =20 #include "hw/ppc/spapr.h" =20 +#define CAPABILITY_ERROR(X) "appending \"," X "\" to the machine name" + typedef struct SpaprCapPossible { int num; /* size of vals array below */ const char *help; /* help text for vals */ @@ -194,10 +196,12 @@ static void cap_htm_apply(SpaprMachineState *spapr, u= int8_t val, Error **errp) } if (tcg_enabled()) { error_setg(errp, - "No Transactional Memory support in TCG, try cap-htm=3D= off"); + "No Transactional Memory support in TCG, try " + CAPABILITY_ERROR("cap-htm=3Doff")); } else if (kvm_enabled() && !kvmppc_has_cap_htm()) { error_setg(errp, -"KVM implementation does not support Transactional Memory, try cap-htm=3Do= ff" +"KVM implementation does not support Transactional Memory, try " + CAPABILITY_ERROR("cap-htm=3Doff") ); } } @@ -215,7 +219,8 @@ static void cap_vsx_apply(SpaprMachineState *spapr, uin= t8_t val, Error **errp) * rid of anything that doesn't do VMX */ g_assert(env->insns_flags & PPC_ALTIVEC); if (!(env->insns_flags2 & PPC2_VSX)) { - error_setg(errp, "VSX support not available, try cap-vsx=3Doff"); + error_setg(errp, "VSX support not available, try " + CAPABILITY_ERROR("cap-vsx=3Doff")); } } =20 @@ -229,7 +234,8 @@ static void cap_dfp_apply(SpaprMachineState *spapr, uin= t8_t val, Error **errp) return; } if (!(env->insns_flags2 & PPC2_DFP)) { - error_setg(errp, "DFP support not available, try cap-dfp=3Doff"); + error_setg(errp, "DFP support not available, try " + CAPABILITY_ERROR("cap-dfp=3Doff")); } } =20 @@ -249,11 +255,13 @@ static void cap_safe_cache_apply(SpaprMachineState *s= papr, uint8_t val, if (tcg_enabled() && val) { /* TCG only supports broken, allow other values and print a warnin= g */ error_setg(&local_err, - "TCG doesn't support requested feature, cap-cfpc=3D%s", + "TCG doesn't support requested feature, use " + CAPABILITY_ERROR("cap-cfpc=3D%s"), cap_cfpc_possible.vals[val]); } else if (kvm_enabled() && (val > kvm_val)) { error_setg(errp, -"Requested safe cache capability level not supported by kvm, try cap-cfpc= =3D%s", +"Requested safe cache capability level not supported by kvm, try " + CAPABILITY_ERROR("cap-cfpc=3D%s"), cap_cfpc_possible.vals[kvm_val]); } =20 @@ -281,7 +289,8 @@ static void cap_safe_bounds_check_apply(SpaprMachineSta= te *spapr, uint8_t val, cap_sbbc_possible.vals[val]); } else if (kvm_enabled() && (val > kvm_val)) { error_setg(errp, -"Requested safe bounds check capability level not supported by kvm, try ca= p-sbbc=3D%s", +"Requested safe bounds check capability level not supported by kvm, try " + CAPABILITY_ERROR("cap-sbbc=3D%s"), cap_sbbc_possible.vals[kvm_val]); } =20 @@ -312,7 +321,8 @@ static void cap_safe_indirect_branch_apply(SpaprMachine= State *spapr, cap_ibs_possible.vals[val]); } else if (kvm_enabled() && (val > kvm_val)) { error_setg(errp, -"Requested safe indirect branch capability level not supported by kvm, try= cap-ibs=3D%s", +"Requested safe indirect branch capability level not supported by kvm, try= " + CAPABILITY_ERROR("cap-ibs=3D%s"), cap_ibs_possible.vals[kvm_val]); } =20 @@ -401,11 +411,13 @@ static void cap_nested_kvm_hv_apply(SpaprMachineState= *spapr, =20 if (tcg_enabled()) { error_setg(errp, - "No Nested KVM-HV support in tcg, try cap-nested-hv=3Do= ff"); + "No Nested KVM-HV support in tcg, try " + CAPABILITY_ERROR("cap-nested-hv=3Doff")); } else if (kvm_enabled()) { if (!kvmppc_has_cap_nested_kvm_hv()) { error_setg(errp, -"KVM implementation does not support Nested KVM-HV, try cap-nested-hv=3Dof= f"); +"KVM implementation does not support Nested KVM-HV, try " + CAPABILITY_ERROR("cap-nested-hv=3Doff")); } else if (kvmppc_set_cap_nested_kvm_hv(val) < 0) { error_setg(errp, "Error enabling cap-nested-hv with KVM, try cap-nested-hv=3Doff"); @@ -435,10 +447,12 @@ static void cap_large_decr_apply(SpaprMachineState *s= papr, =20 if (!kvm_nr_bits) { error_setg(errp, - "No large decrementer support, try cap-large-decr= =3Doff"); + "No large decrementer support, try " + CAPABILITY_ERROR("cap-large-decr=3Doff")); } else if (pcc->lrg_decr_bits !=3D kvm_nr_bits) { error_setg(errp, -"KVM large decrementer size (%d) differs to model (%d), try -cap-large-dec= r=3Doff", +"KVM large decrementer size (%d) differs to model (%d), try " + CAPABILITY_ERROR("cap-large-decr=3Doff"), kvm_nr_bits, pcc->lrg_decr_bits); } } @@ -454,7 +468,8 @@ static void cap_large_decr_cpu_apply(SpaprMachineState = *spapr, if (kvm_enabled()) { if (kvmppc_enable_cap_large_decr(cpu, val)) { error_setg(errp, - "No large decrementer support, try cap-large-decr= =3Doff"); + "No large decrementer support, try " + CAPABILITY_ERROR("cap-large-decr=3Doff")); } } =20 @@ -474,10 +489,12 @@ static void cap_ccf_assist_apply(SpaprMachineState *s= papr, uint8_t val, if (tcg_enabled() && val) { /* TODO - for now only allow broken for TCG */ error_setg(errp, -"Requested count cache flush assist capability level not supported by tcg,= try cap-ccf-assist=3Doff"); +"Requested count cache flush assist capability level not supported by tcg,= try " + CAPABILITY_ERROR("cap-ccf-assist=3Doff")); } else if (kvm_enabled() && (val > kvm_val)) { error_setg(errp, -"Requested count cache flush assist capability level not supported by kvm,= try cap-ccf-assist=3Doff"); +"Requested count cache flush assist capability level not supported by kvm,= try " + CAPABILITY_ERROR("cap-ccf-assist=3Doff")); } } =20 --=20 2.21.0