All of lore.kernel.org
 help / color / mirror / Atom feed
From: Marc Zyngier <maz@kernel.org>
To: kvm-riscv@lists.infradead.org
Subject: [PATCH v7 08/12] KVM: arm64: Define kvm_tlb_flush_vmid_range()
Date: Thu, 27 Jul 2023 14:01:37 +0100	[thread overview]
Message-ID: <87lef1qzim.wl-maz@kernel.org> (raw)
In-Reply-To: <87o7jxr06t.wl-maz@kernel.org>

On Thu, 27 Jul 2023 13:47:06 +0100,
Marc Zyngier <maz@kernel.org> wrote:
> 
> On Sat, 22 Jul 2023 03:22:47 +0100,
> Raghavendra Rao Ananta <rananta@google.com> wrote:
> > 
> > Implement the helper kvm_tlb_flush_vmid_range() that acts
> > as a wrapper for range-based TLB invalidations. For the
> > given VMID, use the range-based TLBI instructions to do
> > the job or fallback to invalidating all the TLB entries.
> > 
> > Signed-off-by: Raghavendra Rao Ananta <rananta@google.com>
> > Reviewed-by: Gavin Shan <gshan@redhat.com>
> > Reviewed-by: Shaoqin Huang <shahuang@redhat.com>
> > ---
> >  arch/arm64/include/asm/kvm_pgtable.h | 10 ++++++++++
> >  arch/arm64/kvm/hyp/pgtable.c         | 20 ++++++++++++++++++++
> >  2 files changed, 30 insertions(+)
> > 
> > diff --git a/arch/arm64/include/asm/kvm_pgtable.h b/arch/arm64/include/asm/kvm_pgtable.h
> > index 8294a9a7e566..5e8b1ff07854 100644
> > --- a/arch/arm64/include/asm/kvm_pgtable.h
> > +++ b/arch/arm64/include/asm/kvm_pgtable.h
> > @@ -754,4 +754,14 @@ enum kvm_pgtable_prot kvm_pgtable_stage2_pte_prot(kvm_pte_t pte);
> >   *	   kvm_pgtable_prot format.
> >   */
> >  enum kvm_pgtable_prot kvm_pgtable_hyp_pte_prot(kvm_pte_t pte);
> > +
> > +/**
> > + * kvm_tlb_flush_vmid_range() - Invalidate/flush a range of TLB entries
> > + *
> > + * @mmu:	Stage-2 KVM MMU struct
> > + * @addr:	The base Intermediate physical address from which to invalidate
> > + * @size:	Size of the range from the base to invalidate
> > + */
> > +void kvm_tlb_flush_vmid_range(struct kvm_s2_mmu *mmu,
> > +				phys_addr_t addr, size_t size);
> >  #endif	/* __ARM64_KVM_PGTABLE_H__ */
> > diff --git a/arch/arm64/kvm/hyp/pgtable.c b/arch/arm64/kvm/hyp/pgtable.c
> > index aa740a974e02..5d14d5d5819a 100644
> > --- a/arch/arm64/kvm/hyp/pgtable.c
> > +++ b/arch/arm64/kvm/hyp/pgtable.c
> > @@ -670,6 +670,26 @@ static bool stage2_has_fwb(struct kvm_pgtable *pgt)
> >  	return !(pgt->flags & KVM_PGTABLE_S2_NOFWB);
> >  }
> >  
> > +void kvm_tlb_flush_vmid_range(struct kvm_s2_mmu *mmu,
> > +				phys_addr_t addr, size_t size)
> > +{
> > +	unsigned long pages, inval_pages;
> > +
> > +	if (!system_supports_tlb_range()) {
> > +		kvm_call_hyp(__kvm_tlb_flush_vmid, mmu);
> > +		return;
> > +	}
> > +
> > +	pages = size >> PAGE_SHIFT;
> > +	while (pages > 0) {
> > +		inval_pages = min(pages, MAX_TLBI_RANGE_PAGES);
> > +		kvm_call_hyp(__kvm_tlb_flush_vmid_range, mmu, addr, inval_pages);
> > +
> > +		addr += inval_pages << PAGE_SHIFT;
> > +		pages -= inval_pages;
> > +	}
> > +}
> > +
> 
> This really shouldn't live in pgtable.c. This code gets linked into
> the EL2 object. What do you think happens if, for some reason, this
> gets called *from EL2*?

