[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <9d9316d7-7e00-4274-bd1c-9cb83fd82d32@linux.dev>
Date: Wed, 25 Jun 2025 00:59:10 -0700
From: Atish Patra <atish.patra@...ux.dev>
To: Anup Patel <apatel@...tanamicro.com>
Cc: Palmer Dabbelt <palmer@...belt.com>,
Paul Walmsley <paul.walmsley@...ive.com>, Alexandre Ghiti <alex@...ti.fr>,
Andrew Jones <ajones@...tanamicro.com>, Anup Patel <anup@...infault.org>,
kvm@...r.kernel.org, kvm-riscv@...ts.infradead.org,
linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 00/12] MMU related improvements for KVM RISC-V
On 6/18/25 4:35 AM, Anup Patel wrote:
> This series primarily has various MMU improvements for KVM RISC-V
> and it also serves as a preparatory series for the upcoming nested
> virtualization support.
>
> PATCH1 to PATCH4: Few cosmetic improvements
> PATCH5 to PATCH7: TLB maintenance and SBI NACL related improvements
> PATCH8 to PATCH12: MMU related preparatory work for nested virtualization
For the entire series:
Tested-by: Atish Patra <atishp@...osinc.com>
> These patches can also be found in the riscv_kvm_mmu_imp_v3 branch
> at: https://github.com/avpatel/linux.git
>
> Changes since v2:
> - Rebased upon Linux-6.16-rc2 and latest riscv_kvm_queue branch
> - Added Reviewed-by tags to appropriate patches
>
> Changes since v1:
> - Rebased upon Linux-6.16-rc1
> - Dropped PATCH1 and PATCH2 of v1 series since these are queued
> as fixes for Linux-6.16
> - Addressed Atish's comment on PATCH1 in this series
> - Added new PATCH7 in this series
>
> Anup Patel (12):
> RISC-V: KVM: Check kvm_riscv_vcpu_alloc_vector_context() return value
> RISC-V: KVM: Drop the return value of kvm_riscv_vcpu_aia_init()
> RISC-V: KVM: Rename and move kvm_riscv_local_tlb_sanitize()
> RISC-V: KVM: Replace KVM_REQ_HFENCE_GVMA_VMID_ALL with
> KVM_REQ_TLB_FLUSH
> RISC-V: KVM: Don't flush TLB when PTE is unchanged
> RISC-V: KVM: Implement kvm_arch_flush_remote_tlbs_range()
> RISC-V: KVM: Use ncsr_xyz() in kvm_riscv_vcpu_trap_redirect()
> RISC-V: KVM: Factor-out MMU related declarations into separate headers
> RISC-V: KVM: Introduce struct kvm_gstage_mapping
> RISC-V: KVM: Add vmid field to struct kvm_riscv_hfence
> RISC-V: KVM: Factor-out g-stage page table management
> RISC-V: KVM: Pass VMID as parameter to kvm_riscv_hfence_xyz() APIs
>
> arch/riscv/include/asm/kvm_aia.h | 2 +-
> arch/riscv/include/asm/kvm_gstage.h | 72 ++++
> arch/riscv/include/asm/kvm_host.h | 103 +-----
> arch/riscv/include/asm/kvm_mmu.h | 21 ++
> arch/riscv/include/asm/kvm_tlb.h | 84 +++++
> arch/riscv/include/asm/kvm_vmid.h | 27 ++
> arch/riscv/kvm/Makefile | 1 +
> arch/riscv/kvm/aia_device.c | 6 +-
> arch/riscv/kvm/aia_imsic.c | 12 +-
> arch/riscv/kvm/gstage.c | 338 +++++++++++++++++++
> arch/riscv/kvm/main.c | 3 +-
> arch/riscv/kvm/mmu.c | 499 ++++++----------------------
> arch/riscv/kvm/tlb.c | 110 +++---
> arch/riscv/kvm/vcpu.c | 26 +-
> arch/riscv/kvm/vcpu_exit.c | 20 +-
> arch/riscv/kvm/vcpu_sbi_replace.c | 17 +-
> arch/riscv/kvm/vcpu_sbi_v01.c | 25 +-
> arch/riscv/kvm/vm.c | 7 +-
> arch/riscv/kvm/vmid.c | 25 ++
> 19 files changed, 795 insertions(+), 603 deletions(-)
> create mode 100644 arch/riscv/include/asm/kvm_gstage.h
> create mode 100644 arch/riscv/include/asm/kvm_mmu.h
> create mode 100644 arch/riscv/include/asm/kvm_tlb.h
> create mode 100644 arch/riscv/include/asm/kvm_vmid.h
> create mode 100644 arch/riscv/kvm/gstage.c
>
Powered by blists - more mailing lists