Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/1.1/patches/2230837/?format=api
{ "id": 2230837, "url": "http://patchwork.ozlabs.org/api/1.1/patches/2230837/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260430054906.94431-5-amachhiw@linux.ibm.com/", "project": { "id": 2, "url": "http://patchwork.ozlabs.org/api/1.1/projects/2/?format=api", "name": "Linux PPC development", "link_name": "linuxppc-dev", "list_id": "linuxppc-dev.lists.ozlabs.org", "list_email": "linuxppc-dev@lists.ozlabs.org", "web_url": "https://github.com/linuxppc/wiki/wiki", "scm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git", "webscm_url": "https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git/" }, "msgid": "<20260430054906.94431-5-amachhiw@linux.ibm.com>", "date": "2026-04-30T05:49:03", "name": "[4/6] KVM: PPC: Book3S HV: Implement compat CPU capability retrieval for KVM on PowerVM", "commit_ref": null, "pull_url": null, "state": "new", "archived": false, "hash": "1052a8a78a17dca5c29eae2c1cc00e133b5fbc55", "submitter": { "id": 87864, "url": "http://patchwork.ozlabs.org/api/1.1/people/87864/?format=api", "name": "Amit Machhiwal", "email": "amachhiw@linux.ibm.com" }, "delegate": null, "mbox": "http://patchwork.ozlabs.org/project/linuxppc-dev/patch/20260430054906.94431-5-amachhiw@linux.ibm.com/mbox/", "series": [ { "id": 502205, "url": "http://patchwork.ozlabs.org/api/1.1/series/502205/?format=api", "web_url": "http://patchwork.ozlabs.org/project/linuxppc-dev/list/?series=502205", "date": "2026-04-30T05:48:59", "name": "KVM: PPC: Handle CPU compatibility mode for nested guests", "version": 1, "mbox": "http://patchwork.ozlabs.org/series/502205/mbox/" } ], "comments": "http://patchwork.ozlabs.org/api/patches/2230837/comments/", "check": "pending", "checks": "http://patchwork.ozlabs.org/api/patches/2230837/checks/", "tags": {}, "headers": { "Return-Path": "\n <linuxppc-dev+bounces-20336-incoming=patchwork.ozlabs.org@lists.ozlabs.org>", "X-Original-To": [ "incoming@patchwork.ozlabs.org", "linuxppc-dev@lists.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=Cx5io097;\n\tdkim-atps=neutral", "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-20336-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)", "lists.ozlabs.org;\n arc=none smtp.remote-ip=148.163.156.1", "lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com", "lists.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=Cx5io097;\n\tdkim-atps=neutral", "lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=linux.ibm.com\n (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=amachhiw@linux.ibm.com; receiver=lists.ozlabs.org)" ], "Received": [ "from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g5jvf43PDz1yHZ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 30 Apr 2026 15:50:54 +1000 (AEST)", "from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4g5jvf31kmz2xn3;\n\tThu, 30 Apr 2026 15:50:54 +1000 (AEST)", "from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n [148.163.156.1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4g5jvd3MMCz2xMY\n\tfor <linuxppc-dev@lists.ozlabs.org>; Thu, 30 Apr 2026 15:50:53 +1000 (AEST)", "from pps.filterd (m0360083.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id\n 63TNPjfX3102032;\n\tThu, 30 Apr 2026 05:50:45 GMT", "from ppma11.dal12v.mail.ibm.com\n (db.9e.1632.ip4.static.sl-reverse.com [50.22.158.219])\n\tby mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 4drn44x703-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 30 Apr 2026 05:50:44 +0000 (GMT)", "from pps.filterd (ppma11.dal12v.mail.ibm.com [127.0.0.1])\n\tby ppma11.dal12v.mail.ibm.com (8.18.1.7/8.18.1.7) with ESMTP id\n 63U5cq0A010295;\n\tThu, 30 Apr 2026 05:50:43 GMT", "from smtprelay07.fra02v.mail.ibm.com ([9.218.2.229])\n\tby ppma11.dal12v.mail.ibm.com (PPS) with ESMTPS id 4dsamyhbhb-1\n\t(version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT);\n\tThu, 30 Apr 2026 05:50:43 +0000 (GMT)", "from smtpav03.fra02v.mail.ibm.com (smtpav03.fra02v.mail.ibm.com\n [10.20.54.102])\n\tby smtprelay07.fra02v.mail.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n 63U5oeps52035998\n\t(version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK);\n\tThu, 30 Apr 2026 05:50:40 GMT", "from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 6340B20040;\n\tThu, 30 Apr 2026 05:50:40 +0000 (GMT)", "from smtpav03.fra02v.mail.ibm.com (unknown [127.0.0.1])\n\tby IMSVA (Postfix) with ESMTP id 267F720043;\n\tThu, 30 Apr 2026 05:50:37 +0000 (GMT)", "from localhost.localdomain (unknown [9.39.18.70])\n\tby smtpav03.fra02v.mail.ibm.com (Postfix) with ESMTP;\n\tThu, 30 Apr 2026 05:50:36 +0000 (GMT)" ], "ARC-Seal": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1777528254;\n\tcv=none;\n b=P9WfZonWB4m76N8lD0yejDkTnadytKVQpsFswYxDcHKfTgLcQ1EFQpPqgfqqxk/iDyJuF9bwV+N8Yh4mrDxgu+e1PJ2ZjRegoneVSdCZepasAyazzw2rXe2XjQGWsOzTM/LNPvEDgo/bMWTgHj9uQG1i6TZ8aQbevPtsw7Wj8SChSxPqX/SF0Jt0sh0KYvud4KkBLBfS9JDDlQuf3R8Otyk3AMtErWskNE02jrGQ2xr4awKaXoUX255MDVLIedhwUwe9DLCvff48v3OleXxqtRix90RgJZPPjKgjPEoc8Dy4EDG/lgKxOwTmuJI9ETYLcW+9aKcY7XFV6nGgPLnLZw==", "ARC-Message-Signature": "i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1777528254; c=relaxed/relaxed;\n\tbh=BhEenOdIb0zci+cfoD2CfrCg7b4bPrp2JC0oafympkM=;\n\th=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References:\n\t MIME-Version;\n b=b6bcyEzmesTyxDT6LTQys2nw276MiCq3nZqdBPF29VDxla02mSLLAuZh648GCi8j6oAG+LJAvUANqu2VQ+ZQl6zImnOnqTctDdHCJcN1fYCgRx119YQgNFzPvV74ASbgJL2xCLGiUSIQ2JCWmMAdnNh+yh0W/kPG/ey8rwiBvDB/ZwBKygD+sxgW4wwG5qO1pQ+wLQrk/T+aU2L8zsIYOXeUPUu+5EVqdCF8n+l6EngoNd4W5YyljDjAql6VcqOqQMjLeKaKxy9nvDeSJ0/tUSXosdVFRARoLy+dN79JBS2TmQ6REWWsL9n20zO/nV8ikGrw9IyL4X3lsY5SxF5K7Q==", "ARC-Authentication-Results": "i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=linux.ibm.com;\n dkim=pass (2048-bit key;\n unprotected) header.d=ibm.com header.i=@ibm.com header.a=rsa-sha256\n header.s=pp1 header.b=Cx5io097; dkim-atps=neutral;\n spf=pass (client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n envelope-from=amachhiw@linux.ibm.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=linux.ibm.com", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=cc\n\t:content-transfer-encoding:date:from:in-reply-to:message-id\n\t:mime-version:references:subject:to; s=pp1; bh=BhEenOdIb0zci+cfo\n\tD2CfrCg7b4bPrp2JC0oafympkM=; b=Cx5io0976BUxCqiqvdVFimnjVYME7bxy1\n\tEzM35Che9djq69jvITsug3m2/dNosTl3VIK78WMj5ptPPvDRZUKS8WHPxJH23WpL\n\t7qyvtmQva52tJ0WIIQS9RN/SCMe8tNqNEcVddzXQ6S75ZaJEUApZSALZHcZcKW7a\n\tSXhISXzP4vfBtLdB95xsqjqXnRbOsubCbnt2cBbRXDijK906/PztBL1ZbXaP/nyO\n\t4fwi7QSewl4DGsXNyFlOYzwOTbiC6z5DbVsFgb9wHRDDZKMNpmuKQWf/YxCeV2H0\n\tRsOc+2Nobjek28qSMkeiCyIEBGXDS1sAy9t/S0rmxjQiDgP4pBy1Q==", "From": "Amit Machhiwal <amachhiw@linux.ibm.com>", "To": "linuxppc-dev@lists.ozlabs.org, Madhavan Srinivasan <maddy@linux.ibm.com>", "Cc": "Amit Machhiwal <amachhiw@linux.ibm.com>,\n Vaibhav Jain <vaibhav@linux.ibm.com>,\n Nicholas Piggin <npiggin@gmail.com>,\n Michael Ellerman <mpe@ellerman.id.au>,\n \"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>,\n kvm@vger.kernel.org, linux-kernel@vger.kernel.org", "Subject": "[PATCH 4/6] KVM: PPC: Book3S HV: Implement compat CPU capability\n retrieval for KVM on PowerVM", "Date": "Thu, 30 Apr 2026 11:19:03 +0530", "Message-ID": "<20260430054906.94431-5-amachhiw@linux.ibm.com>", "X-Mailer": "git-send-email 2.50.1", "In-Reply-To": "<20260430054906.94431-1-amachhiw@linux.ibm.com>", "References": "<20260430054906.94431-1-amachhiw@linux.ibm.com>", "X-Mailing-List": "linuxppc-dev@lists.ozlabs.org", "List-Id": "<linuxppc-dev.lists.ozlabs.org>", "List-Help": "<mailto:linuxppc-dev+help@lists.ozlabs.org>", "List-Owner": "<mailto:linuxppc-dev+owner@lists.ozlabs.org>", "List-Post": "<mailto:linuxppc-dev@lists.ozlabs.org>", "List-Archive": "<https://lore.kernel.org/linuxppc-dev/>,\n <https://lists.ozlabs.org/pipermail/linuxppc-dev/>", "List-Subscribe": "<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>", "List-Unsubscribe": "<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>", "Precedence": "list", "MIME-Version": "1.0", "Content-Transfer-Encoding": "8bit", "X-TM-AS-GCONF": "00", "X-Proofpoint-Reinject": "loops=2 maxloops=12", "X-Proofpoint-ORIG-GUID": "fNuj-0nRG1olPKrXOSyc2CDSXB1z5DsD", "X-Authority-Analysis": "v=2.4 cv=Ft81OWrq c=1 sm=1 tr=0 ts=69f2edb5 cx=c_pps\n a=aDMHemPKRhS1OARIsFnwRA==:117 a=aDMHemPKRhS1OARIsFnwRA==:17\n a=A5OVakUREuEA:10 a=VkNPw1HP01LnGYTKEx00:22 a=RnoormkPH1_aCDwRdu11:22\n a=iQ6ETzBq9ecOQQE5vZCe:22 a=VnNF1IyMAAAA:8 a=lI54la875Hh5wgzWY30A:9", "X-Proofpoint-GUID": "Bf398W9isCBf2MLnAisWhCddQxZ6KQc7", "X-Proofpoint-Spam-Details-Enc": "AW1haW4tMjYwNDMwMDA1NSBTYWx0ZWRfXwgPs3Mzn4hHv\n 4Qban/7Ju94/giip/gc7xpq1kvGk1I3cilRfUUeLIr8pvZRUhms5E5XdvNDdkxPkrk+zu3mgC4z\n /0jp/7XXQ8cXGvwMoDU1nUZxgXBKDsAzJwbKH0Wx6cb47tM7unZvOJFPIxn7VnHrh2lhmzuWxys\n GpQCIH/k1R85ufNU66y3FfCsRpkEKNgylZgq+oWDVExmi8vRTmZ9PjZl8jnDzuwco6VYV4TCx+2\n Njw4sZ2kBAn74yOZEOTCiXTKJymCeMmGObrFe1aU4ia6R5jawHlYDSuJFYhJIYQrJ3rNPnmVbrE\n hCophTfjQB720rVmNnmsl3doPzKXi2M+owKDVBJNFshE1FG9AgaCOIOUAsVNZp2wTCO4tWvRtte\n ZkFqd47njVQxTqKPbXztXbAREL0fVYA5R+5EsR9kP/90gV+JdYUG1TuLdOwnUWVazh71jj1nQlx\n s3GwQ4iKKPhFXsGmCsw==", "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-30_01,2026-04-28_01,2025-10-01_01", "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n priorityscore=1501 lowpriorityscore=0 bulkscore=0 spamscore=0 impostorscore=0\n clxscore=1015 malwarescore=0 phishscore=0 suspectscore=0 adultscore=0\n classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0\n reason=mlx scancount=1 engine=8.22.0-2604200000 definitions=main-2604300055", "X-Spam-Status": "No, score=-0.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tRCVD_IN_DNSWL_LOW,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,\n\tSPF_PASS autolearn=disabled version=4.0.1 OzLabs 8", "X-Spam-Checker-Version": "SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org" }, "content": "On POWER systems, the host CPU may run in a compatibility mode (e.g., a\nPower11 processor operating in Power10 compatibility mode). In such\ncases, the effective CPU level exposed to guests differs from the\nphysical processor generation.\n\nWhen running nested KVM guests, QEMU derives the host CPU type using\nmfpvr(), which reflects the physical processor version. This can result\nin a mismatch between the CPU model selected by QEMU and the\ncompatibility mode enforced by the host, leading to guest boot failures.\n\nFor example, booting a nested guest on a Power11 LPAR configured in\nPower10 compatibility mode fails with:\n\n KVM-NESTEDv2: couldn't set guest wide elements\n [..KVM reg dump..]\n\nThis occurs because QEMU selects a CPU model corresponding to the\nphysical processor (via mfpvr()), while the host operates in a lower\ncompatibility mode. As a result, KVM rejects the requested compatibility\nlevel during guest initialization.\n\nAdd support for retrieving host CPU compatibility capabilities for\nnested guests on PowerVM (PAPR nested API v2). The hypervisor provides\nthe effective compatibility levels via the H_GUEST_GET_CAPABILITIES\nhcall, which reflects the processor modes negotiated between the Power\nhypervisor (L0) and the host partition (L1).\n\nOn pseries systems, obtain the capability bitmap using\nplpar_guest_get_capabilities() and return it via struct\nkvm_ppc_compat_caps. This information is then exposed to userspace\nthrough the KVM_PPC_GET_COMPAT_CAPS ioctl.\n\nHook the implementation into the Book3S HV kvmppc_ops so that it can be\ninvoked by the generic KVM ioctl handling code.\n\nSigned-off-by: Amit Machhiwal <amachhiw@linux.ibm.com>\n---\n arch/powerpc/kvm/book3s_hv.c | 17 +++++++++++++++++\n 1 file changed, 17 insertions(+)", "diff": "diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c\nindex 948c6b099a29..d602d90111d1 100644\n--- a/arch/powerpc/kvm/book3s_hv.c\n+++ b/arch/powerpc/kvm/book3s_hv.c\n@@ -6516,6 +6516,22 @@ static bool kvmppc_hash_v3_possible(void)\n \treturn true;\n }\n \n+\n+static int kvmppc_get_compat_cpu_caps(struct kvm_ppc_compat_caps *host_caps)\n+{\n+\n+\tunsigned long capabilities = 0;\n+\tlong rc = -EINVAL;\n+\n+\tif (kvmhv_on_pseries()) {\n+\t\tif (kvmhv_is_nestedv2())\n+\t\t\trc = plpar_guest_get_capabilities(0, &capabilities);\n+\t\thost_caps->compat_capabilities = capabilities;\n+\t}\n+\n+\treturn rc;\n+}\n+\n static struct kvmppc_ops kvm_ops_hv = {\n \t.get_sregs = kvm_arch_vcpu_ioctl_get_sregs_hv,\n \t.set_sregs = kvm_arch_vcpu_ioctl_set_sregs_hv,\n@@ -6558,6 +6574,7 @@ static struct kvmppc_ops kvm_ops_hv = {\n \t.hash_v3_possible = kvmppc_hash_v3_possible,\n \t.create_vcpu_debugfs = kvmppc_arch_create_vcpu_debugfs_hv,\n \t.create_vm_debugfs = kvmppc_arch_create_vm_debugfs_hv,\n+\t.get_compat_cpu_ver = kvmppc_get_compat_cpu_caps,\n };\n \n static int kvm_init_subcore_bitmap(void)\n", "prefixes": [ "4/6" ] }