Ah, actually, nothing too bad would happen, as we convert the
kvm_call_hyp() into a function call.

But still, we don't need two copies of this stuff, and it can live in
mmu.c.

	M.

-- 
Without deviation from the norm, progress is not possible.


WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Raghavendra Rao Ananta <rananta@google.com>
Cc: Oliver Upton <oliver.upton@linux.dev>,
	James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Anup Patel <anup@brainfault.org>,
	Atish Patra <atishp@atishpatra.org>,
	Jing Zhang <jingzhangos@google.com>,
	Reiji Watanabe <reijiw@google.com>,
	Colton Lewis <coltonlewis@google.com>,
	David Matlack <dmatlack@google.com>,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
	linux-mips@vger.kernel.org, kvm-riscv@lists.infradead.org,
	linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, Gavin Shan <gshan@redhat.com>,
	Shaoqin Huang <shahuang@redhat.com>
Subject: Re: [PATCH v7 08/12] KVM: arm64: Define kvm_tlb_flush_vmid_range()
Date: Thu, 27 Jul 2023 14:01:37 +0100	[thread overview]
Message-ID: <87lef1qzim.wl-maz@kernel.org> (raw)
In-Reply-To: <87o7jxr06t.wl-maz@kernel.org>

On Thu, 27 Jul 2023 13:47:06 +0100,
Marc Zyngier <maz@kernel.org> wrote:
> 
> On Sat, 22 Jul 2023 03:22:47 +0100,
> Raghavendra Rao Ananta <rananta@google.com> wrote:
> > 
> > Implement the helper kvm_tlb_flush_vmid_range() that acts
> > as a wrapper for range-based TLB invalidations. For the
> > given VMID, use the range-based TLBI instructions to do
> > the job or fallback to invalidating all the TLB entries.
> > 
> > Signed-off-by: Raghavendra Rao Ananta <rananta@google.com>
> > Reviewed-by: Gavin Shan <gshan@redhat.com>
> > Reviewed-by: Shaoqin Huang <shahuang@redhat.com>
> > ---
> >  arch/arm64/include/asm/kvm_pgtable.h | 10 ++++++++++
> >  arch/arm64/kvm/hyp/pgtable.c         | 20 ++++++++++++++++++++
> >  2 files changed, 30 insertions(+)
> > 
> > diff --git a/arch/arm64/include/asm/kvm_pgtable.h b/arch/arm64/include/asm/kvm_pgtable.h
> > index 8294a9a7e566..5e8b1ff07854 100644
> > --- a/arch/arm64/include/asm/kvm_pgtable.h
> > +++ b/arch/arm64/include/asm/kvm_pgtable.h
> > @@ -754,4 +754,14 @@ enum kvm_pgtable_prot kvm_pgtable_stage2_pte_prot(kvm_pte_t pte);
> >   *	   kvm_pgtable_prot format.
> >   */
> >  enum kvm_pgtable_prot kvm_pgtable_hyp_pte_prot(kvm_pte_t pte);
> > +
> > +/**
> > + * kvm_tlb_flush_vmid_range() - Invalidate/flush a range of TLB entries
> > + *
> > + * @mmu:	Stage-2 KVM MMU struct
> > + * @addr:	The base Intermediate physical address from which to invalidate
> > + * @size:	Size of the range from the base to invalidate
> > + */
> > +void kvm_tlb_flush_vmid_range(struct kvm_s2_mmu *mmu,
> > +				phys_addr_t addr, size_t size);
> >  #endif	/* __ARM64_KVM_PGTABLE_H__ */
> > diff --git a/arch/arm64/kvm/hyp/pgtable.c b/arch/arm64/kvm/hyp/pgtable.c
> > index aa740a974e02..5d14d5d5819a 100644
> > --- a/arch/arm64/kvm/hyp/pgtable.c
> > +++ b/arch/arm64/kvm/hyp/pgtable.c
> > @@ -670,6 +670,26 @@ static bool stage2_has_fwb(struct kvm_pgtable *pgt)
> >  	return !(pgt->flags & KVM_PGTABLE_S2_NOFWB);
> >  }
> >  
> > +void kvm_tlb_flush_vmid_range(struct kvm_s2_mmu *mmu,
> > +				phys_addr_t addr, size_t size)
> > +{
> > +	unsigned long pages, inval_pages;
> > +
> > +	if (!system_supports_tlb_range()) {
> > +		kvm_call_hyp(__kvm_tlb_flush_vmid, mmu);
> > +		return;
> > +	}
> > +
> > +	pages = size >> PAGE_SHIFT;
> > +	while (pages > 0) {
> > +		inval_pages = min(pages, MAX_TLBI_RANGE_PAGES);
> > +		kvm_call_hyp(__kvm_tlb_flush_vmid_range, mmu, addr, inval_pages);
> > +
> > +		addr += inval_pages << PAGE_SHIFT;
> > +		pages -= inval_pages;
> > +	}
> > +}
> > +
> 
> This really shouldn't live in pgtable.c. This code gets linked into
> the EL2 object. What do you think happens if, for some reason, this
> gets called *from EL2*?

