{"id":2222941,"url":"http://patchwork.ozlabs.org/api/patches/2222941/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-ppc/patch/20260414045911.63662-1-anisinha@redhat.com/","project":{"id":69,"url":"http://patchwork.ozlabs.org/api/projects/69/?format=json","name":"QEMU powerpc development","link_name":"qemu-ppc","list_id":"qemu-ppc.nongnu.org","list_email":"qemu-ppc@nongnu.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260414045911.63662-1-anisinha@redhat.com>","list_archive_url":null,"date":"2026-04-14T04:59:11","name":"[for-11.0,v3] accel/kvm: return early from kvm_irqchip_create if kvm does not support irqchip","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"a3e8bcf5c6edab4d9a11db372559c55f21a1225b","submitter":{"id":86030,"url":"http://patchwork.ozlabs.org/api/people/86030/?format=json","name":"Ani Sinha","email":"anisinha@redhat.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/qemu-ppc/patch/20260414045911.63662-1-anisinha@redhat.com/mbox/","series":[{"id":499775,"url":"http://patchwork.ozlabs.org/api/series/499775/?format=json","web_url":"http://patchwork.ozlabs.org/project/qemu-ppc/list/?series=499775","date":"2026-04-14T04:59:11","name":"[for-11.0,v3] accel/kvm: return early from kvm_irqchip_create if kvm does not support irqchip","version":3,"mbox":"http://patchwork.ozlabs.org/series/499775/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2222941/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2222941/checks/","tags":{},"related":[],"headers":{"Return-Path":"<qemu-ppc-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 (1024-bit key;\n unprotected) header.d=redhat.com header.i=@redhat.com header.a=rsa-sha256\n header.s=mimecast20190719 header.b=EUV4L0BZ;\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-ppc-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 4fvsXh4Zc4z1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 15:00:19 +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-ppc-bounces@nongnu.org>)\n\tid 1wCVsU-0006yO-Aa; Tue, 14 Apr 2026 00:59:58 -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 <anisinha@redhat.com>)\n id 1wCVsN-0006xG-8w\n for qemu-ppc@nongnu.org; Tue, 14 Apr 2026 00:59:51 -0400","from us-smtp-delivery-124.mimecast.com ([170.10.133.124])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <anisinha@redhat.com>)\n id 1wCVsL-00034P-1R\n for qemu-ppc@nongnu.org; Tue, 14 Apr 2026 00:59:51 -0400","from mail-pl1-f199.google.com (mail-pl1-f199.google.com\n [209.85.214.199]) by relay.mimecast.com with ESMTP with STARTTLS\n (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id\n us-mta-618-DYL13kdFPhy6haTQ4srQog-1; Tue, 14 Apr 2026 00:59:45 -0400","by mail-pl1-f199.google.com with SMTP id\n d9443c01a7336-2b2e8bba2e6so34704445ad.1\n for <qemu-ppc@nongnu.org>; Mon, 13 Apr 2026 21:59:45 -0700 (PDT)","from localhost.localdomain ([122.163.114.34])\n by smtp.googlemail.com with ESMTPSA id\n d9443c01a7336-2b2d4f25df6sm137413715ad.56.2026.04.13.21.59.39\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Mon, 13 Apr 2026 21:59:43 -0700 (PDT)"],"DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com;\n s=mimecast20190719; t=1776142787;\n h=from:from:reply-to:subject:subject:date:date:message-id:message-id:\n to:to:cc:cc:mime-version:mime-version:content-type:content-type:\n content-transfer-encoding:content-transfer-encoding;\n bh=hJZy2UscdG/YlP+O1GnZDMkC3Cg3TXz5lN5hulBLqC0=;\n b=EUV4L0BZEPP33m1kHQvVLmMtSm3Xwh5SC44KERV6JU+cZwbo7E2fwZ7u/mnlYBHY2VwGl1\n /OnpG0VlwLBmZRo9Q1tBGmS8jE+rKCimZEXv3EQxxo9UhYIvDhRY6rqj2tCiI4iZ3QVim2\n ju49EDso4Q5eVG3613mvSW45+XKi4BQ=","X-MC-Unique":"DYL13kdFPhy6haTQ4srQog-1","X-Mimecast-MFC-AGG-ID":"DYL13kdFPhy6haTQ4srQog_1776142784","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1776142784; x=1776747584;\n h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n :message-id:reply-to;\n bh=hJZy2UscdG/YlP+O1GnZDMkC3Cg3TXz5lN5hulBLqC0=;\n b=dqruUplG5N4wador6M+oxlZZwop64JghN17YFVZI1HdsjqqBTKPPhHVLPyodvkfPA+\n N9XNaAq1v5EhapH4JXqje6tqvgB5h07WKp3cmb8B4B5B0Zrdkbgd/XgqfyVwnytsbJvt\n tIQK0jHQz0nADXHfdKOVCANEmrAprmxXimCn2+gxYWRSXu9KbACNsTqpNQs5XiHw/uHE\n JIUra54l/7IN4fcRIohqo6mX1qdDqxK9Zh6MDv6zp2RATqneM9BaGeKnY9KBrJGXazNk\n j6aFPChZCmPRn7Bt9KJivwRt+15q9/vl6UTzG2wlQBh5q/Uidlvrvf9Aba2CZva/2hq1\n NTUQ==","X-Gm-Message-State":"AOJu0YzJQFZKOX6ZOepBeZhPQkV9YZjqlpEucNGl9dSDeJ8VfHyla0uz\n DSnrM5uQIVpkMlxoZx1/e5/1QY6BJe+vjEV/cvrClESiJ22WPHnC5TIdT7e3IpVQqYu/1H0u2WH\n j4J34DBpX2HphikaXM+tIt0p3/lOzRLXvNZR5PhaUBR+qw2/ZuvZBdw==","X-Gm-Gg":"AeBDieuU0KDMwMKCDY9N89JcW5wFlI4QAPtkHpplUGcAqcDGh412D+NWyf8o1q5l5E8\n ydJTvTqrs76SUggltFqidjCLVBUFCQlJkIE+dI0QFHfA2KWXgkFOiWMpyvtf5tOMsRfh/KC4/FS\n R1nMtKOsuEy3OudWCxGvpS9Asrd+4z/qtCfanV2zkQ3DJXOYqkpvNPghGOXo2FedEBetwsIR9CN\n HiSMPahsNTphNh7LcUDmg85RbvLhHatfj3y7Aq/jHLg3dxutJz1UqwCupBNsgAQVWjSFODLfUrr\n QGQqvAs0GDq3MeZ8CX738m5MibcvKEEMr7vVUAbYwbgZkSS5yMM6t1zV9vI8ayZgHmP3Fkzj2D9\n 0Xw1IGz0y2hEksgx6W3NdMC6cJmZpdNzDQq6V/92ix8Mlcp+7vS3WkXnueaD7/8SsKNPYouGOIV\n xGWqQo7g==","X-Received":["by 2002:a17:903:38cc:b0:2b0:60f1:de58 with SMTP id\n d9443c01a7336-2b2d5a95893mr166867935ad.45.1776142784482;\n Mon, 13 Apr 2026 21:59:44 -0700 (PDT)","by 2002:a17:903:38cc:b0:2b0:60f1:de58 with SMTP id\n d9443c01a7336-2b2d5a95893mr166867635ad.45.1776142783844;\n Mon, 13 Apr 2026 21:59:43 -0700 (PDT)"],"From":"Ani Sinha <anisinha@redhat.com>","To":"Paolo Bonzini <pbonzini@redhat.com>","Cc":"qemu-ppc@nongnu.org, Ani Sinha <anisinha@redhat.com>,\n Misbah Anjum N <misanjum@linux.ibm.com>,\n Gautam Menghani <gautam@linux.ibm.com>, Fabiano Rosas <farosas@suse.de>,\n Harsh Prateek Bora <harshpb@linux.ibm.com>,\n Peter Maydell <peter.maydell@linaro.org>, kvm@vger.kernel.org,\n qemu-devel@nongnu.org","Subject":"[PATCH for-11.0 v3] accel/kvm: return early from kvm_irqchip_create\n if kvm does not support irqchip","Date":"Tue, 14 Apr 2026 10:29:11 +0530","Message-ID":"<20260414045911.63662-1-anisinha@redhat.com>","X-Mailer":"git-send-email 2.49.0","MIME-Version":"1.0","X-Mimecast-Spam-Score":"0","X-Mimecast-MFC-PROC-ID":"YjKrliO2DWl7lVmV3a3NcZAKgtpwbv4v7KruKzSQqUo_1776142784","X-Mimecast-Originator":"redhat.com","Content-Transfer-Encoding":"8bit","content-type":"text/plain; charset=\"US-ASCII\"; x-default=true","Received-SPF":"pass client-ip=170.10.133.124;\n envelope-from=anisinha@redhat.com;\n helo=us-smtp-delivery-124.mimecast.com","X-Spam_score_int":"-25","X-Spam_score":"-2.6","X-Spam_bar":"--","X-Spam_report":"(-2.6 / 5.0 requ) BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.54,\n DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=0.001,\n RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001,\n SPF_HELO_PASS=-0.001,\n SPF_PASS=-0.001 autolearn=unavailable autolearn_force=no","X-Spam_action":"no action","X-BeenThere":"qemu-ppc@nongnu.org","X-Mailman-Version":"2.1.29","Precedence":"list","List-Id":"<qemu-ppc.nongnu.org>","List-Unsubscribe":"<https://lists.nongnu.org/mailman/options/qemu-ppc>,\n <mailto:qemu-ppc-request@nongnu.org?subject=unsubscribe>","List-Archive":"<https://lists.nongnu.org/archive/html/qemu-ppc>","List-Post":"<mailto:qemu-ppc@nongnu.org>","List-Help":"<mailto:qemu-ppc-request@nongnu.org?subject=help>","List-Subscribe":"<https://lists.nongnu.org/mailman/listinfo/qemu-ppc>,\n <mailto:qemu-ppc-request@nongnu.org?subject=subscribe>","Errors-To":"qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org","Sender":"qemu-ppc-bounces+incoming=patchwork.ozlabs.org@nongnu.org"},"content":"During refactoring of kvm_irqchip_create(), the refactored code was returning\nearly from do_kvm_irqchip_create() function if the required essential\ncapabilities were not present in KVM. This was not translating to an early\nreturn from kvm_irqchip_create() as was the case before refactoring.\nThis is because, do_kvm_irqchip_create() did not have a means to notify the\ncaller of the lack of required kvm capabilities. Fix this by making\ndo_notify_irqchip_create() return EOPNOTSUPP error when  capabilities\nare absent and then the caller can check the return code and return early.\n\nDue to this regression during refactoring, all KVM guests on ppc64le hang\nimmediately during startup and this completely breaks all functionality on\nthat platform.\n\nFixes: 98884e0cc1 (\"accel/kvm: add changes required to support KVM VM file descriptor change\")\nMessage-ID: <20260413090010.60339-1-anisinha@redhat.com>\nReported-by: Misbah Anjum N <misanjum@linux.ibm.com>\nReported-by: Gautam Menghani <gautam@linux.ibm.com>\nSuggested-by: Fabiano Rosas <farosas@suse.de>\nSuggested-by: Harsh Prateek Bora <harshpb@linux.ibm.com>\nTested-by: Misbah Anjum N <misanjum@linux.ibm.com>\nReviewed-by: Peter Maydell <peter.maydell@linaro.org>\nSigned-off-by: Ani Sinha <anisinha@redhat.com>\n---\n accel/kvm/kvm-all.c | 11 ++++++++---\n 1 file changed, 8 insertions(+), 3 deletions(-)\n\nchangelogs:\nv2: refactoring included which will resubmitted again for 11.1\nv3: basically v1 with tags added.","diff":"diff --git a/accel/kvm/kvm-all.c b/accel/kvm/kvm-all.c\nindex 774499d34f..92af42503b 100644\n--- a/accel/kvm/kvm-all.c\n+++ b/accel/kvm/kvm-all.c\n@@ -2575,7 +2575,7 @@ void kvm_irqchip_set_qemuirq_gsi(KVMState *s, qemu_irq irq, int gsi)\n     g_hash_table_insert(s->gsimap, irq, GINT_TO_POINTER(gsi));\n }\n \n-static void do_kvm_irqchip_create(KVMState *s)\n+static int do_kvm_irqchip_create(KVMState *s)\n {\n     int ret;\n     if (kvm_check_extension(s, KVM_CAP_IRQCHIP)) {\n@@ -2587,7 +2587,7 @@ static void do_kvm_irqchip_create(KVMState *s)\n             exit(1);\n         }\n     } else {\n-        return;\n+        return -EOPNOTSUPP;\n     }\n \n     if (kvm_check_extension(s, KVM_CAP_IRQFD) <= 0) {\n@@ -2610,13 +2610,17 @@ static void do_kvm_irqchip_create(KVMState *s)\n         fprintf(stderr, \"Create kernel irqchip failed: %s\\n\", strerror(-ret));\n         exit(1);\n     }\n+\n+    return 0;\n }\n \n static void kvm_irqchip_create(KVMState *s)\n {\n     assert(s->kernel_irqchip_split != ON_OFF_AUTO_AUTO);\n \n-    do_kvm_irqchip_create(s);\n+    if (do_kvm_irqchip_create(s) < 0) {\n+        return;\n+    }\n     kvm_kernel_irqchip = true;\n     /* If we have an in-kernel IRQ chip then we must have asynchronous\n      * interrupt delivery (though the reverse is not necessarily true)\n@@ -2835,6 +2839,7 @@ static int kvm_reset_vmfd(MachineState *ms)\n     }\n \n     if (s->kernel_irqchip_allowed) {\n+        /* ignore return from this function */\n         do_kvm_irqchip_create(s);\n     }\n \n","prefixes":["for-11.0","v3"]}