From nobody Sat Nov 15 23:38:12 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=reject dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1744875703; cv=none; d=zohomail.com; s=zohoarc; b=gyCRTVBqXLn1a+ngAsZ4idKdIfsFq4PcdgBaJuzrjuPxysJHy5UGDTP2TzcKnvElTRk0s9KDpQ2nv8rFAYWwfH9hfWLqr8r2ImXQ1xtR9KOS1byn9ftK8s4dlrTNtjBtVpZ6J3Jj/Bls6cha08XcBvlcrynw7BYu96gVrl88vmw= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1744875703; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=Q9dWrfpPOxjk1cec4q+kp6SXOsX3cigOBnJZC2HCBmk=; b=W5CA/BUETCEXB6UD+/a2h89pWyDnMfB8+gt5lzpmDTbUY4cEd6m0IeqkTsjhD2eCKI82dd+G3IBUTz0KsdxKGO+EqhfKq/xmcOnROkAk+wi3xLnbofgZj1mzrv80u9OQ2+urvCbwBSho1NLzRRTQjm/WYBzYwi6MKkG1qyvldyk= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1744875703479633.5825405554907; Thu, 17 Apr 2025 00:41:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5JrZ-0005CR-Du; Thu, 17 Apr 2025 03:40:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5JrT-0005Au-5m; Thu, 17 Apr 2025 03:40:40 -0400 Received: from mx0b-001b2d01.pphosted.com ([148.163.158.5]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5JrQ-0004Rs-Pw; Thu, 17 Apr 2025 03:40:38 -0400 Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53GL1fU4022096; Thu, 17 Apr 2025 07:40:33 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 462m3t27dk-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 17 Apr 2025 07:40:33 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 53H7GY8Z010415; Thu, 17 Apr 2025 07:40:32 GMT Received: from smtprelay04.wdc07v.mail.ibm.com ([172.16.1.71]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4604qkcbcc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 17 Apr 2025 07:40:32 +0000 Received: from smtpav04.dal12v.mail.ibm.com (smtpav04.dal12v.mail.ibm.com [10.241.53.103]) by smtprelay04.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 53H7eVOS39387740 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 17 Apr 2025 07:40:31 GMT Received: from smtpav04.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id E753D58234; Thu, 17 Apr 2025 07:40:30 +0000 (GMT) Received: from smtpav04.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C7589580F9; Thu, 17 Apr 2025 07:40:29 +0000 (GMT) Received: from t83lp65.lnxne.boe (unknown [9.152.108.100]) by smtpav04.dal12v.mail.ibm.com (Postfix) with ESMTP; Thu, 17 Apr 2025 07:40:29 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=Q9dWrfpPOxjk1cec4 q+kp6SXOsX3cigOBnJZC2HCBmk=; b=nl/SJGL9uc8BBUU6DokKsNrSLljHhbJ5V yN+5R7iQlpNYTmpKMawODDER6f7s6xS8tjlCrKoLwcnL5JUuqsfKsxAr9vq60Guo jphkW2uk68JmM3WgtLSDMe8W/7nppDQjd+9xCPCu8SPKHEmJ0nlfmNHh6AqCiGJ8 +AFKbo54kvNvQKzYB9Ldwrn7P7c4KP10n+41Fw6MvnhZP8u5iXTIHiR/MBWnAQpB OCXSmpRnl5ZkSc2bG121aXXtSp7cm+66LtSnJEkBY/X/5ra32R5xaMlik9pVyzVh AeBVzN6D+xqEG/r7Ei593zZzUaYtyMHJ3sBYX4UXKdaOCOeMJSlnQ== From: Gautam Gala To: qemu-s390x@nongnu.org, qemu-devel@nongnu.org Cc: Christian Borntraeger , Thomas Huth , Steffen Eiden , Janosch Frank Subject: [PATCH v3 1/3] target/s390x: Introduce constant when checking if PV header couldn't be decrypted Date: Thu, 17 Apr 2025 09:40:25 +0200 Message-ID: <20250417074027.711076-2-ggala@linux.ibm.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250417074027.711076-1-ggala@linux.ibm.com> References: <20250417074027.711076-1-ggala@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-ORIG-GUID: Zmr6HBGL7iuf0BRX7pE7td9ry_Bp4968 X-Proofpoint-GUID: Zmr6HBGL7iuf0BRX7pE7td9ry_Bp4968 X-Authority-Analysis: v=2.4 cv=W6g4VQWk c=1 sm=1 tr=0 ts=6800b071 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=XR8D0OoHHMoA:10 a=VnNF1IyMAAAA:8 a=dlrBAAIIzbR3EyIgmhgA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-17_01,2025-04-15_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 impostorscore=0 mlxlogscore=829 bulkscore=0 spamscore=0 priorityscore=1501 lowpriorityscore=0 clxscore=1015 mlxscore=0 malwarescore=0 adultscore=0 classifier=spam authscore=0 adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504170057 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=148.163.158.5; envelope-from=ggala@linux.ibm.com; helo=mx0b-001b2d01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1744875706004019100 Content-Type: text/plain; charset="utf-8" Introduce a named constant when checking the Set Secure Configuration param= eters UV call return code for the case where no valid host key was found and ther= efore the PV header couldn't be decrypted (0x108). Reviewed-by: Steffen Eiden Signed-off-by: Gautam Gala --- target/s390x/kvm/pv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/target/s390x/kvm/pv.c b/target/s390x/kvm/pv.c index b191a4a68a..3a0a971f0b 100644 --- a/target/s390x/kvm/pv.c +++ b/target/s390x/kvm/pv.c @@ -147,6 +147,7 @@ bool s390_pv_vm_try_disable_async(S390CcwMachineState *= ms) return true; } =20 +#define DIAG_308_UV_RC_INVAL_HOSTKEY 0x0108 int s390_pv_set_sec_parms(uint64_t origin, uint64_t length, Error **errp) { int ret, pvrc; @@ -158,7 +159,7 @@ int s390_pv_set_sec_parms(uint64_t origin, uint64_t len= gth, Error **errp) ret =3D s390_pv_cmd_pvrc(KVM_PV_SET_SEC_PARMS, &args, &pvrc); if (ret) { error_setg(errp, "Failed to set secure execution parameters"); - if (pvrc =3D=3D 0x108) { + if (pvrc =3D=3D DIAG_308_UV_RC_INVAL_HOSTKEY) { error_append_hint(errp, "Please check whether the image is " "correctly encrypted for this host\n"); } --=20 2.49.0 From nobody Sat Nov 15 23:38:12 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=reject dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1744875723; cv=none; d=zohomail.com; s=zohoarc; b=I2n6x+eR/lCusjQbOUWAGoA1ptvNofGC9L4tHVaCZ/ACFBi9pheLEt3wXbX0+gERml9gw8GESUvEpnklLZwD31GlTZiZFQw38wmKa/DyPjN3BN6sGRbneiooxOmigulCyE3Ngl9z9FdlNIaaj+d3IQF1dEWjr8wV3ipmdnTXXNI= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1744875723; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=sCCSf9R+vWDhK7Hl5gwg2YW6AI3FtJLiS8RPAVgQBqA=; b=H2ISaGdWb/jcU8yiQ0uJSX48bVcj8/HvmbFelBLu4kvyQBiaMkVxgyH7lVRjvUqlDoFv74NqLB//PmLayJrKvX6aq1ZbGBky8urDuoSigJHgFdN62HIH1jH5+f8i7ILFY7FrtpjY9Zwjiv3QrkdiIMrSd6V8rKjNc1eHYrWDPsM= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1744875723825464.0655380033809; Thu, 17 Apr 2025 00:42:03 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5Jrd-0005DL-0r; Thu, 17 Apr 2025 03:40:49 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5JrT-0005Av-7F; Thu, 17 Apr 2025 03:40:40 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5JrR-0004Sv-1Y; Thu, 17 Apr 2025 03:40:38 -0400 Received: from pps.filterd (m0360083.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53GMhxAs017971; Thu, 17 Apr 2025 07:40:35 GMT Received: from ppma13.dal12v.mail.ibm.com (dd.9e.1632.ip4.static.sl-reverse.com [50.22.158.221]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 462m49tad2-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 17 Apr 2025 07:40:34 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 53H7GY8a010415; Thu, 17 Apr 2025 07:40:34 GMT Received: from smtprelay05.wdc07v.mail.ibm.com ([172.16.1.72]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4604qkcbce-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 17 Apr 2025 07:40:34 +0000 Received: from smtpav04.dal12v.mail.ibm.com (smtpav04.dal12v.mail.ibm.com [10.241.53.103]) by smtprelay05.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 53H7eW6x32113214 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 17 Apr 2025 07:40:32 GMT Received: from smtpav04.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 59C18580F9; Thu, 17 Apr 2025 07:40:32 +0000 (GMT) Received: from smtpav04.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 331B758232; Thu, 17 Apr 2025 07:40:31 +0000 (GMT) Received: from t83lp65.lnxne.boe (unknown [9.152.108.100]) by smtpav04.dal12v.mail.ibm.com (Postfix) with ESMTP; Thu, 17 Apr 2025 07:40:31 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=sCCSf9R+vWDhK7Hl5 gwg2YW6AI3FtJLiS8RPAVgQBqA=; b=JmT9fFXk3oxWfOp+otZARxUCEnWLBErBY T51FyxD78dikOcQvDRbc3xZw3BK9kSKP92R5uta+w+XtiE1lOjixvjnIjl1oLdG2 D66UqvbTX0JoSCqMmtA6b1gIPwn6WFhu+D6vlsWeXODkykyWjTkqaG2Mg41FEIK5 cPKiLGoLWutRT11KualKJdL2NsjKln+Kx5GrjONyX9KAKy3Xx7o1aWn7dzk3hdMh gg1Qem+i9YKR7ikAn+OQxWapNwMpBTsOZMVZLpJ2G5MurPYvcyhijgIVtIzJl5TL TQ311yhRNMlGF39w8b7L+HxnFVR6iiSjewybIB0QnsJfxiHyE4RoQ== From: Gautam Gala To: qemu-s390x@nongnu.org, qemu-devel@nongnu.org Cc: Christian Borntraeger , Thomas Huth , Steffen Eiden , Janosch Frank Subject: [PATCH v3 2/3] target/s390x: Introduce function when exiting PV Date: Thu, 17 Apr 2025 09:40:26 +0200 Message-ID: <20250417074027.711076-3-ggala@linux.ibm.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250417074027.711076-1-ggala@linux.ibm.com> References: <20250417074027.711076-1-ggala@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=etnfzppX c=1 sm=1 tr=0 ts=6800b073 cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=XR8D0OoHHMoA:10 a=VnNF1IyMAAAA:8 a=wThvhrd033kK1bniQ4UA:9 X-Proofpoint-ORIG-GUID: MDRKGddAkZ3gRXwyXr3J1VBRDk2sTf2Q X-Proofpoint-GUID: MDRKGddAkZ3gRXwyXr3J1VBRDk2sTf2Q X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-17_01,2025-04-15_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 lowpriorityscore=0 suspectscore=0 mlxscore=0 mlxlogscore=791 clxscore=1015 spamscore=0 impostorscore=0 priorityscore=1501 adultscore=0 bulkscore=0 malwarescore=0 phishscore=0 classifier=spam authscore=0 adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504170057 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=148.163.156.1; envelope-from=ggala@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1744875725936019000 Content-Type: text/plain; charset="utf-8" Replace an existing macro (s390_pv_cmd_exit) that looks like a function with an actual function. The function will be used when exiting PV instead of the macro. Reviewed-by: Steffen Eiden Signed-off-by: Gautam Gala --- target/s390x/kvm/pv.c | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/target/s390x/kvm/pv.c b/target/s390x/kvm/pv.c index 3a0a971f0b..66194caaae 100644 --- a/target/s390x/kvm/pv.c +++ b/target/s390x/kvm/pv.c @@ -59,14 +59,12 @@ static int __s390_pv_cmd(uint32_t cmd, const char *cmdn= ame, void *data, */ #define s390_pv_cmd(cmd, data) __s390_pv_cmd(cmd, #cmd, data, NULL) #define s390_pv_cmd_pvrc(cmd, data, pvrc) __s390_pv_cmd(cmd, #cmd, data, p= vrc) -#define s390_pv_cmd_exit(cmd, data) \ -{ \ - int rc; \ - \ - rc =3D __s390_pv_cmd(cmd, #cmd, data, NULL); \ - if (rc) { \ - exit(1); \ - } \ + +static void s390_pv_cmd_exit(uint32_t cmd, void *data) +{ + if (s390_pv_cmd(cmd, data)) { + exit(1); + } } =20 int s390_pv_query_info(void) --=20 2.49.0 From nobody Sat Nov 15 23:38:12 2025 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=pass; 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=pass(p=reject dis=none) header.from=linux.ibm.com ARC-Seal: i=1; a=rsa-sha256; t=1744875703; cv=none; d=zohomail.com; s=zohoarc; b=CCux5joIQGIkPc9c68wtOWJIEW1rW06umN/KVKtWX5FeF5MbjrKlzGfBbHo93zwUVIhSq9Smbv5Ce49iJK5O3IjfjsP3NhE70dKUjReguy3rPv4U6i9l+cMe3m1fkzbToaNxdSaDiRi9T3O0H0bViXviZqPcti157l0mpGoyMJ0= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1744875703; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=6BWkql7ZE/OPhVafqE5mSba3kezPZ5igPRuVmi4u31I=; b=DdANCJ15gc7K1f513MzDlbJYi2UOjH7KGdMjI0yGGUQG6VHis6Qe90PvQs1KxlzHffdStTI6iqApgji0wyXxl8jmSJvIGq4dDXzTTaUUmG7jMq4nMvddS3Zf05maoH+tfmgyc6a598j99LUWsgOy/ufshU1X2y10hmFkJK6FRm4= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=pass; 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=pass header.from= (p=reject dis=none) Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1744875703483449.95115269690154; Thu, 17 Apr 2025 00:41:43 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1u5Jrf-0005FC-Hj; Thu, 17 Apr 2025 03:40:51 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5JrV-0005BL-6u; Thu, 17 Apr 2025 03:40:42 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1u5JrS-0004UQ-M3; Thu, 17 Apr 2025 03:40:40 -0400 Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 53GLdDMX016610; Thu, 17 Apr 2025 07:40:36 GMT Received: from ppma22.wdc07v.mail.ibm.com (5c.69.3da9.ip4.static.sl-reverse.com [169.61.105.92]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 462mn7t5y4-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 17 Apr 2025 07:40:36 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id 53H59ks1001255; Thu, 17 Apr 2025 07:40:35 GMT Received: from smtprelay06.wdc07v.mail.ibm.com ([172.16.1.73]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4602w04te7-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 17 Apr 2025 07:40:35 +0000 Received: from smtpav04.dal12v.mail.ibm.com (smtpav04.dal12v.mail.ibm.com [10.241.53.103]) by smtprelay06.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 53H7eX9Q17892026 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Thu, 17 Apr 2025 07:40:34 GMT Received: from smtpav04.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A943B58233; Thu, 17 Apr 2025 07:40:33 +0000 (GMT) Received: from smtpav04.dal12v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 92EBE58232; Thu, 17 Apr 2025 07:40:32 +0000 (GMT) Received: from t83lp65.lnxne.boe (unknown [9.152.108.100]) by smtpav04.dal12v.mail.ibm.com (Postfix) with ESMTP; Thu, 17 Apr 2025 07:40:32 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=pp1; bh=6BWkql7ZE/OPhVafq E5mSba3kezPZ5igPRuVmi4u31I=; b=cDgJXNL7iHSBF0lhEQWGaWSU5LAaqTUz8 zf2r94WxdJ0oROa47fo8Nl55PCTdCSiB82GJr2jO5sBNIzNyzJ5EBGjnKOVRaaBe 2Mej74r+Gb4p8vC9oOTCgQbT1JJyfAzpYiZsZMv5RqVVUN4QO9/dyqlrRIIEqM82 UNMEbhzYfeuDyQHj8NK09yY2+Jdry2VNWqMPuVw5w23ycVPyrv+ZeFPBnYdhnTut 83SLK0nDgqa511uo7e13SXfoy60q7aCAYYtRUU2vhEldzHkbXhtBuKl+hBdMhzRa qL5UI9KYGBi3rBAIxmn8EUQ57WbUBmzVQ8uS4G3KsKv5GZzzv+paQ== From: Gautam Gala To: qemu-s390x@nongnu.org, qemu-devel@nongnu.org Cc: Christian Borntraeger , Thomas Huth , Steffen Eiden , Janosch Frank Subject: [PATCH v3 3/3] target/s390x: Return UVC cmd code, RC and RRC value when DIAG 308 Subcode 10 fails to enter secure mode Date: Thu, 17 Apr 2025 09:40:27 +0200 Message-ID: <20250417074027.711076-4-ggala@linux.ibm.com> X-Mailer: git-send-email 2.49.0 In-Reply-To: <20250417074027.711076-1-ggala@linux.ibm.com> References: <20250417074027.711076-1-ggala@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=ANnAolku c=1 sm=1 tr=0 ts=6800b074 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=XR8D0OoHHMoA:10 a=VnNF1IyMAAAA:8 a=u5oHm6gD1yHHKBPRsp8A:9 X-Proofpoint-GUID: HSK_c8shJAjt3tzWpNV55YavDP6y_w-f X-Proofpoint-ORIG-GUID: HSK_c8shJAjt3tzWpNV55YavDP6y_w-f X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1095,Hydra:6.0.680,FMLib:17.12.68.34 definitions=2025-04-17_01,2025-04-15_01,2024-11-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 malwarescore=0 mlxlogscore=999 adultscore=0 spamscore=0 mlxscore=0 bulkscore=0 suspectscore=0 phishscore=0 clxscore=1015 impostorscore=0 priorityscore=1501 lowpriorityscore=0 classifier=spam authscore=0 adjust=0 reason=mlx scancount=1 engine=8.19.0-2502280000 definitions=main-2504170057 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=148.163.156.1; envelope-from=ggala@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -26 X-Spam_score: -2.7 X-Spam_bar: -- X-Spam_report: (-2.7 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: qemu-devel-bounces+importer=patchew.org@nongnu.org X-ZohoMail-DKIM: pass (identity @ibm.com) X-ZM-MESSAGEID: 1744875706245019100 Content-Type: text/plain; charset="utf-8" Extend DIAG308 subcode 10 to return the UVC RC, RRC and command code in bit positions 32-47, 16-31, and 0-15 of register R1 + 1 if the function does not complete successfully (in addition to the previously returned diag response code in bit position 47-63). Signed-off-by: Gautam Gala --- hw/s390x/ipl.c | 11 ++++++----- hw/s390x/ipl.h | 6 ++++-- hw/s390x/s390-virtio-ccw.c | 23 +++++++++++++++++------ target/s390x/kvm/pv.c | 35 ++++++++++++++++++++--------------- target/s390x/kvm/pv.h | 24 +++++++++++++++++------- 5 files changed, 64 insertions(+), 35 deletions(-) diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index ce6f6078d7..69e43396d3 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -26,7 +26,6 @@ #include "hw/s390x/vfio-ccw.h" #include "hw/s390x/css.h" #include "hw/s390x/ebcdic.h" -#include "target/s390x/kvm/pv.h" #include "hw/scsi/scsi.h" #include "hw/virtio/virtio-net.h" #include "ipl.h" @@ -676,7 +675,7 @@ static void s390_ipl_prepare_qipl(S390CPU *cpu) cpu_physical_memory_unmap(addr, len, 1, len); } =20 -int s390_ipl_prepare_pv_header(Error **errp) +int s390_ipl_prepare_pv_header(struct S390PvResponse *pv_resp, Error **err= p) { IplParameterBlock *ipib =3D s390_ipl_get_iplb_pv(); IPLBlockPV *ipib_pv =3D &ipib->pv; @@ -685,12 +684,13 @@ int s390_ipl_prepare_pv_header(Error **errp) =20 cpu_physical_memory_read(ipib_pv->pv_header_addr, hdr, ipib_pv->pv_header_len); - rc =3D s390_pv_set_sec_parms((uintptr_t)hdr, ipib_pv->pv_header_len, e= rrp); + rc =3D s390_pv_set_sec_parms((uintptr_t)hdr, ipib_pv->pv_header_len, + pv_resp, errp); g_free(hdr); return rc; } =20 -int s390_ipl_pv_unpack(void) +int s390_ipl_pv_unpack(struct S390PvResponse *pv_resp) { IplParameterBlock *ipib =3D s390_ipl_get_iplb_pv(); IPLBlockPV *ipib_pv =3D &ipib->pv; @@ -699,7 +699,8 @@ int s390_ipl_pv_unpack(void) for (i =3D 0; i < ipib_pv->num_comp; i++) { rc =3D s390_pv_unpack(ipib_pv->components[i].addr, TARGET_PAGE_ALIGN(ipib_pv->components[i].size), - ipib_pv->components[i].tweak_pref); + ipib_pv->components[i].tweak_pref, + pv_resp); if (rc) { break; } diff --git a/hw/s390x/ipl.h b/hw/s390x/ipl.h index 8e3882d506..f4bc155103 100644 --- a/hw/s390x/ipl.h +++ b/hw/s390x/ipl.h @@ -18,6 +18,7 @@ #include "hw/qdev-core.h" #include "hw/s390x/ipl/qipl.h" #include "qom/object.h" +#include "target/s390x/kvm/pv.h" =20 #define DIAG308_FLAGS_LP_VALID 0x80 #define MAX_BOOT_DEVS 8 /* Max number of devices that may have a bootindex= */ @@ -26,8 +27,9 @@ void s390_ipl_convert_loadparm(char *ascii_lp, uint8_t *e= bcdic_lp); void s390_ipl_fmt_loadparm(uint8_t *loadparm, char *str, Error **errp); void s390_rebuild_iplb(uint16_t index, IplParameterBlock *iplb); void s390_ipl_update_diag308(IplParameterBlock *iplb); -int s390_ipl_prepare_pv_header(Error **errp); -int s390_ipl_pv_unpack(void); +int s390_ipl_prepare_pv_header(struct S390PvResponse *pv_resp, + Error **errp); +int s390_ipl_pv_unpack(struct S390PvResponse *pv_resp); void s390_ipl_prepare_cpu(S390CPU *cpu); IplParameterBlock *s390_ipl_get_iplb(void); IplParameterBlock *s390_ipl_get_iplb_pv(void); diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c index d9e683c5b4..0ca21621cc 100644 --- a/hw/s390x/s390-virtio-ccw.c +++ b/hw/s390x/s390-virtio-ccw.c @@ -364,7 +364,8 @@ static void s390_machine_unprotect(S390CcwMachineState = *ms) ram_block_discard_disable(false); } =20 -static int s390_machine_protect(S390CcwMachineState *ms) +static int s390_machine_protect(S390CcwMachineState *ms, + struct S390PvResponse *pv_resp) { Error *local_err =3D NULL; int rc; @@ -407,19 +408,19 @@ static int s390_machine_protect(S390CcwMachineState *= ms) } =20 /* Set SE header and unpack */ - rc =3D s390_ipl_prepare_pv_header(&local_err); + rc =3D s390_ipl_prepare_pv_header(pv_resp, &local_err); if (rc) { goto out_err; } =20 /* Decrypt image */ - rc =3D s390_ipl_pv_unpack(); + rc =3D s390_ipl_pv_unpack(pv_resp); if (rc) { goto out_err; } =20 /* Verify integrity */ - rc =3D s390_pv_verify(); + rc =3D s390_pv_verify(pv_resp); if (rc) { goto out_err; } @@ -450,8 +451,17 @@ static void s390_pv_prepare_reset(S390CcwMachineState = *ms) =20 static void s390_machine_reset(MachineState *machine, ResetType type) { + union Diag308Response { + struct { + struct S390PvResponse pv_resp; + uint16_t diag_rc; + }; + uint64_t regs; + }; + S390CcwMachineState *ms =3D S390_CCW_MACHINE(machine); enum s390_reset reset_type; + union Diag308Response resp; CPUState *cs, *t; S390CPU *cpu; =20 @@ -539,8 +549,9 @@ static void s390_machine_reset(MachineState *machine, R= esetType type) } run_on_cpu(cs, s390_do_cpu_reset, RUN_ON_CPU_NULL); =20 - if (s390_machine_protect(ms)) { - s390_pv_inject_reset_error(cs); + if (s390_machine_protect(ms, &resp.pv_resp)) { + resp.diag_rc =3D DIAG_308_RC_INVAL_FOR_PV; + s390_pv_inject_reset_error(cs, resp.regs); /* * Continue after the diag308 so the guest knows something * went wrong. diff --git a/target/s390x/kvm/pv.c b/target/s390x/kvm/pv.c index 66194caaae..3483603811 100644 --- a/target/s390x/kvm/pv.c +++ b/target/s390x/kvm/pv.c @@ -30,7 +30,7 @@ static struct kvm_s390_pv_info_vm info_vm; static struct kvm_s390_pv_info_dump info_dump; =20 static int __s390_pv_cmd(uint32_t cmd, const char *cmdname, void *data, - int *pvrc) + struct S390PvResponse *pv_resp) { struct kvm_pv_cmd pv_cmd =3D { .cmd =3D cmd, @@ -47,8 +47,10 @@ static int __s390_pv_cmd(uint32_t cmd, const char *cmdna= me, void *data, "IOCTL rc: %d", cmd, cmdname, pv_cmd.rc, pv_cmd.rrc, rc); } - if (pvrc) { - *pvrc =3D pv_cmd.rc; + if (pv_resp) { + pv_resp->cmd =3D cmd; + pv_resp->rc =3D pv_cmd.rc; + pv_resp->rrc =3D pv_cmd.rrc; } return rc; } @@ -57,8 +59,9 @@ static int __s390_pv_cmd(uint32_t cmd, const char *cmdnam= e, void *data, * This macro lets us pass the command as a string to the function so * we can print it on an error. */ -#define s390_pv_cmd(cmd, data) __s390_pv_cmd(cmd, #cmd, data, NULL) -#define s390_pv_cmd_pvrc(cmd, data, pvrc) __s390_pv_cmd(cmd, #cmd, data, p= vrc) +#define s390_pv_cmd(cmd, data) __s390_pv_cmd(cmd, #cmd, data, NULL) +#define s390_pv_cmd_pv_resp(cmd, data, pv_resp) \ + __s390_pv_cmd(cmd, #cmd, data, pv_resp) =20 static void s390_pv_cmd_exit(uint32_t cmd, void *data) { @@ -146,18 +149,19 @@ bool s390_pv_vm_try_disable_async(S390CcwMachineState= *ms) } =20 #define DIAG_308_UV_RC_INVAL_HOSTKEY 0x0108 -int s390_pv_set_sec_parms(uint64_t origin, uint64_t length, Error **errp) +int s390_pv_set_sec_parms(uint64_t origin, uint64_t length, + struct S390PvResponse *pv_resp, Error **errp) { - int ret, pvrc; + int ret; struct kvm_s390_pv_sec_parm args =3D { .origin =3D origin, .length =3D length, }; =20 - ret =3D s390_pv_cmd_pvrc(KVM_PV_SET_SEC_PARMS, &args, &pvrc); + ret =3D s390_pv_cmd_pv_resp(KVM_PV_SET_SEC_PARMS, &args, pv_resp); if (ret) { error_setg(errp, "Failed to set secure execution parameters"); - if (pvrc =3D=3D DIAG_308_UV_RC_INVAL_HOSTKEY) { + if (pv_resp->rc =3D=3D DIAG_308_UV_RC_INVAL_HOSTKEY) { error_append_hint(errp, "Please check whether the image is " "correctly encrypted for this host\n"); } @@ -169,7 +173,8 @@ int s390_pv_set_sec_parms(uint64_t origin, uint64_t len= gth, Error **errp) /* * Called for each component in the SE type IPL parameter block 0. */ -int s390_pv_unpack(uint64_t addr, uint64_t size, uint64_t tweak) +int s390_pv_unpack(uint64_t addr, uint64_t size, + uint64_t tweak, struct S390PvResponse *pv_resp) { struct kvm_s390_pv_unp args =3D { .addr =3D addr, @@ -177,7 +182,7 @@ int s390_pv_unpack(uint64_t addr, uint64_t size, uint64= _t tweak) .tweak =3D tweak, }; =20 - return s390_pv_cmd(KVM_PV_UNPACK, &args); + return s390_pv_cmd_pv_resp(KVM_PV_UNPACK, &args, pv_resp); } =20 void s390_pv_prep_reset(void) @@ -185,9 +190,9 @@ void s390_pv_prep_reset(void) s390_pv_cmd_exit(KVM_PV_PREP_RESET, NULL); } =20 -int s390_pv_verify(void) +int s390_pv_verify(struct S390PvResponse *pv_resp) { - return s390_pv_cmd(KVM_PV_VERIFY, NULL); + return s390_pv_cmd_pv_resp(KVM_PV_VERIFY, NULL, pv_resp); } =20 void s390_pv_unshare(void) @@ -195,13 +200,13 @@ void s390_pv_unshare(void) s390_pv_cmd_exit(KVM_PV_UNSHARE_ALL, NULL); } =20 -void s390_pv_inject_reset_error(CPUState *cs) +void s390_pv_inject_reset_error(CPUState *cs, uint64_t resp) { int r1 =3D (cs->kvm_run->s390_sieic.ipa & 0x00f0) >> 4; CPUS390XState *env =3D &S390_CPU(cs)->env; =20 /* Report that we are unable to enter protected mode */ - env->regs[r1 + 1] =3D DIAG_308_RC_INVAL_FOR_PV; + env->regs[r1 + 1] =3D resp; } =20 uint64_t kvm_s390_pv_dmp_get_size_cpu(void) diff --git a/target/s390x/kvm/pv.h b/target/s390x/kvm/pv.h index 5e9c8bd351..57bdd558dd 100644 --- a/target/s390x/kvm/pv.h +++ b/target/s390x/kvm/pv.h @@ -16,6 +16,12 @@ #include "system/kvm.h" #include "hw/s390x/s390-virtio-ccw.h" =20 +struct S390PvResponse { + uint16_t cmd; + uint16_t rrc; + uint16_t rc; +}; + #ifdef CONFIG_KVM #include "cpu.h" =20 @@ -42,12 +48,14 @@ int s390_pv_query_info(void); int s390_pv_vm_enable(void); void s390_pv_vm_disable(void); bool s390_pv_vm_try_disable_async(S390CcwMachineState *ms); -int s390_pv_set_sec_parms(uint64_t origin, uint64_t length, Error **errp); -int s390_pv_unpack(uint64_t addr, uint64_t size, uint64_t tweak); +int s390_pv_set_sec_parms(uint64_t origin, uint64_t length, + struct S390PvResponse *pv_resp, Error **errp); +int s390_pv_unpack(uint64_t addr, uint64_t size, uint64_t tweak, + struct S390PvResponse *pv_resp); void s390_pv_prep_reset(void); -int s390_pv_verify(void); +int s390_pv_verify(struct S390PvResponse *pv_resp); void s390_pv_unshare(void); -void s390_pv_inject_reset_error(CPUState *cs); +void s390_pv_inject_reset_error(CPUState *cs, uint64_t resp); uint64_t kvm_s390_pv_dmp_get_size_cpu(void); uint64_t kvm_s390_pv_dmp_get_size_mem_state(void); uint64_t kvm_s390_pv_dmp_get_size_completion_data(void); @@ -63,12 +71,14 @@ static inline int s390_pv_vm_enable(void) { return 0; } static inline void s390_pv_vm_disable(void) {} static inline bool s390_pv_vm_try_disable_async(S390CcwMachineState *ms) {= return false; } static inline int s390_pv_set_sec_parms(uint64_t origin, uint64_t length, + struct S390PvResponse *pv_resp, Error **errp) { return 0; } -static inline int s390_pv_unpack(uint64_t addr, uint64_t size, uint64_t tw= eak) { return 0; } +static inline int s390_pv_unpack(uint64_t addr, uint64_t size, uint64_t tw= eak, + struct S390PvResponse *pv_resp) { return = 0; } static inline void s390_pv_prep_reset(void) {} -static inline int s390_pv_verify(void) { return 0; } +static inline int s390_pv_verify(struct S390PvResponse *pv_resp) { return = 0; } static inline void s390_pv_unshare(void) {} -static inline void s390_pv_inject_reset_error(CPUState *cs) {}; +static inline void s390_pv_inject_reset_error(CPUState *cs, uint64_t resp)= {}; static inline uint64_t kvm_s390_pv_dmp_get_size_cpu(void) { return 0; } static inline uint64_t kvm_s390_pv_dmp_get_size_mem_state(void) { return 0= ; } static inline uint64_t kvm_s390_pv_dmp_get_size_completion_data(void) { re= turn 0; } --=20 2.49.0