From: guoren@kernel.org
To: fangyu.yu@linux.alibaba.com, cp0613@linux.alibaba.com,
inochiama@gmail.com, me@ziyao.cc, gaohan@iscas.ac.cn,
anup@brainfault.org, atish.patra@linux.dev, pjw@kernel.org,
palmer@dabbelt.com, alex@ghiti.fr, tglx@kernel.org,
Albert Ou <aou@eecs.berkeley.edu>
Cc: kvm-riscv@lists.infradead.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org,
"Guo Ren (Alibaba DAMO Academy)" <guoren@kernel.org>,
linux-riscv@lists.infradead.org
Subject: [PATCH 0/3] RISC-V: KVM: AIA: Convert HGEI management to fully per-HART
Date: Tue, 21 Apr 2026 10:54:47 -0400 [thread overview]
Message-ID: <20260421145451.1597930-1-guoren@kernel.org> (raw)
From: "Guo Ren (Alibaba DAMO Academy)" <guoren@kernel.org>
This short series converts RISC-V KVM AIA's Hypervisor Guest External
Interrupt (HGEI) line management from a global "one-size-fits-all"
model to a fully per-HART (per-CPU) model. It also performs the
corresponding cleanup in the IMSIC irqchip driver.
The motivation is to properly support heterogeneous RISC-V SoCs
(big.LITTLE, multi-vendor core mixes) where different HARTs may
expose different numbers of guest interrupt files / HGEIE bits.
The old global `kvm_riscv_aia_nr_hgei` and
`imsic_global_config::nr_guest_files` assumptions are no longer
tenable and are removed.
After this series, HGEI allocation, freeing, and interrupt delivery
are completely per-HART, the code is simpler and clearer, and there
are no remaining global assumptions about guest interrupt file
counts.
Guo Ren (Alibaba DAMO Academy) (3):
RISC-V: KVM: AIA: Make HGEI number and management fully per-CPU
RISC-V: KVM: AIA: Replace global HGEI count with simple enabled bool
irqchip/riscv-imsic: Remove global nr_guest_files after KVM AIA
per-HART conversion
arch/riscv/include/asm/kvm_aia.h | 2 +-
arch/riscv/kvm/aia.c | 58 ++++++++++++++-----------
arch/riscv/kvm/aia_device.c | 4 +-
arch/riscv/kvm/main.c | 3 +-
drivers/irqchip/irq-riscv-imsic-state.c | 12 +----
include/linux/irqchip/riscv-imsic.h | 3 --
6 files changed, 37 insertions(+), 45 deletions(-)
--
2.40.1
--
kvm-riscv mailing list
kvm-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kvm-riscv
WARNING: multiple messages have this Message-ID (diff)
From: guoren@kernel.org
To: fangyu.yu@linux.alibaba.com, cp0613@linux.alibaba.com,
inochiama@gmail.com, me@ziyao.cc, gaohan@iscas.ac.cn,
anup@brainfault.org, atish.patra@linux.dev, pjw@kernel.org,
palmer@dabbelt.com, alex@ghiti.fr, tglx@kernel.org,
Albert Ou <aou@eecs.berkeley.edu>
Cc: kvm-riscv@lists.infradead.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org,
"Guo Ren (Alibaba DAMO Academy)" <guoren@kernel.org>,
linux-riscv@lists.infradead.org
Subject: [PATCH 0/3] RISC-V: KVM: AIA: Convert HGEI management to fully per-HART
Date: Tue, 21 Apr 2026 10:54:47 -0400 [thread overview]
Message-ID: <20260421145451.1597930-1-guoren@kernel.org> (raw)
From: "Guo Ren (Alibaba DAMO Academy)" <guoren@kernel.org>
This short series converts RISC-V KVM AIA's Hypervisor Guest External
Interrupt (HGEI) line management from a global "one-size-fits-all"
model to a fully per-HART (per-CPU) model. It also performs the
corresponding cleanup in the IMSIC irqchip driver.
The motivation is to properly support heterogeneous RISC-V SoCs
(big.LITTLE, multi-vendor core mixes) where different HARTs may
expose different numbers of guest interrupt files / HGEIE bits.
The old global `kvm_riscv_aia_nr_hgei` and
`imsic_global_config::nr_guest_files` assumptions are no longer
tenable and are removed.
After this series, HGEI allocation, freeing, and interrupt delivery
are completely per-HART, the code is simpler and clearer, and there
are no remaining global assumptions about guest interrupt file
counts.
Guo Ren (Alibaba DAMO Academy) (3):
RISC-V: KVM: AIA: Make HGEI number and management fully per-CPU
RISC-V: KVM: AIA: Replace global HGEI count with simple enabled bool
irqchip/riscv-imsic: Remove global nr_guest_files after KVM AIA
per-HART conversion
arch/riscv/include/asm/kvm_aia.h | 2 +-
arch/riscv/kvm/aia.c | 58 ++++++++++++++-----------
arch/riscv/kvm/aia_device.c | 4 +-
arch/riscv/kvm/main.c | 3 +-
drivers/irqchip/irq-riscv-imsic-state.c | 12 +----
include/linux/irqchip/riscv-imsic.h | 3 --
6 files changed, 37 insertions(+), 45 deletions(-)
--
2.40.1
WARNING: multiple messages have this Message-ID (diff)
From: guoren@kernel.org
To: fangyu.yu@linux.alibaba.com, cp0613@linux.alibaba.com,
inochiama@gmail.com, me@ziyao.cc, gaohan@iscas.ac.cn,
anup@brainfault.org, atish.patra@linux.dev, pjw@kernel.org,
palmer@dabbelt.com, alex@ghiti.fr, tglx@kernel.org,
Albert Ou <aou@eecs.berkeley.edu>
Cc: kvm-riscv@lists.infradead.org, kvm@vger.kernel.org,
linux-kernel@vger.kernel.org,
"Guo Ren (Alibaba DAMO Academy)" <guoren@kernel.org>,
linux-riscv@lists.infradead.org
Subject: [PATCH 0/3] RISC-V: KVM: AIA: Convert HGEI management to fully per-HART
Date: Tue, 21 Apr 2026 10:54:47 -0400 [thread overview]
Message-ID: <20260421145451.1597930-1-guoren@kernel.org> (raw)
From: "Guo Ren (Alibaba DAMO Academy)" <guoren@kernel.org>
This short series converts RISC-V KVM AIA's Hypervisor Guest External
Interrupt (HGEI) line management from a global "one-size-fits-all"
model to a fully per-HART (per-CPU) model. It also performs the
corresponding cleanup in the IMSIC irqchip driver.
The motivation is to properly support heterogeneous RISC-V SoCs
(big.LITTLE, multi-vendor core mixes) where different HARTs may
expose different numbers of guest interrupt files / HGEIE bits.
The old global `kvm_riscv_aia_nr_hgei` and
`imsic_global_config::nr_guest_files` assumptions are no longer
tenable and are removed.
After this series, HGEI allocation, freeing, and interrupt delivery
are completely per-HART, the code is simpler and clearer, and there
are no remaining global assumptions about guest interrupt file
counts.
Guo Ren (Alibaba DAMO Academy) (3):
RISC-V: KVM: AIA: Make HGEI number and management fully per-CPU
RISC-V: KVM: AIA: Replace global HGEI count with simple enabled bool
irqchip/riscv-imsic: Remove global nr_guest_files after KVM AIA
per-HART conversion
arch/riscv/include/asm/kvm_aia.h | 2 +-
arch/riscv/kvm/aia.c | 58 ++++++++++++++-----------
arch/riscv/kvm/aia_device.c | 4 +-
arch/riscv/kvm/main.c | 3 +-
drivers/irqchip/irq-riscv-imsic-state.c | 12 +----
include/linux/irqchip/riscv-imsic.h | 3 --
6 files changed, 37 insertions(+), 45 deletions(-)
--
2.40.1
_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2026-04-21 14:55 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-21 14:54 guoren [this message]
2026-04-21 14:54 ` [PATCH 0/3] RISC-V: KVM: AIA: Convert HGEI management to fully per-HART guoren
2026-04-21 14:54 ` guoren
2026-04-21 14:54 ` [PATCH 1/3] RISC-V: KVM: AIA: Make HGEI number and management fully per-CPU guoren
2026-04-21 14:54 ` guoren
2026-04-21 14:54 ` guoren
2026-04-21 14:54 ` [PATCH 2/3] RISC-V: KVM: AIA: Replace global HGEI count with simple enabled bool guoren
2026-04-21 14:54 ` guoren
2026-04-21 14:54 ` guoren
2026-04-21 14:54 ` [PATCH 3/3] irqchip/riscv-imsic: Remove global nr_guest_files after KVM AIA per-HART conversion guoren
2026-04-21 14:54 ` guoren
2026-04-21 14:54 ` guoren
2026-04-22 3:09 ` Guo Ren
2026-04-22 3:09 ` Guo Ren
2026-04-22 3:09 ` Guo Ren
2026-04-22 9:44 ` Anup Patel
2026-04-22 9:44 ` Anup Patel
2026-04-22 9:44 ` Anup Patel
2026-04-25 1:07 ` guoren
2026-04-25 1:07 ` guoren
2026-04-25 1:07 ` guoren
2026-04-23 4:20 ` Inochi Amaoto
2026-04-23 4:20 ` Inochi Amaoto
2026-04-23 4:20 ` Inochi Amaoto
2026-04-23 9:07 ` Guo Ren
2026-04-23 9:07 ` Guo Ren
2026-04-23 9:07 ` Guo Ren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260421145451.1597930-1-guoren@kernel.org \
--to=guoren@kernel.org \
--cc=alex@ghiti.fr \
--cc=anup@brainfault.org \
--cc=aou@eecs.berkeley.edu \
--cc=atish.patra@linux.dev \
--cc=cp0613@linux.alibaba.com \
--cc=fangyu.yu@linux.alibaba.com \
--cc=gaohan@iscas.ac.cn \
--cc=inochiama@gmail.com \
--cc=kvm-riscv@lists.infradead.org \
--cc=kvm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=me@ziyao.cc \
--cc=palmer@dabbelt.com \
--cc=pjw@kernel.org \
--cc=tglx@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.