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