{"id":2225764,"url":"http://patchwork.ozlabs.org/api/covers/2225764/?format=json","web_url":"http://patchwork.ozlabs.org/project/kvm-riscv/cover/20260421145451.1597930-1-guoren@kernel.org/","project":{"id":70,"url":"http://patchwork.ozlabs.org/api/projects/70/?format=json","name":"Linux KVM RISC-V","link_name":"kvm-riscv","list_id":"kvm-riscv.lists.infradead.org","list_email":"kvm-riscv@lists.infradead.org","web_url":"","scm_url":"","webscm_url":"","list_archive_url":"http://lists.infradead.org/pipermail/kvm-riscv/","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260421145451.1597930-1-guoren@kernel.org>","list_archive_url":null,"date":"2026-04-21T14:54:47","name":"[0/3] RISC-V: KVM: AIA: Convert HGEI management to fully per-HART","submitter":{"id":75626,"url":"http://patchwork.ozlabs.org/api/people/75626/?format=json","name":"Guo Ren","email":"guoren@kernel.org"},"mbox":"http://patchwork.ozlabs.org/project/kvm-riscv/cover/20260421145451.1597930-1-guoren@kernel.org/mbox/","series":[{"id":500831,"url":"http://patchwork.ozlabs.org/api/series/500831/?format=json","web_url":"http://patchwork.ozlabs.org/project/kvm-riscv/list/?series=500831","date":"2026-04-21T14:54:47","name":"RISC-V: KVM: AIA: Convert HGEI management to fully per-HART","version":1,"mbox":"http://patchwork.ozlabs.org/series/500831/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/covers/2225764/comments/","headers":{"Return-Path":"\n <kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.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 secure) header.d=lists.infradead.org header.i=@lists.infradead.org\n header.a=rsa-sha256 header.s=bombadil.20210309 header.b=RzSw0GNg;\n\tdkim=fail reason=\"signature verification failed\" (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=HZ/sEA+K;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=lists.infradead.org\n (client-ip=2607:7c80:54:3::133; helo=bombadil.infradead.org;\n envelope-from=kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org;\n receiver=patchwork.ozlabs.org)"],"Received":["from bombadil.infradead.org (bombadil.infradead.org\n [IPv6:2607:7c80:54:3::133])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4g0QQH2vQgz1yCv\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 22 Apr 2026 00:55:35 +1000 (AEST)","from localhost ([::1] helo=bombadil.infradead.org)\n\tby bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wFCVh-00000008n1I-2qJx;\n\tTue, 21 Apr 2026 14:55:33 +0000","from tor.source.kernel.org ([172.105.4.254])\n\tby bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1wFCVg-00000008n19-24rS;\n\tTue, 21 Apr 2026 14:55:32 +0000","from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby tor.source.kernel.org (Postfix) with ESMTP id 8C1196001A;\n\tTue, 21 Apr 2026 14:55:31 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 37742C2BCB0;\n\tTue, 21 Apr 2026 14:55:21 +0000 (UTC)"],"DKIM-Signature":["v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=lists.infradead.org; s=bombadil.20210309; h=Sender:\n\tContent-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post:\n\tList-Archive:List-Unsubscribe:List-Id:MIME-Version:Message-Id:Date:Subject:Cc\n\t:To:From:Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From:\n\tResent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:\n\tList-Owner; bh=W8QSmL62s7noXyJxJgWKvtzzZDfoDiHdsv7M63awBoU=; b=RzSw0GNgCh6THA\n\t657dIBOaUpU5hEElHwf9JzVY7pfvJt4iiaZuWZaTERowPzQlbW1CSLwlUCtr3GEzdVJVtp0SawiGs\n\tb/wwTd3t51ipvim060RtiPopKXf0jy2adB5EcvhiYTwosCEhsGrrgJxDjDRP2VakLGrruXZ/s9UoH\n\toxCKACXDBWXpyyH9TlMXQz+wo4ZGpj1oC+VBT6I3ta1OwqkLNkdi6oKKWlFUUwvtpGaAgykDJtnbL\n\tYKvjI4kKw4LQivu7qWG/f3gqqBygH2mcv33LRfbjYrvGG4dwgUrQDlhn2hd2+Rhf9ze+yEiAQxKXM\n\tmZmpixnDKs750ZpaMrmQ==;","v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1776783331;\n\tbh=YJ2E3MhSG9OVK7lke/JRpHjm6mu73ya3Y7+/iS3WWDM=;\n\th=From:To:Cc:Subject:Date:From;\n\tb=HZ/sEA+K10hNXtWTJvFffYw8Z3Vg0VinNxwMcbVAvO33uI31wLuDQc0g8bj3/aTSX\n\t gtOmieO+tBvgy/ufiZkK+9wVDFxD2xxQZBmqIU+zaSiSQNmZN9SYdtSUIfiK2Kyvua\n\t wGfRaVQoD4+KjzCQzJzZ7o/Nzq/kR01SCP/9pvc8nFAMlZueDB08So+crDElLkPscZ\n\t aEd8WHpEtf1OO7uAap7uHq5quL1CvY3j/0mDbqJnwWoqrSBIohIexYjpuBv+gcCJfP\n\t d1Y8KZnhK/4gRINqaO7b4Yr2uLUzKjqe8xLBNRU6Ud/LZOeK6jHvy5kQUbXdM4lj9B\n\t 7zi6Dho/j6Lxg=="],"From":"guoren@kernel.org","To":"fangyu.yu@linux.alibaba.com,\n\tcp0613@linux.alibaba.com,\n\tinochiama@gmail.com,\n\tme@ziyao.cc,\n\tgaohan@iscas.ac.cn,\n\tanup@brainfault.org,\n\tatish.patra@linux.dev,\n\tpjw@kernel.org,\n\tpalmer@dabbelt.com,\n\talex@ghiti.fr,\n\ttglx@kernel.org,\n\tAlbert Ou <aou@eecs.berkeley.edu>","Cc":"kvm-riscv@lists.infradead.org,\n\tkvm@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org,\n\t\"Guo Ren (Alibaba DAMO Academy)\" <guoren@kernel.org>,\n\tlinux-riscv@lists.infradead.org","Subject":"[PATCH 0/3] RISC-V: KVM: AIA: Convert HGEI management to fully\n per-HART","Date":"Tue, 21 Apr 2026 10:54:47 -0400","Message-Id":"<20260421145451.1597930-1-guoren@kernel.org>","X-Mailer":"git-send-email 2.40.1","MIME-Version":"1.0","X-BeenThere":"kvm-riscv@lists.infradead.org","X-Mailman-Version":"2.1.34","Precedence":"list","List-Id":"<kvm-riscv.lists.infradead.org>","List-Unsubscribe":"<http://lists.infradead.org/mailman/options/kvm-riscv>,\n <mailto:kvm-riscv-request@lists.infradead.org?subject=unsubscribe>","List-Archive":"<http://lists.infradead.org/pipermail/kvm-riscv/>","List-Post":"<mailto:kvm-riscv@lists.infradead.org>","List-Help":"<mailto:kvm-riscv-request@lists.infradead.org?subject=help>","List-Subscribe":"<http://lists.infradead.org/mailman/listinfo/kvm-riscv>,\n <mailto:kvm-riscv-request@lists.infradead.org?subject=subscribe>","Content-Type":"text/plain; charset=\"us-ascii\"","Content-Transfer-Encoding":"7bit","Sender":"\"kvm-riscv\" <kvm-riscv-bounces@lists.infradead.org>","Errors-To":"kvm-riscv-bounces+incoming=patchwork.ozlabs.org@lists.infradead.org"},"content":"From: \"Guo Ren (Alibaba DAMO Academy)\" <guoren@kernel.org>\n\nThis short series converts RISC-V KVM AIA's Hypervisor Guest External\nInterrupt (HGEI) line management from a global \"one-size-fits-all\"\nmodel to a fully per-HART (per-CPU) model. It also performs the\ncorresponding cleanup in the IMSIC irqchip driver.\n\nThe motivation is to properly support heterogeneous RISC-V SoCs\n(big.LITTLE, multi-vendor core mixes) where different HARTs may\nexpose different numbers of guest interrupt files / HGEIE bits.\nThe old global `kvm_riscv_aia_nr_hgei` and\n`imsic_global_config::nr_guest_files` assumptions are no longer\ntenable and are removed.\n\nAfter this series, HGEI allocation, freeing, and interrupt delivery\nare completely per-HART, the code is simpler and clearer, and there\nare no remaining global assumptions about guest interrupt file\ncounts.\n\nGuo Ren (Alibaba DAMO Academy) (3):\n  RISC-V: KVM: AIA: Make HGEI number and management fully per-CPU\n  RISC-V: KVM: AIA: Replace global HGEI count with simple enabled bool\n  irqchip/riscv-imsic: Remove global nr_guest_files after KVM AIA\n    per-HART conversion\n\n arch/riscv/include/asm/kvm_aia.h        |  2 +-\n arch/riscv/kvm/aia.c                    | 58 ++++++++++++++-----------\n arch/riscv/kvm/aia_device.c             |  4 +-\n arch/riscv/kvm/main.c                   |  3 +-\n drivers/irqchip/irq-riscv-imsic-state.c | 12 +----\n include/linux/irqchip/riscv-imsic.h     |  3 --\n 6 files changed, 37 insertions(+), 45 deletions(-)"}