Ah, actually, nothing too bad would happen, as we convert the
kvm_call_hyp() into a function call.

But still, we don't need two copies of this stuff, and it can live in
mmu.c.

	M.

-- 
Without deviation from the norm, progress is not possible.

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Raghavendra Rao Ananta <rananta@google.com>
Cc: Oliver Upton <oliver.upton@linux.dev>,
	James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Anup Patel <anup@brainfault.org>,
	Atish Patra <atishp@atishpatra.org>,
	Jing Zhang <jingzhangos@google.com>,
	Reiji Watanabe <reijiw@google.com>,
	Colton Lewis <coltonlewis@google.com>,
	David Matlack <dmatlack@google.com>,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
	linux-mips@vger.kernel.org, kvm-riscv@lists.infradead.org,
	linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, Gavin Shan <gshan@redhat.com>,
	Shaoqin Huang <shahuang@redhat.com>
Subject: Re: [PATCH v7 08/12] KVM: arm64: Define kvm_tlb_flush_vmid_range()
Date: Thu, 27 Jul 2023 14:01:37 +0100	[thread overview]
Message-ID: <87lef1qzim.wl-maz@kernel.org> (raw)
In-Reply-To: <87o7jxr06t.wl-maz@kernel.org>

On Thu, 27 Jul 2023 13:47:06 +0100,
Marc Zyngier <maz@kernel.org> wrote:
> 
> On Sat, 22 Jul 2023 03:22:47 +0100,
> Raghavendra Rao Ananta <rananta@google.com> wrote:
> > 
> > Implement the helper kvm_tlb_flush_vmid_range() that acts
> > as a wrapper for range-based TLB invalidations. For the
> > given VMID, use the range-based TLBI instructions to do
> > the job or fallback to invalidating all the TLB entries.
> > 
> > Signed-off-by: Raghavendra Rao Ananta <rananta@google.com>
> > Reviewed-by: Gavin Shan <gshan@redhat.com>
> > Reviewed-by: Shaoqin Huang <shahuang@redhat.com>
> > ---
> >  arch/arm64/include/asm/kvm_pgtable.h | 10 ++++++++++
> >  arch/arm64/kvm/hyp/pgtable.c         | 20 ++++++++++++++++++++
> >  2 files changed, 30 insertions(+)
> > 
> > diff --git a/arch/arm64/include/asm/kvm_pgtable.h b/arch/arm64/include/asm/kvm_pgtable.h
> > index 8294a9a7e566..5e8b1ff07854 100644
> > --- a/arch/arm64/include/asm/kvm_pgtable.h
> > +++ b/arch/arm64/include/asm/kvm_pgtable.h
> > @@ -754,4 +754,14 @@ enum kvm_pgtable_prot kvm_pgtable_stage2_pte_prot(kvm_pte_t pte);
> >   *	   kvm_pgtable_prot format.
> >   */
> >  enum kvm_pgtable_prot kvm_pgtable_hyp_pte_prot(kvm_pte_t pte);
> > +
> > +/**
> > + * kvm_tlb_flush_vmid_range() - Invalidate/flush a range of TLB entries
> > + *
> > + * @mmu:	Stage-2 KVM MMU struct
> > + * @addr:	The base Intermediate physical address from which to invalidate
> > + * @size:	Size of the range from the base to invalidate
> > + */
> > +void kvm_tlb_flush_vmid_range(struct kvm_s2_mmu *mmu,
> > +				phys_addr_t addr, size_t size);
> >  #endif	/* __ARM64_KVM_PGTABLE_H__ */
> > diff --git a/arch/arm64/kvm/hyp/pgtable.c b/arch/arm64/kvm/hyp/pgtable.c
> > index aa740a974e02..5d14d5d5819a 100644
> > --- a/arch/arm64/kvm/hyp/pgtable.c
> > +++ b/arch/arm64/kvm/hyp/pgtable.c
> > @@ -670,6 +670,26 @@ static bool stage2_has_fwb(struct kvm_pgtable *pgt)
> >  	return !(pgt->flags & KVM_PGTABLE_S2_NOFWB);
> >  }
> >  
> > +void kvm_tlb_flush_vmid_range(struct kvm_s2_mmu *mmu,
> > +				phys_addr_t addr, size_t size)
> > +{
> > +	unsigned long pages, inval_pages;
> > +
> > +	if (!system_supports_tlb_range()) {
> > +		kvm_call_hyp(__kvm_tlb_flush_vmid, mmu);
> > +		return;
> > +	}
> > +
> > +	pages = size >> PAGE_SHIFT;
> > +	while (pages > 0) {
> > +		inval_pages = min(pages, MAX_TLBI_RANGE_PAGES);
> > +		kvm_call_hyp(__kvm_tlb_flush_vmid_range, mmu, addr, inval_pages);
> > +
> > +		addr += inval_pages << PAGE_SHIFT;
> > +		pages -= inval_pages;
> > +	}
> > +}
> > +
> 
> This really shouldn't live in pgtable.c. This code gets linked into
> the EL2 object. What do you think happens if, for some reason, this
> gets called *from EL2*?

