Re: [PATCH v5 0/2] RISC-V: KVM: Convert HGEI management to fully per-HART

Anup Patel <[email protected]>
Newsgroups org.infradead.lists.kvm-riscv,org.infradead.lists.linux-riscv,org.kernel.vger.kvm,org.kernel.vger.linux-kernel
Message-ID <CAAhSdy31hjQq4mt2J-eQSoQUycSFqwgg6KnMvY-68ZQX-viOTg@mail.gmail.com>
On Mon, May 25, 2026 at 3:19 PM Anup Patel <[email protected]> wrote:
>
> From: "Guo Ren (Alibaba DAMO Academy)" <[email protected]>
>
> 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 changes 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.
>
> After this series, HGEI allocation, freeing, and interrupt delivery
> are completely per-HART and there are no remaining global assumptions
> about number of guest interrupt files.
>
> Changelog:
> V5:
>  - Avoid re-initializing hgctrl->lock in kvm_riscv_aia_enable()
>  - Setup free_bitmap only once in kvm_riscv_aia_enable()
>  - Make kvm_riscv_aia_nr_hgei so that it can be concurrently
>    updated from kvm_riscv_aia_enable()
>
> V4:
>  - Don't modify kvm_riscv_aia_nr_hgei in kvm_riscv_aia_enable()
>    since we use kvm_riscv_aia_nr_hgei mostly for HGEI enable/disable
>    checks.
>  - Use GENMASK_ULL() instead of `BIT(hgctrl->nr_hgei + 1) - 1`
>  - Always setup SGEI interrupt irrespective of kvm_riscv_aia_nr_hgei
>
> V3:
>  - Move PATCH3 as first patch and kept the nr_guest_files in
>    global config as the number of guest files across all CPUs
>  - Droped original PATCH2 and squashed original PATCH4 into
>    original PATCH1 which is now PATCH2.
>  - Addressed comments in original PATCH1.
>
> V2:
>  - Add per-HART IMSIC guest files to compute final HGEI count.
>  - Add min(local->nr_guest_files, nr_guest_files);
>
> V1:
>  - https://lore.kernel.org/kvm-riscv/[email protected]/
>
> Guo Ren (Alibaba DAMO Academy) (2):
>   irqchip/riscv-imsic: Add nr_guest_files in per-HART local config
>   RISC-V: KVM: AIA: Make HGEI number management fully per-CPU
>
>  arch/riscv/include/asm/kvm_aia.h        |  2 +-
>  arch/riscv/kvm/aia.c                    | 88 +++++++++++++++----------
>  arch/riscv/kvm/aia_device.c             |  4 +-
>  arch/riscv/kvm/main.c                   |  8 +--
>  drivers/irqchip/irq-riscv-imsic-state.c |  9 ++-
>  include/linux/irqchip/riscv-imsic.h     |  5 +-
>  6 files changed, 68 insertions(+), 48 deletions(-)
>
> --
> 2.43.0
>

Queued this series for Linux-7.2

Thanks,
Anup

-- 
kvm-riscv mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/kvm-riscv
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.