From nobody Sun Jul 26 11:50:49 2026 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=1782829211; cv=none; d=zohomail.com; s=zohoarc; b=PGoeXk8J9a96TfnGe6WKoBORYJkeDPAw8c5gMACyN/nG8G7sn4Nfx/V58eSiBdHW32RBLIljiNhBLZ9I21TYHPeug5UoUbfoqqx3We4qCncZnMPCvtojrjNuJPaMZ8WYFVtIo4bUgeyXAp9ADNdEi1dgGyzd41+SDawPxIrfYAA= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782829211; 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=VCQRjRmRZXn9/OTU0I0PqUrGr+FVL9UTjjtm7RHSfgk=; b=hWWeTwBK08Dl54DOtNdzAagEjNMwGQ2McHLpREIqjNx1Zd+86XBFM+0/ElwDbKGI/KZDSJ4s4VhDVLJcNkAj9PYV5AvTdkO967TRHOT+dwMiEIF3P5oOUa4tQnNKim0Lb4UF/X5V22EbHmgtD4KBE9RMDkMCT3EnoidKIamhol0= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1782829211689952.8634028566889; Tue, 30 Jun 2026 07:20:11 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weZJF-00032D-LV; Tue, 30 Jun 2026 10:19:33 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1weZJE-00031w-MP; Tue, 30 Jun 2026 10:19:32 -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 1weZJD-0005Ud-4m; Tue, 30 Jun 2026 10:19:32 -0400 Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65UEIXqY2124739; Tue, 30 Jun 2026 14:19:29 GMT Received: from ppma23.wdc07v.mail.ibm.com (5d.69.3da9.ip4.static.sl-reverse.com [169.61.105.93]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4f26mjq020-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:29 +0000 (GMT) Received: from pps.filterd (ppma23.wdc07v.mail.ibm.com [127.0.0.1]) by ppma23.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 65UE4cDV015910; Tue, 30 Jun 2026 14:19:28 GMT Received: from smtprelay06.wdc07v.mail.ibm.com ([172.16.1.73]) by ppma23.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4f2tbhaj3m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:28 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (smtpav05.wdc07v.mail.ibm.com [10.39.53.232]) by smtprelay06.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 65UEJRTo10552052 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 30 Jun 2026 14:19:27 GMT Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id B5BCE58059; Tue, 30 Jun 2026 14:19:27 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id A462E58043; Tue, 30 Jun 2026 14:19:26 +0000 (GMT) Received: from t15.ibmuc.com (unknown [9.61.10.219]) by smtpav05.wdc07v.mail.ibm.com (Postfix) with ESMTP; Tue, 30 Jun 2026 14:19:26 +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=VCQRjRmRZXn9/OTU0 I0PqUrGr+FVL9UTjjtm7RHSfgk=; b=CfF99wl6dp5lsG6b1jlZKfXZqFs6R6zUW cag2bl1ZitHKve0KysTeXYofT8rvnxjYr1kPuJPgemNOr2SpLRpVAhm4wLetkEJN nZBPq7/oJP6UYKGKQJFNmE2FU6R482Esq4X4nV1OFrZWa3C4ClEHpcj5ZLfPC0Bt 5ICsUJJJhO/Ao+AQTp4NFurB/WB85XP80bb43zMlo/Q59I7CXkqT0JUypOCv/g0c PHdZUyLTBkPacyfeaUZbs6eyBAvF+SHmtnlL21ZG7E/ypUp6sp/2yIzhgubV9WoV 6KdK5KvVQ1MX9C/MxHJz6xQstamkXKJvtGEPi4B3iu0vkBh1YRZ/Q== From: jrossi@linux.ibm.com To: qemu-devel@nongnu.org, qemu-s390x@nongnu.org, cohuck@redhat.com, mjrosato@linux.ibm.com Cc: jrossi@linux.ibm.com, zycai@linux.ibm.com, jdaley@linux.ibm.com, jjherne@linux.ibm.com, farman@linux.ibm.com, nrb@linux.ibm.com Subject: [PATCH v2 1/6] pc-bios/s390-ccw: Refactor byte swapping Date: Tue, 30 Jun 2026 10:19:12 -0400 Message-ID: <20260630141917.673995-2-jrossi@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260630141917.673995-1-jrossi@linux.ibm.com> References: <20260630141917.673995-1-jrossi@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfXxTI0uW4q7imP 6lR4Mqve5uLUEpQC5yDbJoIjF7ZWlrouGCGLzrZEFozcYnf3w/2Orcan06eleAvov4z8bA1mOX3 Z8j4FvzsMGt4PwtpHdZMIM20HOkRvYSTTemze37mOBZbwiYTMfny9b91NwcsMqRc9qNyG0j1Ype 6jPeY4mKjXzWJPb9MgEQeRLBt001X1DZnndZaI67U26LFrmMNAkEnWLbJ74JlKMTyJ+OmwHChY8 BblxERNBfpSaq3qv4udmcmXjdzS1QpUdMwZxjtUv36cEM1zngoAUV73d3TJeCLU7pcm9mWAFoHs PM7en+psE8FIsXhdkaqYEQy/qbgBMjohjxVJDLNVtJesgHB+MgUlccU3GujIdqzdpVbt58S7Z6J AcxcEve0ytQpLHg9eVdqqAwf7iMoWVzIgAl/s9SBO4L0UonO/QTnlsC+Pabgfi7gny+mlhcqPo8 8nZpBWpKGQ3D0/haNpg== X-Proofpoint-GUID: CSXA6p9QLalY-n6jDtEHnPvHHYooAtC2 X-Authority-Analysis: v=2.4 cv=Z8bc2nRA c=1 sm=1 tr=0 ts=6a43d071 cx=c_pps a=3Bg1Hr4SwmMryq2xdFQyZA==:117 a=3Bg1Hr4SwmMryq2xdFQyZA==:17 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=RzCfie-kr_QcCd8fBx8p:22 a=VnNF1IyMAAAA:8 a=Mh-7s8SilpXd35hLZrsA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfX2zTxrnwreTB1 xj9fOmRtNgfbecZqivghQnUjhuY1ovpFpxAnnosm8MngoUgFToYCYkJKzZV9MYoxdQcGfh3mXw3 JuMi2nX9RAdSA+cB5KgG6qANBKZGkPk= X-Proofpoint-ORIG-GUID: CSXA6p9QLalY-n6jDtEHnPvHHYooAtC2 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-30_04,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 spamscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606300134 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=lists1p.gnu.org; Received-SPF: pass client-ip=148.163.158.5; envelope-from=jrossi@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_H3=0.001, RCVD_IN_MSPIKE_WL=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: qemu development 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: 1782829214082158500 Content-Type: text/plain; charset="utf-8" From: Zhuoying Cai Introduce local variables to cache the byte-swapped values eliminating some redundant byte swap operations. Additionally, do byte swap when polling to avoid a special case where endianness is preserved. Reviewed-by: Eric Farman Signed-off-by: Zhuoying Cai Signed-off-by: Jared Rossi Tested-by: Matthew Rosato --- pc-bios/s390-ccw/virtio.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c index 390b55c7b9..a448dc96e2 100644 --- a/pc-bios/s390-ccw/virtio.c +++ b/pc-bios/s390-ccw/virtio.c @@ -153,14 +153,14 @@ static void vr_bswap_descriptor(VRingDesc *desc) =20 void vring_send_buf(VRing *vr, void *p, int len, int flags) { - if (!be_ipl()) { - vr->avail->idx =3D bswap16(vr->avail->idx); - } + uint16_t avail_idx; + + avail_idx =3D be_ipl() ? vr->avail->idx : bswap16(vr->avail->idx); =20 /* For follow-up chains we need to keep the first entry point */ if (!(flags & VRING_HIDDEN_IS_CHAIN)) { - vr->avail->ring[vr->avail->idx % vr->num] =3D be_ipl() ? vr->next_= idx : - bswap16(vr-= >next_idx); + vr->avail->ring[avail_idx % vr->num] =3D be_ipl() ? vr->next_idx : + bswap16(vr->next= _idx); } =20 vr->desc[vr->next_idx].addr =3D (unsigned long)p; @@ -177,23 +177,23 @@ void vring_send_buf(VRing *vr, void *p, int len, int = flags) =20 /* Chains only have a single ID */ if (!(flags & VRING_DESC_F_NEXT)) { - vr->avail->idx++; - } - - if (!be_ipl()) { - vr->avail->idx =3D bswap16(vr->avail->idx); + avail_idx++; + vr->avail->idx =3D be_ipl() ? avail_idx : bswap16(avail_idx); } } =20 int vr_poll(VRing *vr) { - if (vr->used->idx =3D=3D vr->used_idx) { + uint16_t used_idx; + + used_idx =3D be_ipl() ? vr->used->idx : bswap16(vr->used->idx); + if (used_idx =3D=3D vr->used_idx) { vring_notify(vr); yield(); return 0; } =20 - vr->used_idx =3D vr->used->idx; /* Endianness is preserved */ + vr->used_idx =3D used_idx; vr->next_idx =3D 0; vr->desc[0].len =3D 0; vr->desc[0].flags =3D 0; --=20 2.54.0 From nobody Sun Jul 26 11:50:49 2026 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=1782829224; cv=none; d=zohomail.com; s=zohoarc; b=QokKYuwl+TyvxM+B6p0lmqye94Ncyc4Sk7eFYbBmIBw/6obPBYvI9wIRASdR9mKps3IXhergz+BuiH/MxRcxDQyMHhlDQgQh+Ny4DsSIJuFJeqKLBuY05lb7KHAz/elFvI7T1jBJEBDufG3uiJIPQv3GLVR1iAbNEwnXepVHz+s= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782829224; 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=GkUVrn5GmGXlnxlN8kAhn05OFJaJdCWtoN5kxvOb9i8=; b=XLppQCE7/KHxqq+aLPVCHYNtWYTLZO19VFUIYb1aBj/qOjvtsbxHlhKHucrpExFT0IXq29AoItq58q1bBzMQ1YsGTQys5qPI3Ix68cMtnNs5pQuOn1yaucbCdYrGAcYr8EtwC+O2KWKVjbQG+vS7yNgeT2QP0FTc/mfqY5hXYko= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 17828292240051001.6859158170523; Tue, 30 Jun 2026 07:20:24 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weZJI-00032z-Nz; Tue, 30 Jun 2026 10:19:36 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1weZJH-00032m-TW; Tue, 30 Jun 2026 10:19:35 -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 1weZJG-0005Ux-Go; Tue, 30 Jun 2026 10:19:35 -0400 Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65UEIGdX2428583; Tue, 30 Jun 2026 14:19:32 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 4f26qfy71q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:32 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 65UE4lPw014595; Tue, 30 Jun 2026 14:19:31 GMT Received: from smtprelay04.dal12v.mail.ibm.com ([172.16.1.6]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4f2s7w2qh8-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:31 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (smtpav05.wdc07v.mail.ibm.com [10.39.53.232]) by smtprelay04.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 65UEJUWM30933644 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 30 Jun 2026 14:19:30 GMT Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 049B758043; Tue, 30 Jun 2026 14:19:30 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id D85B058059; Tue, 30 Jun 2026 14:19:28 +0000 (GMT) Received: from t15.ibmuc.com (unknown [9.61.10.219]) by smtpav05.wdc07v.mail.ibm.com (Postfix) with ESMTP; Tue, 30 Jun 2026 14:19:28 +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=GkUVrn5GmGXlnxlN8 kAhn05OFJaJdCWtoN5kxvOb9i8=; b=tZhU+GpzzEljwjyoQWBAtZQsyD+t5l+0t eaCryar7DlxyuD21o+92nsgCdRjEC7nHT72d8UW5gt6jIv7rpDFWarbc+edS5l5P zwwDypNJNQH1zZNeGBxr6xVPesqUnl4peOzA7Y86O0VP9cLRuS/aDB0aFVs1rUGh M+8Ggd+pojWnnhqlABfXwH80cnN1X+X6HA6AlOFzqn4e9oYqCIwmySEvVMZPy3ds Qrwt1AHfI5mD2OG8YN19XxnbdG6PA8tzF/sE0qoq9Zn1uPyU/N5OApKayOXBOsUu bluRMvbqCM0eQXQNZYH+91pb+c9KMm8ndznWZcEysMpaUsNYX8Wxg== From: jrossi@linux.ibm.com To: qemu-devel@nongnu.org, qemu-s390x@nongnu.org, cohuck@redhat.com, mjrosato@linux.ibm.com Cc: jrossi@linux.ibm.com, zycai@linux.ibm.com, jdaley@linux.ibm.com, jjherne@linux.ibm.com, farman@linux.ibm.com, nrb@linux.ibm.com Subject: [PATCH v2 2/6] pc-bios/s390-ccw/virtio.c: Fix missing break for PCI notifications Date: Tue, 30 Jun 2026 10:19:13 -0400 Message-ID: <20260630141917.673995-3-jrossi@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260630141917.673995-1-jrossi@linux.ibm.com> References: <20260630141917.673995-1-jrossi@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Authority-Analysis: v=2.4 cv=RYqgzVtv c=1 sm=1 tr=0 ts=6a43d074 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=uAbxVGIbfxUO_5tXvNgY:22 a=VnNF1IyMAAAA:8 a=Sxcg1NAmVf1k-JGs9bUA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfX/2XrA4lPUrfv BmI3TUysSWGBsrXvJbdwPubyzMOm0wGJj8fkHlfuveNS2gsab2s4u9C4urehUUriCG/42kUsTkE RovaC02pKdwiZwYwqKUfAoUn+vXWYzs= X-Proofpoint-GUID: bJzcvqBkyDO3hL3EFa-4lqmNcg7dhbj8 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfXzRHvPyzj4BM0 P7TivN3J7MAU/5XI6NPPPw9VNbJHIfgMJjdbvEDtDN0c2BBsBNTkJKBBsMBT4f1MWLOYqba9NGI bhLAy856FM/twYMgXoGDQvfGjHfNRVnNpKuW8XWlmyDJ9H5qHWyCwMAsvu8FKB+k8tC9KYzQMCc Vtlnw76Eqr/2n7X85Bs3bZ2ySfmCOcD9nX+FTZSsv8AiMwOKhFLsObnpRi8+NABaxZ5Fd3lFodL W8CN7k7VNm+zylWGInbKg0iISFbd7DBZYxDw/15bIALX432ynBpIAsApI9vN+bpgi6T6hdNInUi nbBi0dN+RO5ysMm1BkXnra1jsEj9PMfIbKd4WtUxxBskhQQ01A8FuDMgYFk2THE/7DE9Nr5DF4W mE9lv/8HzC2/FyKyfILbwHyLBqo8ZD1aLRmWKReluty6en2GZs4CkyyR+XPlsj4U307hKjrRKsA Qz4O9XClOjKA67caY6A== X-Proofpoint-ORIG-GUID: bJzcvqBkyDO3hL3EFa-4lqmNcg7dhbj8 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-30_04,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 impostorscore=0 malwarescore=0 spamscore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501 suspectscore=0 bulkscore=0 clxscore=1015 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606300134 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=lists1p.gnu.org; Received-SPF: pass client-ip=148.163.156.1; envelope-from=jrossi@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_H4=0.001, RCVD_IN_MSPIKE_WL=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: qemu development 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: 1782829226098158500 Content-Type: text/plain; charset="utf-8" From: Jared Rossi Add a break after calling the PCI specific notification function instead of falling through to the default case. Signed-off-by: Jared Rossi Reviewed-by: Eric Farman Reviewed-by: Matthew Rosato Tested-by: Matthew Rosato --- pc-bios/s390-ccw/virtio.c | 1 + 1 file changed, 1 insertion(+) diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c index a448dc96e2..7883871033 100644 --- a/pc-bios/s390-ccw/virtio.c +++ b/pc-bios/s390-ccw/virtio.c @@ -115,6 +115,7 @@ bool vring_notify(VRing *vr) break; case S390_IPL_TYPE_PCI: vr->cookie =3D virtio_pci_notify(vr->id); + break; default: return 1; } --=20 2.54.0 From nobody Sun Jul 26 11:50:49 2026 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=1782829250; cv=none; d=zohomail.com; s=zohoarc; b=YUKJJTEdTjFATmNV892Ac3BG8KVB5ndB4dwwpbY6T4z7uNAEGkCq71hppgp+6Gf+FTL6x+S1aEhYZaPQOEKtl6VTsjCQY+Ounfl/DFLDCaR4RmwMwxbOeWRBLsa840e8urIPz9IC8bDSWLuyNBEFMRvTbatL8XegmWgE0T2r7wo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782829250; 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=1BBltrGI/a+XqFeqkwGvALd7IYv/Tv19qeAazZwvoSM=; b=fBpEboVInjcFQFdYnagXiqNNdKKP3UyeZ4gXTqCJyQbIC41zo5yQQdQPlnFJ7B8czHpFeo6Rlx5xOE4Nroy4vtTdEKW18AGRfX0B9e4evsGX4ViSzvc7wjQb3QzyRzjAAlRuOyKTT0vksLbhY5ekLtv/5mELBwN63SoNCK5Df30= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1782829250106201.8391572016377; Tue, 30 Jun 2026 07:20:50 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weZJL-00034X-1s; Tue, 30 Jun 2026 10:19:39 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1weZJJ-00033S-By; Tue, 30 Jun 2026 10:19:37 -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 1weZJH-0005VF-P8; Tue, 30 Jun 2026 10:19:37 -0400 Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65UEIwOm2172191; Tue, 30 Jun 2026 14:19:34 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 4f26q9xywt-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:34 +0000 (GMT) Received: from pps.filterd (ppma22.wdc07v.mail.ibm.com [127.0.0.1]) by ppma22.wdc07v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 65UE4mOp014607; Tue, 30 Jun 2026 14:19:33 GMT Received: from smtprelay06.dal12v.mail.ibm.com ([172.16.1.8]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4f2s7w2qhc-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:33 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (smtpav05.wdc07v.mail.ibm.com [10.39.53.232]) by smtprelay06.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 65UEJWJD19202672 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 30 Jun 2026 14:19:32 GMT Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1C0B358053; Tue, 30 Jun 2026 14:19:32 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0ABD358043; Tue, 30 Jun 2026 14:19:31 +0000 (GMT) Received: from t15.ibmuc.com (unknown [9.61.10.219]) by smtpav05.wdc07v.mail.ibm.com (Postfix) with ESMTP; Tue, 30 Jun 2026 14:19:30 +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=1BBltrGI/a+XqFeqk wGvALd7IYv/Tv19qeAazZwvoSM=; b=f6UDsLvxljGoauk1SICDgdWcdh+iWLo3S LunYOWhSFemf1ab2RsUzhZYQObkPy7ih4/j/QZzNT5toiXIRToIzeZNALIHgRK0W iys99u/f7/s1r8GJRy4+Q/uHODznrlCsULJfO2iKxYXmUaV6mQRNxoG71TovqLse RSKaXLl6uzytZyvu4Gv0jtQcuibGURZhB5s4QX/Hmuz8EB9siZ3zdDHVCbbwH4RQ QyEporUNpeDpjXxt+NqeAKc69olAUogm7Ljl0HgA4N2Bkqqz0JQA0P/a4NqwlHYy A0KkRrE0V5P0oUysfp3WDKx42i6UatGb7Y/VZmAa8r73xGvEg18Qw== From: jrossi@linux.ibm.com To: qemu-devel@nongnu.org, qemu-s390x@nongnu.org, cohuck@redhat.com, mjrosato@linux.ibm.com Cc: jrossi@linux.ibm.com, zycai@linux.ibm.com, jdaley@linux.ibm.com, jjherne@linux.ibm.com, farman@linux.ibm.com, nrb@linux.ibm.com Subject: [PATCH v2 3/6] pc-bios/s390-ccw: Add per-queue notification offset for multi-queue virtio configurations Date: Tue, 30 Jun 2026 10:19:14 -0400 Message-ID: <20260630141917.673995-4-jrossi@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260630141917.673995-1-jrossi@linux.ibm.com> References: <20260630141917.673995-1-jrossi@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfX1rR83yEI33Xr oWJhxQAAiHtjF87lMIqYRTSq4GwXxx/VIVszPfdIXTv7LnDk0T+Ds7bKlDHPnZgalsoc9BjbiYE qkgmGPnnlKjkEeyMPsqaLLUpTWfYGL3ZQQEm44bBOftfeZWDAEE0y0ugaA5cSO8TqHYX2tXzGhx VuIsLF3DuAKVlYADkTGAd5MCgBlm04CcBNIikhS4NG+EtHtCk70Jx+XgM4tvxTriWqkD8aa1yPo sbf6draRxvPo9hLhmqmvASJlkltsMYOlVpE6H3Qe+s244o9A0031bm2x0GqprbtEo6WJSCDSsFe UL0jwuAx1cJOSi5/oyLw9TEyeB1C2ScscxZPilQb19csE3Dxh7swcyFoW5oZ+ssLDu23XhcaqGX az8dzvdAZB67qsVpYxrYnecsfuitu0HwjhTygRKbj6lWFUWut1WTGVNlU5Aap978Z+oJAV8NMCc u3nC9U9bdhP4++w0SDg== X-Proofpoint-Spam-Info: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfX4LKlPCFieWI+ 7pwUZYctiu3P4Hzhqt28kjuvtfAwPcl+csZ0PnAK/ky+J2ni0Ltv0B3sd8md/07QDpiZOiRCfQQ 9gFCd1H3FzcIqPcYHygtzoLrwVwEA30= X-Proofpoint-GUID: dWwiwTXGF340zwYzg0zZJ5Ebsav9iY_E X-Proofpoint-ORIG-GUID: dWwiwTXGF340zwYzg0zZJ5Ebsav9iY_E X-Authority-Analysis: v=2.4 cv=WZ88rUhX c=1 sm=1 tr=0 ts=6a43d076 cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=Y2IxJ9c9Rs8Kov3niI8_:22 a=VnNF1IyMAAAA:8 a=J-uy_QIm2an7eANbOmAA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-30_04,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 phishscore=0 clxscore=1015 bulkscore=0 impostorscore=0 priorityscore=1501 lowpriorityscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606300134 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=lists1p.gnu.org; Received-SPF: pass client-ip=148.163.158.5; envelope-from=jrossi@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_H3=0.001, RCVD_IN_MSPIKE_WL=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: qemu development 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: 1782829252279158500 Content-Type: text/plain; charset="utf-8" From: Zhuoying Cai The initial support for virtio-blk-pci IPL devices used a single virt-queue= , but other device types require multiple queues, and for PCI device types this a= lso requires a per-queue notification offset. Add a PCI notify field to the VRing struct so that each queue has a unique notify offset as defined in the virtio spec. Signed-off-by: Zhuoying Cai Signed-off-by: Jared Rossi Reviewed-by: Eric Farman Tested-by: Matthew Rosato --- pc-bios/s390-ccw/virtio-pci.c | 38 +++++++++++++++++++++-------------- pc-bios/s390-ccw/virtio-pci.h | 2 +- pc-bios/s390-ccw/virtio.c | 2 +- pc-bios/s390-ccw/virtio.h | 1 + 4 files changed, 26 insertions(+), 17 deletions(-) diff --git a/pc-bios/s390-ccw/virtio-pci.c b/pc-bios/s390-ccw/virtio-pci.c index 53bdb52e76..2c83ec4f13 100644 --- a/pc-bios/s390-ccw/virtio-pci.c +++ b/pc-bios/s390-ccw/virtio-pci.c @@ -21,7 +21,6 @@ VirtioPciCap c_cap; /* Common capabilities */ VirtioPciCap d_cap; /* Device capabilities */ VirtioPciCap n_cap; /* Notify capabilities */ uint32_t notify_mult; -uint16_t q_notify_offset; =20 static int virtio_pci_set_status(uint8_t status) { @@ -74,10 +73,10 @@ int virtio_pci_reset(VDev *vdev) return 0; } =20 -long virtio_pci_notify(int vq_id) +long virtio_pci_notify(VRing *vr) { - uint32_t offset =3D n_cap.off + notify_mult * q_notify_offset; - return vpci_bswap16_write(offset, n_cap.bar, (uint16_t) vq_id); + uint32_t offset =3D n_cap.off + notify_mult * vr->pci_notify; + return vpci_bswap16_write(offset, n_cap.bar, (uint16_t) vr->id); } =20 /* @@ -301,8 +300,7 @@ static int virtio_pci_read_pci_cap_config(void) } =20 rc =3D vpci_read_bswap32(pos + VPCI_N_CAP_MULT, PCI_CFGBAR, ¬ify_mu= lt); - if (rc || vpci_read_bswap16(c_cap.off + VPCI_C_OFFSET_Q_NOFF, c_cap.ba= r, - &q_notify_offset)) { + if (rc) { puts("Failed to read notification queue configuration"); return -EIO; } @@ -332,7 +330,6 @@ int virtio_pci_setup(VDev *vdev) VRing *vr; int rc; uint8_t status; - uint16_t vq_size; int i =3D 0; =20 vdev->guessed_disk_nature =3D VIRTIO_GDN_NONE; @@ -380,28 +377,39 @@ int virtio_pci_setup(VDev *vdev) return -EIO; } =20 - if (vpci_read_bswap16(VPCI_C_OFFSET_Q_SIZE, c_cap.bar, &vq_size)) { - puts("Failed to read virt-queue configuration"); - return -EIO; - } - /* Configure virt-queues for pci */ for (i =3D 0; i < vdev->nr_vqs; i++) { + uint16_t vq_size; + uint16_t vq_notify; VqInfo info =3D { .queue =3D (unsigned long long) virtio_get_ring_area(i), .align =3D KVM_S390_VIRTIO_RING_ALIGN, .index =3D i, - .num =3D vq_size, + .num =3D 0, }; =20 vr =3D &vdev->vrings[i]; - vring_init(vr, &info); =20 - if (vpci_set_selected_vq(vr->id)) { + if (vpci_set_selected_vq(i)) { puts("Failed to set selected virt-queue"); return -EIO; } =20 + if (vpci_read_bswap16(c_cap.off + VPCI_C_OFFSET_Q_SIZE, c_cap.bar,= &vq_size)) { + printf("Failed to read virt-queue %d size\n", i); + return -EIO; + } + + info.num =3D vq_size; + + if (vpci_read_bswap16(c_cap.off + VPCI_C_OFFSET_Q_NOFF, c_cap.bar,= &vq_notify)) { + printf("Failed to read virt-queue %d notify offset\n", i); + return -EIO; + } + + vr->pci_notify =3D vq_notify; + vring_init(vr, &info); + rc =3D set_pci_vq_addr(VPCI_C_OFFSET_Q_DESCLO, vr->desc); rc |=3D set_pci_vq_addr(VPCI_C_OFFSET_Q_AVAILLO, vr->avail); rc |=3D set_pci_vq_addr(VPCI_C_OFFSET_Q_USEDLO, vr->used); diff --git a/pc-bios/s390-ccw/virtio-pci.h b/pc-bios/s390-ccw/virtio-pci.h index 90d07cb9a7..2494df1619 100644 --- a/pc-bios/s390-ccw/virtio-pci.h +++ b/pc-bios/s390-ccw/virtio-pci.h @@ -64,7 +64,7 @@ typedef struct VirtioPciCap VirtioPciCap; =20 void virtio_pci_id2type(VDev *vdev, uint16_t device_id); int virtio_pci_reset(VDev *vdev); -long virtio_pci_notify(int vq_id); +long virtio_pci_notify(VRing *vr); int virtio_pci_setup(VDev *vdev); int virtio_pci_setup_device(void); =20 diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c index 7883871033..df04479aa6 100644 --- a/pc-bios/s390-ccw/virtio.c +++ b/pc-bios/s390-ccw/virtio.c @@ -114,7 +114,7 @@ bool vring_notify(VRing *vr) vr->cookie =3D virtio_ccw_notify(vdev.schid, vr->id, vr->cookie); break; case S390_IPL_TYPE_PCI: - vr->cookie =3D virtio_pci_notify(vr->id); + vr->cookie =3D virtio_pci_notify(vr); break; default: return 1; diff --git a/pc-bios/s390-ccw/virtio.h b/pc-bios/s390-ccw/virtio.h index d32a4830ca..75ae5bdbc2 100644 --- a/pc-bios/s390-ccw/virtio.h +++ b/pc-bios/s390-ccw/virtio.h @@ -107,6 +107,7 @@ struct VRing { VRingUsed *used; long cookie; int id; + uint16_t pci_notify; }; typedef struct VRing VRing; =20 --=20 2.54.0 From nobody Sun Jul 26 11:50:49 2026 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=1782829264; cv=none; d=zohomail.com; s=zohoarc; b=OYGGYskP3GN5PvGgIWg5HRPb7RHwhqwi1/wv7fC3VXZQzrNxCz4NZo/Qh7w/56olulUlAOOXSpmDrkN4olz3AH0jTxZz2ucr6McMHPDxI2SAVdDIADG1h7t0ZD0mTB/rDANu2/JkN7RqxQLkhh8psJh4RZJ5X07DT//WawwXTHo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782829264; 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=3NVBzHrsjcXoL5VrRsXbVgS3KofagMRdHGLr2vz295U=; b=MQbNCDz07Mexl1AxPHikI7yX2ZAQW3Kt7Zoo+gKMWamFJ8yPRx2ndAcFwZhDZ5+BIsHMN+Q82/94bd5eGG/zpizHgiTRUJxpIEUIV+T35WPxKW3JZygONoPIfpor3Jjod+GH6MeOGMuQLB84zHMbcP67gHVFgHsgcvYfXeXCX3w= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1782829264421193.29334075482586; Tue, 30 Jun 2026 07:21:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weZJN-00036I-Kv; Tue, 30 Jun 2026 10:19:41 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1weZJL-00034z-FD; Tue, 30 Jun 2026 10:19:39 -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 1weZJJ-0005Vc-Tb; Tue, 30 Jun 2026 10:19:39 -0400 Received: from pps.filterd (m0356516.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65UEIYtJ2171574; Tue, 30 Jun 2026 14:19:36 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4f26q9xyx0-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:36 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 65UE4bqI012664; Tue, 30 Jun 2026 14:19:35 GMT Received: from smtprelay01.wdc07v.mail.ibm.com ([172.16.1.68]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4f2uhyac8j-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:35 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (smtpav05.wdc07v.mail.ibm.com [10.39.53.232]) by smtprelay01.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 65UEJYh78323850 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 30 Jun 2026 14:19:34 GMT Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 207D45805D; Tue, 30 Jun 2026 14:19:34 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 0F00658053; Tue, 30 Jun 2026 14:19:33 +0000 (GMT) Received: from t15.ibmuc.com (unknown [9.61.10.219]) by smtpav05.wdc07v.mail.ibm.com (Postfix) with ESMTP; Tue, 30 Jun 2026 14:19: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=3NVBzHrsjcXoL5VrR sXbVgS3KofagMRdHGLr2vz295U=; b=DEX0aTl9imoYSx2DVR2qfcZQms1fjqi2B 3U3sLkUEcPMiYVwgfNlfk7o+O3LDXn04j1sI9SmASEQ2lULOoCUkNkBNW/NqWThF /SWBWKshaErFDh+oa/Do8Cv8ZcQhjP5NzPFWxEZQmCBGvCG0y1gqyvSM5th+3Hnr Hnhz2oAk0tIQvpZweJ0GwKcwXFR8oBddNnMqeKHKxNPNNsKHfS6nt7MMICXFJ3Hi KS5N+grAKigDU4NBidrybj1RxcDNNIn3qw85dUeTf39hqnhgaYoIfeFQYgDD8xor S7gOh31/vCW4fEBfvE/R/2p11OX4I3pPYYiZGnQ3FUGA0sfhV9wsg== From: jrossi@linux.ibm.com To: qemu-devel@nongnu.org, qemu-s390x@nongnu.org, cohuck@redhat.com, mjrosato@linux.ibm.com Cc: jrossi@linux.ibm.com, zycai@linux.ibm.com, jdaley@linux.ibm.com, jjherne@linux.ibm.com, farman@linux.ibm.com, nrb@linux.ibm.com Subject: [PATCH v2 4/6] pc-bios/s390-ccw: Verify virtio support when booting from virtio PCI device on s390x Date: Tue, 30 Jun 2026 10:19:15 -0400 Message-ID: <20260630141917.673995-5-jrossi@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260630141917.673995-1-jrossi@linux.ibm.com> References: <20260630141917.673995-1-jrossi@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfX5SgwDJ1uN9F0 V6j5Ez+yOhH+ACbAMOGeVkN55i6wxd+JdLAlXg7ykZKTV79TLeSJH+CxIJbrOHTCTyGxEVbIF4P PaYa0qoYIxvHbP5VBAJ4JXKAyWJrkkEid+w1HyLZrXYs0bInt8WLUGeIKLyPI72cG2xj6Qt/Ye4 dX3P3CH2zJbVxAb0+nMrKm3CxCIXAnYXYdhaoQnMIEsVRcVwCmypJYoGb+FVTfVjjiu1DbQ8402 jIdGyk/myq/FXEPRFB7BxCYZ5aXiXIi9y3MiNqKgJPpZcY8MBtrcpvpM5wVctvyS20WwMYu3vXl EJe5vS4rvFqen00GlUgJ8eNu4CU+BT60huZjINoRlhQ6oLsuQSQHAvGNvfY3ouMDOSEbgbI9up/ aBVL4xY/ye3Ny/fBL/J+qWNNHtDxMlJWCDasyP21LRca/C+MjSBvR2Ddpmh4Xo9UqSFcKXKHI3l /uCF6InX5aDOopyihMA== X-Proofpoint-Spam-Info: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfX/Gvqhynwi1Yt Dj0NeLlzzjMiSdAqsvj/TKaNwheaIYKf7biFoRUOteNWmZAuKdmYfwA5HjXAVXC+bNQiieWc+2w AG/kJO6OTjC6JeOsYHBvfHC6YlFKJrM= X-Proofpoint-GUID: hZC4LRS0ZosACCqfxM9BVrKI-9kY3Qts X-Proofpoint-ORIG-GUID: hZC4LRS0ZosACCqfxM9BVrKI-9kY3Qts X-Authority-Analysis: v=2.4 cv=WZ88rUhX c=1 sm=1 tr=0 ts=6a43d078 cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=Y2IxJ9c9Rs8Kov3niI8_:22 a=VnNF1IyMAAAA:8 a=2yqyArzitvNQz83JccQA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-30_04,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 adultscore=0 phishscore=0 clxscore=1015 bulkscore=0 impostorscore=0 priorityscore=1501 lowpriorityscore=0 suspectscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606300134 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=lists1p.gnu.org; Received-SPF: pass client-ip=148.163.158.5; envelope-from=jrossi@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_H3=0.001, RCVD_IN_MSPIKE_WL=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: qemu development 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: 1782829266389158500 Content-Type: text/plain; charset="utf-8" From: Jared Rossi The virtio specification requires that each PCI device has a vendor ID of 0x1af4. Verify this value before continuing with boot process. Signed-off-by: Jared Rossi Reviewed-by: Eric Farman Tested-by: Matthew Rosato --- pc-bios/s390-ccw/main.c | 1 + pc-bios/s390-ccw/virtio-pci.c | 19 +++++++++++++++++++ pc-bios/s390-ccw/virtio-pci.h | 3 +++ pc-bios/s390-ccw/virtio.c | 2 ++ pc-bios/s390-ccw/virtio.h | 1 + 5 files changed, 26 insertions(+) diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index 26287cfd81..fb47d29bb1 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -163,6 +163,7 @@ static bool find_fid(uint32_t fid) } =20 vdev->pci_fh =3D entry.fh; + vdev->vendor_id =3D entry.vendor_id; virtio_pci_id2type(vdev, entry.device_id); =20 return vdev->dev_type !=3D 0; diff --git a/pc-bios/s390-ccw/virtio-pci.c b/pc-bios/s390-ccw/virtio-pci.c index 2c83ec4f13..f501252c81 100644 --- a/pc-bios/s390-ccw/virtio-pci.c +++ b/pc-bios/s390-ccw/virtio-pci.c @@ -325,6 +325,20 @@ static int enable_pci_bus_master(void) return 0; } =20 +bool virtio_pci_is_supported(VDev *vdev) +{ + if (vdev->vendor_id =3D=3D PCI_VENDOR_VIRTIO) { + switch (vdev->dev_type) { + case VIRTIO_ID_BLOCK: + return true; + default: + return false; + } + } + + return false; +} + int virtio_pci_setup(VDev *vdev) { VRing *vr; @@ -335,6 +349,11 @@ int virtio_pci_setup(VDev *vdev) vdev->guessed_disk_nature =3D VIRTIO_GDN_NONE; vdev->cmd_vr_idx =3D 0; =20 + if (!virtio_pci_is_supported(vdev)) { + puts("Virtio PCI unsupported for this device ID"); + return -ENODEV; + } + if (virtio_pci_read_pci_cap_config()) { puts("Invalid virtio PCI capabilities"); return -EIO; diff --git a/pc-bios/s390-ccw/virtio-pci.h b/pc-bios/s390-ccw/virtio-pci.h index 2494df1619..33b683bd92 100644 --- a/pc-bios/s390-ccw/virtio-pci.h +++ b/pc-bios/s390-ccw/virtio-pci.h @@ -56,6 +56,8 @@ =20 #define VIRTIO_F_VERSION_1 1 /* Feature bit 32 */ =20 +#define PCI_VENDOR_VIRTIO 0x1af4 + struct VirtioPciCap { uint8_t bar; /* Which PCIAS it's in */ uint32_t off; /* Offset within bar */ @@ -65,6 +67,7 @@ typedef struct VirtioPciCap VirtioPciCap; void virtio_pci_id2type(VDev *vdev, uint16_t device_id); int virtio_pci_reset(VDev *vdev); long virtio_pci_notify(VRing *vr); +bool virtio_pci_is_supported(VDev *vdev); int virtio_pci_setup(VDev *vdev); int virtio_pci_setup_device(void); =20 diff --git a/pc-bios/s390-ccw/virtio.c b/pc-bios/s390-ccw/virtio.c index df04479aa6..a0d249db24 100644 --- a/pc-bios/s390-ccw/virtio.c +++ b/pc-bios/s390-ccw/virtio.c @@ -247,6 +247,8 @@ bool virtio_is_supported(VDev *vdev) case S390_IPL_TYPE_QEMU_SCSI: case S390_IPL_TYPE_CCW: return virtio_ccw_is_supported(vdev); + case S390_IPL_TYPE_PCI: + return virtio_pci_is_supported(vdev); default: return false; } diff --git a/pc-bios/s390-ccw/virtio.h b/pc-bios/s390-ccw/virtio.h index 75ae5bdbc2..aa307025e0 100644 --- a/pc-bios/s390-ccw/virtio.h +++ b/pc-bios/s390-ccw/virtio.h @@ -259,6 +259,7 @@ struct VDev { bool scsi_device_selected; ScsiDevice selected_scsi_device; uint32_t pci_fh; + uint16_t vendor_id; uint32_t max_transfer; uint32_t guest_features[2]; }; --=20 2.54.0 From nobody Sun Jul 26 11:50:49 2026 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=1782829264; cv=none; d=zohomail.com; s=zohoarc; b=Yoc2iyJnsqm3geEdwoPRgw/CiHSYEFPj3st46DRSJsgKhxXqGcjFjxZF1lmFMyeLVfZ9DAMb9+jRwj3MIn+DTLJxC8kU9K/22miYZrS/f8JHvOeWW/uKHw1NNdmrrmm/cwrY28E8XyQfDauyVZ+Ag9kxg2UILmdM8ntF7RJFUBM= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782829264; 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=hHQ3pW9JcrtI+tPaRJvyGlJZ1wykwhIp5eYzCM93v8w=; b=Ti013XxXgWfIhMVgY9plVFPgHwZaDtnfNbEoNFqMtD4E3LWIaapJNEk9Nn5WsQ/jq6nN6NvO+cQX+Iz5BOI6+g/L0JvOLBFYZhMxwZgCFMU09TkFDE0af30yMIUtlwX/z/zoWiMZAIPjPXfH+aUddVljyPhxJwJ6jk6w1INHOZ0= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1782829264038193.35291519786597; Tue, 30 Jun 2026 07:21:04 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weZJP-000374-25; Tue, 30 Jun 2026 10:19:43 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1weZJN-00036J-Jt; Tue, 30 Jun 2026 10:19:41 -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 1weZJM-0005Vs-6d; Tue, 30 Jun 2026 10:19:41 -0400 Received: from pps.filterd (m0356517.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65UEIXAF2233767; Tue, 30 Jun 2026 14:19:38 GMT Received: from ppma11.dal12v.mail.ibm.com (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4f26n5q8be-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:38 +0000 (GMT) Received: from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1]) by ppma11.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 65UE4geI012687; Tue, 30 Jun 2026 14:19:37 GMT Received: from smtprelay03.wdc07v.mail.ibm.com ([172.16.1.70]) by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4f2uhyac8q-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:37 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (smtpav05.wdc07v.mail.ibm.com [10.39.53.232]) by smtprelay03.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 65UEJ3Hk15401684 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 30 Jun 2026 14:19:03 GMT Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 1839558053; Tue, 30 Jun 2026 14:19:36 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id F3B5458043; Tue, 30 Jun 2026 14:19:34 +0000 (GMT) Received: from t15.ibmuc.com (unknown [9.61.10.219]) by smtpav05.wdc07v.mail.ibm.com (Postfix) with ESMTP; Tue, 30 Jun 2026 14:19:34 +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=hHQ3pW9JcrtI+tPaR JvyGlJZ1wykwhIp5eYzCM93v8w=; b=l5E7u/TadVtdGFVEOWjLSUGYXr2oEKoDY AFizlHmZvYwrh5R9UCyk8n+dA1FkDc1uFQHu8erpSM+gvQSEofuYapfvA5EgejLj MNx3+728OWO2noc54G8OZKqAH1+qSyn2i8LrEFBh3t64LGp5Xd2lPMU63T50wH2r Siqu8bthCJXwVnIUMTZNkl0WuysDixlCjImva6kSkXt2adxm7hOxJjverqWvwIVo 2H4bu0PryOzv2IdQYrKktWfEGc6SO5++zY9hbQNjD5cLeMgViru65dasvk9JI3AF scCKt824FpjqYDjw4DdnpApySSngZHDqwVAMsanzMc2alzYZDXX8g== From: jrossi@linux.ibm.com To: qemu-devel@nongnu.org, qemu-s390x@nongnu.org, cohuck@redhat.com, mjrosato@linux.ibm.com Cc: jrossi@linux.ibm.com, zycai@linux.ibm.com, jdaley@linux.ibm.com, jjherne@linux.ibm.com, farman@linux.ibm.com, nrb@linux.ibm.com Subject: [PATCH v2 5/6] pc-bios/s390-ccw: write IPLB location for non-net virtio devices Date: Tue, 30 Jun 2026 10:19:16 -0400 Message-ID: <20260630141917.673995-6-jrossi@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260630141917.673995-1-jrossi@linux.ibm.com> References: <20260630141917.673995-1-jrossi@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfX4WIau6qSpn8J Om+Bc00MMFbJt1hiiQG4r+YAHENFTvA5j18CUadqr2cz4xr4Fd7Dwo3TetqIcBVV/aLpOASHkR5 JmJKJ1jySbX0q0AteXhQO4gAq2Minf6Jd/YNMCJtnlnl27dtYuFST1jk1xWLhezWjjZd/0DOTpc qWP/bRavbuw+KzIC4ALvdKMV9wPHs91SFirFiDa4rjNm6t354cWrfCOa5pwV6LWdoB3UVkn0soc qYdAswrbHAmv3asSWnxN1kc1no+CaD0Qccmlz2P4sUrxBARMxu4ZFEtYBdcY/RkoKRIQT2xf+Wm 3fTV3Bk9F5H0HUWlJ4/12SvIxj4Bm9eqDc5Ub9imFlghFsCwI82dxhjQih10tVOkk8VTzjQ/7zO /8NwDfcp4Cg8xaH3CsLsPhL4kZU0naMzYhTWIsSzbCLa72ksrar02W3go30DT3US1KU91xGx6gU N96U5BXROsviR8zxTbw== X-Authority-Analysis: v=2.4 cv=V45NF+ni c=1 sm=1 tr=0 ts=6a43d07a cx=c_pps a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=U7nrCbtTmkRpXpFmAIza:22 a=VnNF1IyMAAAA:8 a=Eh1SWvY1evcEpyuAkaEA:9 a=zgiPjhLxNE0A:10 X-Proofpoint-ORIG-GUID: y8Tsxp3xuYtT-kcXCGkhzXNAos3wI154 X-Proofpoint-GUID: y8Tsxp3xuYtT-kcXCGkhzXNAos3wI154 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfX5liUx1IN2VNM 1Bf7qqoD3ofPNJDKbAU8/8cItrz75GtGYZ7X47veOVl5Grnkw0ft15mJ4RCPuMZUSvBiR6qcLY3 9+lW7X5XqHWROOQbFwEeqeeYQy2c2iQ= X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-30_04,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 priorityscore=1501 adultscore=0 clxscore=1015 impostorscore=0 malwarescore=0 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606300134 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=lists1p.gnu.org; Received-SPF: pass client-ip=148.163.156.1; envelope-from=jrossi@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_H4=0.001, RCVD_IN_MSPIKE_WL=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: qemu development 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: 1782829266344158500 Content-Type: text/plain; charset="utf-8" From: Jared Rossi When IPL type is PCI, cutype is unknown, so the IPLB location does not get written to lowcore. Instead of checking cutype, check if the device is virtio generically, which covers both CCW and PCI variants. Net devices are excluded. Signed-off-by: Jared Rossi Reviewed-by: Eric Farman Tested-by: Matthew Rosato --- pc-bios/s390-ccw/main.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index fb47d29bb1..9c147ac5fa 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -52,7 +52,8 @@ void write_subsystem_identification(void) =20 void write_iplb_location(void) { - if (cutype =3D=3D CU_TYPE_VIRTIO && virtio_get_device_type() !=3D VIRT= IO_ID_NET) { + if (virtio_is_supported(virtio_get_device()) && + virtio_get_device_type() !=3D VIRTIO_ID_NET) { lowcore->ptr_iplb =3D ptr2u32(&iplb); } } --=20 2.54.0 From nobody Sun Jul 26 11:50:49 2026 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=1782829261; cv=none; d=zohomail.com; s=zohoarc; b=ao2j6A9OGIXe3Y5ifkyZFG2g8fVEIbUOuQiKml9/qcsVNzZRUjdvDz662ijZCoPlMe5MJ783xPODhysPmG3dUtZ5Rm2MFB2pWHO3F0PmhR4k2hjRRvFSQLZI0eTRBfgpCHhMNu95yVtajV/vZqPPNEZZmbw3306HHURVbN9ktXo= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1782829261; 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=SUsuvVGycvJIKnTNTPviKdDQDMcuXH65rjYwP/o8hjs=; b=e7EDpKrTtbf9yTfWVSFm+F96UJXOcCjwyMybi/8GVr1aLnys9OFZC8VKFnLIGttBDo7dMN+tZrj1m6JeciKqWQvKF9UceqXLGKSkIxQzZfpwhjFb/edDml0HGNx2WU+1h6k9C2SLN+vP8zEfMcfP0e0DFdNKsE2btdGWKkPEXUM= 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 lists1p.gnu.org (lists1p.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1782829261100142.61684177738493; Tue, 30 Jun 2026 07:21:01 -0700 (PDT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists1p.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1weZJR-00038D-Vz; Tue, 30 Jun 2026 10:19:46 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1weZJO-00036v-Pu; Tue, 30 Jun 2026 10:19:42 -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 1weZJN-0005WD-Fn; Tue, 30 Jun 2026 10:19:42 -0400 Received: from pps.filterd (m0360072.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 65UEIZax2124815; Tue, 30 Jun 2026 14:19:40 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 4f26mjq02p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:40 +0000 (GMT) Received: from pps.filterd (ppma13.dal12v.mail.ibm.com [127.0.0.1]) by ppma13.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id 65UE4ani007623; Tue, 30 Jun 2026 14:19:39 GMT Received: from smtprelay02.dal12v.mail.ibm.com ([172.16.1.4]) by ppma13.dal12v.mail.ibm.com (PPS) with ESMTPS id 4f2u2gaf9p-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 30 Jun 2026 14:19:39 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (smtpav05.wdc07v.mail.ibm.com [10.39.53.232]) by smtprelay02.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 65UEJc2w24904342 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Tue, 30 Jun 2026 14:19:38 GMT Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 13BCB58059; Tue, 30 Jun 2026 14:19:38 +0000 (GMT) Received: from smtpav05.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id EE00858043; Tue, 30 Jun 2026 14:19:36 +0000 (GMT) Received: from t15.ibmuc.com (unknown [9.61.10.219]) by smtpav05.wdc07v.mail.ibm.com (Postfix) with ESMTP; Tue, 30 Jun 2026 14:19:36 +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=SUsuvVGycvJIKnTNT PviKdDQDMcuXH65rjYwP/o8hjs=; b=FAgc1WZUO1PPjWiDwoxu5c3sJikLsLsEs ++D6NmU7BqjeMlGiaS3yqeDVSGgORm5GY86cHqeTL90g/BHPP9BojmWqLvuwQUTJ w9VBcJU+tWtF5FI3iYwRh4MZMGynoAULhPLqjYelMD3goR98SZehPorKqxx2uLpV OI1DXgmorb6lQKYA07D3LraASMTkwtQzADHwmKLYRJZPz4bND7tgfGgTNv/AkAw8 kXVpyOhA4VqEq5oIB8F4FiIJhIHZ++3Thj5TCU/STRXw4wK2VhOjyvCvAP3Qg2JO Mn8s3F4pprSi8WrlhMMsDCmvtUiiT2/osID+vgvY1x6FbxkBQMfrQ== From: jrossi@linux.ibm.com To: qemu-devel@nongnu.org, qemu-s390x@nongnu.org, cohuck@redhat.com, mjrosato@linux.ibm.com Cc: jrossi@linux.ibm.com, zycai@linux.ibm.com, jdaley@linux.ibm.com, jjherne@linux.ibm.com, farman@linux.ibm.com, nrb@linux.ibm.com Subject: [PATCH v2 6/6] s390x: Enable boot menu for virtio pci device Date: Tue, 30 Jun 2026 10:19:17 -0400 Message-ID: <20260630141917.673995-7-jrossi@linux.ibm.com> X-Mailer: git-send-email 2.43.5 In-Reply-To: <20260630141917.673995-1-jrossi@linux.ibm.com> References: <20260630141917.673995-1-jrossi@linux.ibm.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfX+xNwLC2JGbMf VKlw/B2QgJOG2athMa16Th888H5JVFoZA0TOcJBPs1uHMaqvoDyLebZUhB02lCqHG86zZ3PgV5h zBsSJQR1YIsBFDcLh+SVgdrFUEIenP9pOlcm3EnN1/C6Hd8p1pSHpXvOGxes0BXG6eBHxiwkgtf o64/23MToqitW8a6MFunqo3pTy9eFBRpG5J35xdBK2RWdkQXpVxKEw/yPyzdgPW4p6Whf6faxl2 TZf9dMNFq20kv74tcHULRkB0Jrb4Nv4k2YfDeeFXiDGs1utvQtmt4BpUMfCNoObBz3k+VyKwS5o V28JLxgphX7et+66ybxHc1D6KUmH0k6/baOHjc289FA7q/gY43k5v1zqeRoXbBzHhRBJSPsNlPa 86/QHas0pJE3Rd5tFLqXmSZ9U5uPx96pcHsKs7FB+XQgIJI6tr/TWWh16cz87pHD5KIjieqorUh k9m4d2b0hzp2Yiqw+kg== X-Proofpoint-GUID: FlLtM_bCGh-xn6V_Ea0tT9Hi-IheNzct X-Authority-Analysis: v=2.4 cv=Z8bc2nRA c=1 sm=1 tr=0 ts=6a43d07c cx=c_pps a=AfN7/Ok6k8XGzOShvHwTGQ==:117 a=AfN7/Ok6k8XGzOShvHwTGQ==:17 a=FelO9ux0wxsA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22 a=RzCfie-kr_QcCd8fBx8p:22 a=VnNF1IyMAAAA:8 a=UmcbZtfwkcGgJE0Tj-oA:9 X-Proofpoint-Spam-Info: AW1haW4tMjYwNjMwMDEzNCBTYWx0ZWRfX3p+nL1WwSw9K tA3mURUQNfyppsbXtpifkF4lOO1oB8N64ap1sfD67XpyTnNUq2jA4CRc0fr2hV7WauQop0bF/Nu 0TXbGC1wHISQ35IqIf22RX4f0N/B+Hs= X-Proofpoint-ORIG-GUID: FlLtM_bCGh-xn6V_Ea0tT9Hi-IheNzct X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.125,FMLib:17.12.100.49 definitions=2026-06-30_04,2026-06-26_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 clxscore=1015 adultscore=0 spamscore=0 priorityscore=1501 impostorscore=0 malwarescore=0 phishscore=0 bulkscore=0 lowpriorityscore=0 suspectscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2606150000 definitions=main-2606300134 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=lists1p.gnu.org; Received-SPF: pass client-ip=148.163.158.5; envelope-from=jrossi@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_H3=0.001, RCVD_IN_MSPIKE_WL=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: qemu development 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: 1782829262155158500 Content-Type: text/plain; charset="utf-8" From: Zhuoying Cai Add S390_IPL_TYPE_PCI to the boot menu handling logic to enable interactive boot menu support for virtio PCI devices on s390x. Reviewed-by: Eric Farman Signed-off-by: Zhuoying Cai Signed-off-by: Jared Rossi Reviewed-by: Matthew Rosato Tested-by: Matthew Rosato --- hw/s390x/ipl.c | 1 + pc-bios/s390-ccw/main.c | 1 + 2 files changed, 2 insertions(+) diff --git a/hw/s390x/ipl.c b/hw/s390x/ipl.c index 4cca21c621..d5fdc3ea0f 100644 --- a/hw/s390x/ipl.c +++ b/hw/s390x/ipl.c @@ -315,6 +315,7 @@ static void s390_ipl_set_boot_menu(S390IPLState *ipl) return; } break; + case S390_IPL_TYPE_PCI: case S390_IPL_TYPE_QEMU_SCSI: break; default: diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c index 9c147ac5fa..8bc6e8eaa3 100644 --- a/pc-bios/s390-ccw/main.c +++ b/pc-bios/s390-ccw/main.c @@ -185,6 +185,7 @@ static void menu_setup(VDev *vdev) =20 switch (vdev->ipl_type) { case S390_IPL_TYPE_CCW: + case S390_IPL_TYPE_PCI: case S390_IPL_TYPE_QEMU_SCSI: menu_set_parms(qipl.qipl_flags & BOOT_MENU_FLAG_MASK, qipl.boot_menu_timeout); --=20 2.54.0