Ah, actually, nothing too bad would happen, as we convert the
kvm_call_hyp() into a function call.

But still, we don't need two copies of this stuff, and it can live in
mmu.c.

	M.

-- 
Without deviation from the norm, progress is not possible.

_______________________________________________
linux-riscv mailing list
linux-riscv@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-riscv

WARNING: multiple messages have this Message-ID (diff)
From: Marc Zyngier <maz@kernel.org>
To: Raghavendra Rao Ananta <rananta@google.com>
Cc: Oliver Upton <oliver.upton@linux.dev>,
	James Morse <james.morse@arm.com>,
	Suzuki K Poulose <suzuki.poulose@arm.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sean Christopherson <seanjc@google.com>,
	Huacai Chen <chenhuacai@kernel.org>,
	Zenghui Yu <yuzenghui@huawei.com>,
	Anup Patel <anup@brainfault.org>,
	Atish Patra <atishp@atishpatra.org>,
	Jing Zhang <jingzhangos@google.com>,
	Reiji Watanabe <reijiw@google.com>,
	Colton Lewis <coltonlewis@google.com>,
	David Matlack <dmatlack@google.com>,
	linux-arm-kernel@lists.infradead.org, kvmarm@lists.linux.dev,
	linux-mips@vger.kernel.org, kvm-riscv@lists.infradead.org,
	linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org,
	kvm@vger.kernel.org, Gavin Shan <gshan@redhat.com>,
	Shaoqin Huang <shahuang@redhat.com>
Subject: Re: [PATCH v7 08/12] KVM: arm64: Define kvm_tlb_flush_vmid_range()
Date: Thu, 27 Jul 2023 14:01:37 +0100	[thread overview]
Message-ID: <87lef1qzim.wl-maz@kernel.org> (raw)
In-Reply-To: <87o7jxr06t.wl-maz@kernel.org>

