From nobody Sat Feb 7 07:25:57 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=1770396455; cv=none; d=zohomail.com; s=zohoarc; b=ZKp3KlAk1S22afNMib+48JO+egsHCZ5Ja1LD/ylKxwVX7opkKM4xJvrmLaRxj3sTpqHYnDzr0tqeo+s8viA4JEMMbrxM6hafsWvMkCouoDHO4itY7fl78g2oX+xcfxnhKMoCEzEsCiyhGV1EH6YPN/HuFtqOIMT3q4uxGQpmD9E= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1770396455; h=Content-Transfer-Encoding:Cc:Cc:Date:Date:From:From:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:Sender:Subject:Subject:To:To:Message-Id:Reply-To; bh=KyBmiNjYfAQTjnFNdUCfuH/+a/RXBpqRAOB7G/7MyVg=; b=EMkWpNQXazMehyt3oV3dIPcOKzhszLUYeT8IyeDRVZCzpXvJvQw+ocuSUYlg70J3MSUuf4tUC7zyhsHfItKcRWoBbzOFretiCqZWIUJ1PJi/K4tuonomeFgj6pB6MjN+rF1zRt05qnocLSfUj4s9d+w5TirP/jsTlexKyNcHk+8= 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 17703964549241008.6838442953928; Fri, 6 Feb 2026 08:47:34 -0800 (PST) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1voOyw-0006xk-Ft; Fri, 06 Feb 2026 11:46:58 -0500 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 1voOyu-0006xM-1h; Fri, 06 Feb 2026 11:46:56 -0500 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 1voOys-00013x-Ja; Fri, 06 Feb 2026 11:46:55 -0500 Received: from pps.filterd (m0353729.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 616ERlcH016796; Fri, 6 Feb 2026 16:46:51 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 4c19dtme7k-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 06 Feb 2026 16:46:51 +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 616FtmCG009163; Fri, 6 Feb 2026 16:46:50 GMT Received: from smtprelay03.dal12v.mail.ibm.com ([172.16.1.5]) by ppma22.wdc07v.mail.ibm.com (PPS) with ESMTPS id 4c1veyf1h5-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Fri, 06 Feb 2026 16:46:50 +0000 Received: from smtpav02.wdc07v.mail.ibm.com (smtpav02.wdc07v.mail.ibm.com [10.39.53.229]) by smtprelay03.dal12v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id 616GkmTe20120274 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Fri, 6 Feb 2026 16:46:49 GMT Received: from smtpav02.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id C9BD65805F; Fri, 6 Feb 2026 16:46:48 +0000 (GMT) Received: from smtpav02.wdc07v.mail.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 063F058058; Fri, 6 Feb 2026 16:46:48 +0000 (GMT) Received: from IBM-GLTZVH3.austin.ibm.com (unknown [9.24.20.109]) by smtpav02.wdc07v.mail.ibm.com (Postfix) with ESMTP; Fri, 6 Feb 2026 16:46:47 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc :content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=pp1; bh=KyBmiNjYfAQTjnFNdUCfuH/+a/RXBpqRAOB7G/7My Vg=; b=hO56Z8JHpTlUoQOKnJXPBajXUdJ7sPdtATE6Ek2CjfH8DzlKvAHd0+Ui/ 0VV6GGGD2cdZeyaAXk74IWr9//nGTwF7VyWnKhNXR8xEd5TWqqPIC/6XxhnPLIoC e4NK4rPws6WbAA0EnWFFCANOE7I5JdJiQDJCqvUYA56/07D02KC944Q6xKqpcIF8 JqfaTIGvlFocI/8dX/KMwNMhMVma0zrxMkwMjKfD6LApwgDWmb4eRpkhVyJo+42Z ZBGnT8J+NoNSSnx1fYwCptJiIe5Sbqg28c+2lXWgbVvpleSeC5UGD1xudixUXJOz RaiBgHD2NZM/YJhEzE/PPphjXoJvg== From: Jaehoon Kim To: qemu-devel@nongnu.org, qemu-s390x@nongnu.org Cc: mjrosato@linux.ibm.com, farman@linux.ibm.com, pasic@linux.ibm.com, borntraeger@linux.ibm.com, thuth@redhat.com, richard.henderson@linaro.org, david@redhat.com, iii@linux.ibm.com, Jaehoon Kim Subject: [PATCH v1] s390x/pci: Fix endianness for zPCI BAR values. Date: Fri, 6 Feb 2026 10:46:02 -0600 Message-ID: <20260206164645.1845366-1-jhkim@linux.ibm.com> X-Mailer: git-send-email 2.43.0 MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-TM-AS-GCONF: 00 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjA2MDExOSBTYWx0ZWRfX02LI/wMV8AQL f6UXNM8s/WStIVbEJ2kGQv0qbRdyhopifJbIB86cphE1zcCdoOzOpmqg8EFAqZCrnX9VKraetQ8 zarDwEOn2BK+LHEONdEhPfY5X4sQqrGuvJ7zUESvTHVRA09CgeUWtMtXMphPibcWKe/2uLU7qE4 oDguuz9xgyl6Ca4bK0hIjvZDtWadVg35VG/Jt6xW6t74HGJXxgBM1QvHtoiuTF0CXaZmg09whf5 QO8VKXM/wOXg9OkJwW+6nR3ROZc+dD5Dtui724AVYp2oQLJ0OU/IZAfWeTYikHWsKh2NurErE/v Y0sC9SW5DAxUFK+WN4wYy7TVzNoHrSIIA8O18Y3BJ9ugvH8QKOwfiTk3Yv53PJ7AUA+QwwEBVJl Do86dHYhAYMQw2a0XEzfe9ZIrkYVKfFSpQGBZ7m6vvCSx0tr4iQkNLmrADIsofh/c6lPVmq09Ii wIs1rtGdV6hcjqCtnhA== X-Proofpoint-GUID: baOoMsaDxe0GDZnCTOTSfG4FFYPAj54X X-Proofpoint-ORIG-GUID: baOoMsaDxe0GDZnCTOTSfG4FFYPAj54X X-Authority-Analysis: v=2.4 cv=LesxKzfi c=1 sm=1 tr=0 ts=69861afb cx=c_pps a=5BHTudwdYE3Te8bg5FgnPg==:117 a=5BHTudwdYE3Te8bg5FgnPg==:17 a=HzLeVaNsDn8A:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=VnNF1IyMAAAA:8 a=GXBL7daYbpBQRAEtB7kA:9 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-06_05,2026-02-05_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 impostorscore=0 spamscore=0 lowpriorityscore=0 clxscore=1011 adultscore=0 suspectscore=0 priorityscore=1501 phishscore=0 malwarescore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.19.0-2601150000 definitions=main-2602060119 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=jhkim@linux.ibm.com; helo=mx0a-001b2d01.pphosted.com X-Spam_score_int: -19 X-Spam_score: -2.0 X-Spam_bar: -- X-Spam_report: (-2.0 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, 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: 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: 1770396457438158500 Content-Type: text/plain; charset="utf-8" During zPCI scan, BAR configuration data retrieved via CLP Query was misinterpreted due to an endianness mismatch between QEMU and the guest kernel. The guest kernel's clp_store_query_pci_fn() expects BAR values in little-endian format and converts them with le32_to_cpu(). However, QEMU was incorrectly sending them in big-endian format, not following the architecture specification. This caused incorrect bit-swapping in the kernel, leading zpci_setup_bus_resources() to perform registration checks against invalid flags, making the process ineffective. Observation values for zPCI device (NVMe passthrough): LPAR from real CLP: [ 0.865595] Resource: PCI Bus 0000:00 -> zdev->bar[0].val: 0x4 [ 0.865597] start: 0x4000000000000000 [ 0.865598] end: 0x4000000000003fff [ 0.865600] flags: 0x100200 QEMU before fix (wrong): [ 0.601083] Resource: PCI Bus 0001:00 -> zdev->bar[0].val: 0x4000000 [ 0.601085] start: 0x4003000000000000 [ 0.601086] end: 0x4003000000003fff [ 0.601087] flags: 0x200 QEMU after fix (correct): [ 0.601116] Resource: PCI Bus 0001:00 -> zdev->bar[0].val: 0x4 [ 0.601117] start: 0x4003000000000000 [ 0.601118] end: 0x4003000000003fff [ 0.601119] flags: 0x100200 Signed-off-by: Jaehoon Kim Reviewed-by: Farhan Ali=C2=A0 Reviewed-by: Matthew Rosato --- hw/s390x/s390-pci-inst.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hw/s390x/s390-pci-inst.c b/hw/s390x/s390-pci-inst.c index 6b67c3c109..10066ca618 100644 --- a/hw/s390x/s390-pci-inst.c +++ b/hw/s390x/s390-pci-inst.c @@ -307,7 +307,7 @@ int clp_service_call(S390CPU *cpu, uint8_t r2, uintptr_= t ra) uint32_t data =3D pci_get_long(pbdev->pdev->config + PCI_BASE_ADDRESS_0 + (i * 4)); =20 - stl_be_p(&resquery->bar[i], data); + stl_le_p(&resquery->bar[i], data); resquery->bar_size[i] =3D pbdev->pdev->io_regions[i].size ? ctz64(pbdev->pdev->io_regions[i].size)= : 0; trace_s390_pci_bar(i, --=20 2.50.1