{"id":2224568,"url":"http://patchwork.ozlabs.org/api/1.2/covers/2224568/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20260417154332.849664-1-jhkim@linux.ibm.com/","project":{"id":14,"url":"http://patchwork.ozlabs.org/api/1.2/projects/14/?format=json","name":"QEMU Development","link_name":"qemu-devel","list_id":"qemu-devel.nongnu.org","list_email":"qemu-devel@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260417154332.849664-1-jhkim@linux.ibm.com>","list_archive_url":null,"date":"2026-04-17T15:43:07","name":"[RFC,v1,0/1] hw/s390x/ccw: Disable legacy mode","submitter":{"id":91012,"url":"http://patchwork.ozlabs.org/api/1.2/people/91012/?format=json","name":"Jaehoon Kim","email":"jhkim@linux.ibm.com"},"mbox":"http://patchwork.ozlabs.org/project/qemu-devel/cover/20260417154332.849664-1-jhkim@linux.ibm.com/mbox/","series":[{"id":500368,"url":"http://patchwork.ozlabs.org/api/1.2/series/500368/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-devel/list/?series=500368","date":"2026-04-17T15:43:08","name":"hw/s390x/ccw: Disable legacy mode","version":1,"mbox":"http://patchwork.ozlabs.org/series/500368/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2224568/comments/","headers":{"Return-Path":"<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>","X-Original-To":"incoming@patchwork.ozlabs.org","Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=mftA3xi9;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from lists1p.gnu.org (lists1p.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fxzhk574Vz1yHp\n\tfor <incoming@patchwork.ozlabs.org>; Sat, 18 Apr 2026 01:44:37 +1000 (AEST)","from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wDlMO-0000w1-KU; Fri, 17 Apr 2026 11:44:00 -0400","from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <jhkim@linux.ibm.com>)\n id 1wDlMM-0000ve-Bd; Fri, 17 Apr 2026 11:43:58 -0400","from mx0a-001b2d01.pphosted.com ([148.163.156.1])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <jhkim@linux.ibm.com>)\n id 1wDlMJ-0006T3-7w; Fri, 17 Apr 2026 11:43:58 -0400","from pps.filterd (m0353729.ppops.net [127.0.0.1])\n by mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63H79uxD1843301; Fri, 17 Apr 2026 15:43:50 GMT","from ppma11.dal12v.mail.ibm.com\n (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])\n by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4dh89n3byu-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Fri, 17 Apr 2026 15:43:50 +0000 (GMT)","from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])\n by ppma11.dal12v.mail.ibm.com (8.18.1.2/8.18.1.2) with ESMTP id\n 63HDBFr1003253;\n Fri, 17 Apr 2026 15:43:49 GMT","from smtprelay03.wdc07v.mail.ibm.com ([172.16.1.70])\n by ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4djbh99ehn-1\n (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n Fri, 17 Apr 2026 15:43:49 +0000","from smtpav05.dal12v.mail.ibm.com (smtpav05.dal12v.mail.ibm.com\n [10.241.53.104])\n by smtprelay03.wdc07v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63HFhMtP29885006\n (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n Fri, 17 Apr 2026 15:43:22 GMT","from smtpav05.dal12v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id A9A0F5805D;\n Fri, 17 Apr 2026 15:43:47 +0000 (GMT)","from smtpav05.dal12v.mail.ibm.com (unknown [127.0.0.1])\n by IMSVA (Postfix) with ESMTP id 75ACA58052;\n Fri, 17 Apr 2026 15:43:47 +0000 (GMT)","from IBM-GLTZVH3.atx-us.ibm.com (unknown [9.16.58.46])\n by smtpav05.dal12v.mail.ibm.com (Postfix) with ESMTP;\n Fri, 17 Apr 2026 15:43:47 +0000 (GMT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n :content-transfer-encoding:date:from:message-id:mime-version\n :subject:to; s=pp1; bh=nDpGKUsNpC1jffcaTJTtsy+ohDIHggJ+utnKAhnY8\n K0=; b=mftA3xi9spV8BNRjj/ii5atZ3888er7exiW1hO8VFatLQre+Hw8oQR1hC\n 9Za4xlWHvRhFmVT23zjudg2EhK4vO6bOi/nH6YhDU8N4QX0Mm94tvfY7VfHpDHXb\n mRJjSjpdoHI8sq/JHQliDIAD1SmPLCoboYsZ9AQUcgDTUKRaaGBwqgj/IG8Y4VOE\n 91aiOe+l6nvJmMGyVuN6WERwYhwbMj8XJuV83+5OoUUC8PwZdW7aEuDhETLsj35g\n OCREXXJGVU3fh09vThvOP8EFxnc1HiO8eNxCb+clvjTM+DlpQ5odnS5W8LRmddfa\n c8x1fh6HK//9+Uv4+/fccax0bTZxA==","From":"Jaehoon Kim <jhkim@linux.ibm.com>","To":"qemu-devel@nongnu.org, qemu-s390x@nongnu.org","Cc":"richard.henderson@linaro.org, iii@linux.ibm.com, david@kernel.org,\n pasic@linux.ibm.com, borntraeger@linux.ibm.com, farman@linux.ibm.com,\n mjrosato@linux.ibm.com, cohuck@redhat.com,\n Jaehoon Kim <jhkim@linux.ibm.com>","Subject":"[PATCH RFC v1 0/1] hw/s390x/ccw: Disable legacy mode","Date":"Fri, 17 Apr 2026 10:43:07 -0500","Message-ID":"<20260417154332.849664-1-jhkim@linux.ibm.com>","X-Mailer":"git-send-email 2.43.0","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","X-TM-AS-GCONF":"00","X-Proofpoint-Spam-Details-Enc":"AW1haW4tMjYwNDE3MDE1NCBTYWx0ZWRfXxoqd0cNahnVK\n BVAzsGP5iTKVFx66T0catb0DbfrqqQrguhRUXR2Y7fg3CWlh3P9g1zRxlqtmSj9WtVRFRE3YLil\n zGvge/70cV4WOmYoFWmHO6dN67bfBy3iZ1VrWNqITTxvzgVKFy7YhABNt/0KYPgINYnq9euhvxI\n iGHEjZ1Ywv1Af9Ql3/s0FCSi2XTPpMOGawc+twyVbS2AXt4rW9hsLlQks8CGJXh5baHQqZv/5Aq\n 1W82YIe1g8BGxa3S90hUurtpEZ2RZd8k2i/cYmv1QmWQlp7Y2DzUut9gqylVboHib6Wg6tKPCEF\n wmdCbEStLKwlBDRTEh9P5Q7Wa5ntqpcL8QZa9HBn7LKkXrpLAjtHUJ7lM3UtxHEI3gWbHqCnGct\n iCg2NBrzZXvmh+PMQEuUQLaPZolY42Z3tmKSa29aBv8GSNNGZ390Y6RXQNBNQqXD8ZUP/KfYuVS\n McnjNjfuOc6Qxjp8Iqw==","X-Authority-Analysis":"v=2.4 cv=eJ4jSnp1 c=1 sm=1 tr=0 ts=69e25536 cx=c_pps\n a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=uAbxVGIbfxUO_5tXvNgY:22 a=YzhqieT6Xnwmm_frs9EA:9","X-Proofpoint-GUID":"dc1BQTiwdUbw3n9gEXaG6VR7iiy8gxwZ","X-Proofpoint-ORIG-GUID":"dc1BQTiwdUbw3n9gEXaG6VR7iiy8gxwZ","X-Proofpoint-Virus-Version":"vendor=baseguard\n engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49\n definitions=2026-04-17_01,2026-04-17_04,2025-10-01_01","X-Proofpoint-Spam-Details":"rule=outbound_notspam policy=outbound score=0\n malwarescore=0 lowpriorityscore=0 adultscore=0 priorityscore=1501\n clxscore=1011 bulkscore=0 suspectscore=0 spamscore=0 impostorscore=0\n phishscore=0 classifier=typeunknown authscore=0 authtc= authcc=\n route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2604070000\n definitions=main-2604170154","Received-SPF":"pass client-ip=148.163.156.1; envelope-from=jhkim@linux.ibm.com;\n 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,\n DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_LOW=-0.7,\n RCVD_IN_MSPIKE_H4=0.001, RCVD_IN_MSPIKE_WL=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n 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 <qemu-devel.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-devel>","List-Post":"<mailto:qemu-devel@nongnu.org>","List-Help":"<mailto:qemu-devel-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"Hello,\n\nThis RFC proposes disabling legacy virtio-pci devices by default on\ns390x starting from machine version 11.1.\n\nBackground:\n\nThe s390 kernel has never supported the legacy virtio-pci interface\ndespite QEMU advertising it. IO_SPACE_LIMIT has been 0 since the\ninitial zPCI implementation (commit cd24834130ac \"s390/pci: base\nsupport\"), making I/O BARs unusable, so our driver never supported it.\n\nWhen virtio-pci devices operate in transitional mode, QEMU\nunconditionally exposes the legacy interface via BAR0. During PCI\nenumeration, this results in firmware warnings such as:\n\n  pci 0005:00:00.0: [Firmware Bug]: BAR 0: invalid; can't size\n\neven though the BAR is never usable on the s390 kernel.\n\nIt was also observed that forcing legacy-only mode (disable-modern=on)\ndoes not work on s390x. The guest first attempts virtio_pci_modern_probe()\nand then falls back to virtio_pci_legacy_probe(), which tries to map BAR0\nvia pci_iomap(). Since IO_SPACE_LIMIT=0 on s390, the BAR is unusable, the\nmapping fails, and the device probe fails. This further confirms that\nlegacy support is not practically usable on s390x for new guests.\n\nThis patch closes this gap by disabling legacy virtio-pci support\nstarting from machine version 11.1, effectively making virtio-pci\ndevices non-transitional and preventing the creation of the unusable\nlegacy I/O BAR.\n\nImplementation:\n\nThe patch introduces s390x-specific global compatibility properties that\nset disable-legacy=on as the default for virtio-pci devices. Machine\nversions v11.0 and earlier set disable-legacy=off to maintain their\noriginal default behavior for compatibility.\n\nUsers can still override the default on the command line if needed:\n  - On v11.1+: -global virtio-pci.disable-legacy=off (to enable legacy)\n  - On v11.0-: -global virtio-pci.disable-legacy=on (to disable legacy)\n\nI would appreciate feedback on this approach.\n\nThanks,\nJaehoon Kim\n\nJaehoon Kim (1):\n  hw/s390x/ccw: Disable legacy virtio-pci by default (v11.1+)\n\n hw/s390x/s390-virtio-ccw.c | 23 +++++++++++++++++++++++\n 1 file changed, 23 insertions(+)"}