On Thu, 27 Jul 2023 13:47:06 +0100,
Marc Zyngier <maz@kernel.org> wrote:
> 
> On Sat, 22 Jul 2023 03:22:47 +0100,
> Raghavendra Rao Ananta <rananta@google.com> wrote:
> > 
> > Implement the helper kvm_tlb_flush_vmid_range() that acts
> > as a wrapper for range-based TLB invalidations. For the
> > given VMID, use the range-based TLBI instructions to do
> > the job or fallback to invalidating all the TLB entries.
> > 
> > Signed-off-by: Raghavendra Rao Ananta <rananta@google.com>
> > Reviewed-by: Gavin Shan <gshan@redhat.com>
> > Reviewed-by: Shaoqin Huang <shahuang@redhat.com>
> > ---
> >  arch/arm64/include/asm/kvm_pgtable.h | 10 ++++++++++
> >  arch/arm64/kvm/hyp/pgtable.c         | 20 ++++++++++++++++++++
> >  2 files changed, 30 insertions(+)
> > 
> > diff --git a/arch/arm64/include/asm/kvm_pgtable.h b/arch/arm64/include/asm/kvm_pgtable.h
> > index 8294a9a7e566..5e8b1ff07854 100644
> > --- a/arch/arm64/include/asm/kvm_pgtable.h
> > +++ b/arch/arm64/include/asm/kvm_pgtable.h
> > @@ -754,4 +754,14 @@ enum kvm_pgtable_prot kvm_pgtable_stage2_pte_prot(kvm_pte_t pte);
> >   *	   kvm_pgtable_prot format.
> >   */
> >  enum kvm_pgtable_prot kvm_pgtable_hyp_pte_prot(kvm_pte_t pte);
> > +
> > +/**
> > + * kvm_tlb_flush_vmid_range() - Invalidate/flush a range of TLB entries
> > + *
> > + * @mmu:	Stage-2 KVM MMU struct
> > + * @addr:	The base Intermediate physical address from which to invalidate
> > + * @size:	Size of the range from the base to invalidate
> > + */
> > +void kvm_tlb_flush_vmid_range(struct kvm_s2_mmu *mmu,
> > +				phys_addr_t addr, size_t size);
> >  #endif	/* __ARM64_KVM_PGTABLE_H__ */
> > diff --git a/arch/arm64/kvm/hyp/pgtable.c b/arch/arm64/kvm/hyp/pgtable.c
> > index aa740a974e02..5d14d5d5819a 100644
> > --- a/arch/arm64/kvm/hyp/pgtable.c
> > +++ b/arch/arm64/kvm/hyp/pgtable.c
> > @@ -670,6 +670,26 @@ static bool stage2_has_fwb(struct kvm_pgtable *pgt)
> >  	return !(pgt->flags & KVM_PGTABLE_S2_NOFWB);
> >  }
> >  
> > +void kvm_tlb_flush_vmid_range(struct kvm_s2_mmu *mmu,
> > +				phys_addr_t addr, size_t size)
> > +{
> > +	unsigned long pages, inval_pages;
> > +
> > +	if (!system_supports_tlb_range()) {
> > +		kvm_call_hyp(__kvm_tlb_flush_vmid, mmu);
> > +		return;
> > +	}
> > +
> > +	pages = size >> PAGE_SHIFT;
> > +	while (pages > 0) {
> > +		inval_pages = min(pages, MAX_TLBI_RANGE_PAGES);
> > +		kvm_call_hyp(__kvm_tlb_flush_vmid_range, mmu, addr, inval_pages);
> > +
> > +		addr += inval_pages << PAGE_SHIFT;
> > +		pages -= inval_pages;
> > +	}
> > +}
> > +
> 
> This really shouldn't live in pgtable.c. This code gets linked into
> the EL2 object. What do you think happens if, for some reason, this
> gets called *from EL2*?

Ah, actually, nothing too bad would happen, as we convert the
kvm_call_hyp() into a function call.

But still, we don't need two copies of this stuff, and it can live in
mmu.c.

	M.

-- 
Without deviation from the norm, progress is not possible.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2023-07-27 13:01 UTC|newest]

Thread overview: 228+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-22  2:22 [PATCH v7 00/12] KVM: arm64: Add support for FEAT_TLBIRANGE Raghavendra Rao Ananta
2023-07-22  2:22 ` Raghavendra Rao Ananta
2023-07-22  2:22 ` Raghavendra Rao Ananta
2023-07-22  2:22 ` Raghavendra Rao Ananta
2023-07-22  2:22 ` [PATCH v7 01/12] KVM: Rename kvm_arch_flush_remote_tlb() to kvm_arch_flush_remote_tlbs() Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-27 10:24   ` Marc Zyngier
2023-07-27 10:24     ` Marc Zyngier
2023-07-27 10:24     ` Marc Zyngier
2023-07-27 10:24     ` Marc Zyngier
2023-07-31 17:21     ` Raghavendra Rao Ananta
2023-07-31 17:21       ` Raghavendra Rao Ananta
2023-07-31 17:21       ` Raghavendra Rao Ananta
2023-07-31 17:21       ` Raghavendra Rao Ananta
2023-07-31 21:42       ` Sean Christopherson
2023-07-31 21:42         ` Sean Christopherson
2023-07-31 21:42         ` Sean Christopherson
2023-07-31 21:42         ` Sean Christopherson
2023-08-01  0:42         ` Raghavendra Rao Ananta
2023-08-01  0:42           ` Raghavendra Rao Ananta
2023-08-01  0:42           ` Raghavendra Rao Ananta
2023-08-01  0:42           ` Raghavendra Rao Ananta
2023-08-02 15:54           ` Marc Zyngier
2023-08-02 15:54             ` Marc Zyngier
2023-08-02 15:54             ` Marc Zyngier
2023-08-02 15:54             ` Marc Zyngier
2023-08-02 16:10             ` Sean Christopherson
2023-08-02 16:10               ` Sean Christopherson
2023-08-02 16:10               ` Sean Christopherson
2023-08-02 16:10               ` Sean Christopherson
2023-08-02 23:30               ` Raghavendra Rao Ananta
2023-08-02 23:30                 ` Raghavendra Rao Ananta
2023-08-02 23:30                 ` Raghavendra Rao Ananta
2023-08-02 23:30                 ` Raghavendra Rao Ananta
2023-07-22  2:22 ` [PATCH v7 02/12] KVM: arm64: Use kvm_arch_flush_remote_tlbs() Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-24  9:13   ` Shaoqin Huang
2023-07-24  9:13     ` Shaoqin Huang
2023-07-24  9:13     ` Shaoqin Huang
2023-07-27 10:25   ` Marc Zyngier
2023-07-27 10:25     ` Marc Zyngier
2023-07-27 10:25     ` Marc Zyngier
2023-07-27 10:25     ` Marc Zyngier
2023-07-31 21:50     ` Sean Christopherson
2023-07-31 21:50       ` Sean Christopherson
2023-07-31 21:50       ` Sean Christopherson
2023-07-31 21:50       ` Sean Christopherson
2023-08-02 15:55       ` Marc Zyngier
2023-08-02 15:55         ` Marc Zyngier
2023-08-02 15:55         ` Marc Zyngier
2023-08-02 15:55         ` Marc Zyngier
2023-08-02 23:28         ` Raghavendra Rao Ananta
2023-08-02 23:28           ` Raghavendra Rao Ananta
2023-08-02 23:28           ` Raghavendra Rao Ananta
2023-08-02 23:28           ` Raghavendra Rao Ananta
2023-08-04 18:19           ` Raghavendra Rao Ananta
2023-08-04 18:19             ` Raghavendra Rao Ananta
2023-08-04 18:19             ` Raghavendra Rao Ananta
2023-08-04 18:19             ` Raghavendra Rao Ananta
2023-08-08 15:07             ` Sean Christopherson
2023-08-08 15:07               ` Sean Christopherson
2023-08-08 15:07               ` Sean Christopherson
2023-08-08 15:07               ` Sean Christopherson
2023-08-08 16:19               ` Raghavendra Rao Ananta
2023-08-08 16:19                 ` Raghavendra Rao Ananta
2023-08-08 16:19                 ` Raghavendra Rao Ananta
2023-08-08 16:19                 ` Raghavendra Rao Ananta
2023-08-08 16:43                 ` Marc Zyngier
2023-08-08 16:43                   ` Marc Zyngier
2023-08-08 16:43                   ` Marc Zyngier
2023-08-08 16:43                   ` Marc Zyngier
2023-08-08 16:46                   ` Raghavendra Rao Ananta
2023-08-08 16:46                     ` Raghavendra Rao Ananta
2023-08-08 16:46                     ` Raghavendra Rao Ananta
2023-08-08 16:46                     ` Raghavendra Rao Ananta
2023-07-22  2:22 ` [PATCH v7 03/12] KVM: Remove CONFIG_HAVE_KVM_ARCH_TLB_FLUSH_ALL Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-24  9:13   ` Shaoqin Huang
2023-07-24  9:13     ` Shaoqin Huang
2023-07-24  9:13     ` Shaoqin Huang
2023-07-22  2:22 ` [PATCH v7 04/12] KVM: Allow range-based TLB invalidation from common code Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-31 21:55   ` Sean Christopherson
2023-07-31 21:55     ` Sean Christopherson
2023-07-31 21:55     ` Sean Christopherson
2023-07-31 21:55     ` Sean Christopherson
2023-08-01  0:39     ` Raghavendra Rao Ananta
2023-08-01  0:39       ` Raghavendra Rao Ananta
2023-08-01  0:39       ` Raghavendra Rao Ananta
2023-08-01  0:39       ` Raghavendra Rao Ananta
2023-08-07  4:06   ` Anup Patel
2023-08-07  4:06     ` Anup Patel
2023-08-07  4:06     ` Anup Patel
2023-08-07  4:06     ` Anup Patel
2023-07-22  2:22 ` [PATCH v7 05/12] KVM: Move kvm_arch_flush_remote_tlbs_memslot() to " Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-27 10:53   ` Marc Zyngier
2023-07-27 10:53     ` Marc Zyngier
2023-07-27 10:53     ` Marc Zyngier
2023-07-27 10:53     ` Marc Zyngier
2023-07-31 17:30     ` Raghavendra Rao Ananta
2023-07-31 17:30       ` Raghavendra Rao Ananta
2023-07-31 17:30       ` Raghavendra Rao Ananta
2023-07-31 17:30       ` Raghavendra Rao Ananta
2023-08-07  4:06   ` Anup Patel
2023-08-07  4:06     ` Anup Patel
2023-08-07  4:06     ` Anup Patel
2023-08-07  4:06     ` Anup Patel
2023-07-22  2:22 ` [PATCH v7 06/12] arm64: tlb: Refactor the core flush algorithm of __flush_tlb_range Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-27 10:58   ` Marc Zyngier
2023-07-27 10:58     ` Marc Zyngier
2023-07-27 10:58     ` Marc Zyngier
2023-07-27 10:58     ` Marc Zyngier
2023-07-31 17:36     ` Raghavendra Rao Ananta
2023-07-31 17:36       ` Raghavendra Rao Ananta
2023-07-31 17:36       ` Raghavendra Rao Ananta
2023-07-31 17:36       ` Raghavendra Rao Ananta
2023-08-02 15:58       ` Marc Zyngier
2023-08-02 15:58         ` Marc Zyngier
2023-08-02 15:58         ` Marc Zyngier
2023-08-02 15:58         ` Marc Zyngier
2023-08-02 23:31         ` Raghavendra Rao Ananta
2023-08-02 23:31           ` Raghavendra Rao Ananta
2023-08-02 23:31           ` Raghavendra Rao Ananta
2023-08-02 23:31           ` Raghavendra Rao Ananta
2023-07-22  2:22 ` [PATCH v7 07/12] KVM: arm64: Implement __kvm_tlb_flush_vmid_range() Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-24  9:21   ` Shaoqin Huang
2023-07-24  9:21     ` Shaoqin Huang
2023-07-24  9:21     ` Shaoqin Huang
2023-07-27 12:40   ` Marc Zyngier
2023-07-27 12:40     ` Marc Zyngier
2023-07-27 12:40     ` Marc Zyngier
2023-07-27 12:40     ` Marc Zyngier
2023-07-31 17:45     ` Raghavendra Rao Ananta
2023-07-31 17:45       ` Raghavendra Rao Ananta
2023-07-31 17:45       ` Raghavendra Rao Ananta
2023-07-31 17:45       ` Raghavendra Rao Ananta
2023-07-22  2:22 ` [PATCH v7 08/12] KVM: arm64: Define kvm_tlb_flush_vmid_range() Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-27 12:47   ` Marc Zyngier
2023-07-27 12:47     ` Marc Zyngier
2023-07-27 12:47     ` Marc Zyngier
2023-07-27 12:47     ` Marc Zyngier
2023-07-27 13:01     ` Marc Zyngier [this message]
2023-07-27 13:01       ` Marc Zyngier
2023-07-27 13:01       ` Marc Zyngier
2023-07-27 13:01       ` Marc Zyngier
2023-07-31 18:01       ` Raghavendra Rao Ananta
2023-07-31 18:01         ` Raghavendra Rao Ananta
2023-07-31 18:01         ` Raghavendra Rao Ananta
2023-07-31 18:01         ` Raghavendra Rao Ananta
2023-08-02 23:25         ` Marc Zyngier
2023-08-02 23:25           ` Marc Zyngier
2023-08-02 23:25           ` Marc Zyngier
2023-08-02 23:25           ` Marc Zyngier
2023-07-22  2:22 ` [PATCH v7 09/12] KVM: arm64: Implement kvm_arch_flush_remote_tlbs_range() Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-27 12:48   ` Marc Zyngier
2023-07-27 12:48     ` Marc Zyngier
2023-07-27 12:48     ` Marc Zyngier
2023-07-27 12:48     ` Marc Zyngier
2023-07-22  2:22 ` [PATCH v7 10/12] KVM: arm64: Flush only the memslot after write-protect Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22 ` [PATCH v7 11/12] KVM: arm64: Invalidate the table entries upon a range Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22 ` [PATCH v7 12/12] KVM: arm64: Use TLBI range-based intructions for unmap Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-22  2:22   ` Raghavendra Rao Ananta
2023-07-24  9:34   ` Shaoqin Huang
2023-07-24  9:34     ` Shaoqin Huang
2023-07-24  9:34     ` Shaoqin Huang
2023-07-24 16:47     ` Raghavendra Rao Ananta
2023-07-24 16:47       ` Raghavendra Rao Ananta
2023-07-24 16:47       ` Raghavendra Rao Ananta
2023-07-25  2:32       ` Shaoqin Huang
2023-07-25  2:32         ` Shaoqin Huang
2023-07-25  2:32         ` Shaoqin Huang
2023-07-25 17:23         ` Raghavendra Rao Ananta
2023-07-25 17:23           ` Raghavendra Rao Ananta
2023-07-25 17:23           ` Raghavendra Rao Ananta
2023-07-26  4:06           ` Shaoqin Huang
2023-07-26  4:06             ` Shaoqin Huang
2023-07-26  4:06             ` Shaoqin Huang
2023-07-27 13:12   ` Marc Zyngier
2023-07-27 13:12     ` Marc Zyngier
2023-07-27 13:12     ` Marc Zyngier
2023-07-27 13:12     ` Marc Zyngier
2023-07-31 18:26     ` Raghavendra Rao Ananta
2023-07-31 18:26       ` Raghavendra Rao Ananta
2023-07-31 18:26       ` Raghavendra Rao Ananta
2023-07-31 18:26       ` Raghavendra Rao Ananta
2023-08-02 23:28       ` Marc Zyngier
2023-08-02 23:28         ` Marc Zyngier
2023-08-02 23:28         ` Marc Zyngier
2023-08-02 23:28         ` Marc Zyngier
2023-08-02 23:33         ` Raghavendra Rao Ananta
2023-08-02 23:33           ` Raghavendra Rao Ananta
2023-08-02 23:33           ` Raghavendra Rao Ananta
2023-08-02 23:33           ` Raghavendra Rao Ananta
2023-07-31 21:57 ` [PATCH v7 00/12] KVM: arm64: Add support for FEAT_TLBIRANGE Sean Christopherson
2023-07-31 21:57   ` Sean Christopherson
2023-07-31 21:57   ` Sean Christopherson
2023-07-31 21:57   ` Sean Christopherson

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=87lef1qzim.wl-maz@kernel.org \
    --to=maz@kernel.org \
    --cc=kvm-riscv@lists.infradead.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.