Re: [PATCH 1/5] KVM: PPC: e500: tlbsx: fix tlb0 esel

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 18 Jul 2011 18:30:51 +0200
Alexander Graf <agraf@xxxxxxx> wrote:

> 
> On 18.07.2011, at 18:12, Scott Wood wrote:
> 
> > On Mon, 18 Jul 2011 11:16:10 +0200
> > Alexander Graf <agraf@xxxxxxx> wrote:
> > 
> >> 
> >> On 08.07.2011, at 01:41, Scott Wood wrote:
> >> 
> >>> It should contain the way, not the absolute TLB0 index.
> >>> 
> >>> Signed-off-by: Scott Wood <scottwood@xxxxxxxxxxxxx>
> >>> ---
> >>> arch/powerpc/kvm/e500_tlb.c |    3 +++
> >>> 1 files changed, 3 insertions(+), 0 deletions(-)
> >>> 
> >>> diff --git a/arch/powerpc/kvm/e500_tlb.c b/arch/powerpc/kvm/e500_tlb.c
> >>> index 13c432e..2e99d66 100644
> >>> --- a/arch/powerpc/kvm/e500_tlb.c
> >>> +++ b/arch/powerpc/kvm/e500_tlb.c
> >>> @@ -788,6 +788,9 @@ int kvmppc_e500_emul_tlbsx(struct kvm_vcpu *vcpu, int rb)
> >>> 	}
> >>> 
> >>> 	if (gtlbe) {
> >>> +		if (tlbsel == 0)
> >>> +			esel &= KVM_E500_TLB0_WAY_NUM - 1;
> >> 
> >> Is it guaranteed that MAS0_ESEL always returns at most the TLB1 index nr?
> > 
> > What's the relevance of TLB1 here?
> > 
> > For TLB0, esel is supposed to contain the way, not the index into the full
> > TLB.
> 
> Well, for both esel is supposed to contain the way, just that for TLB1 it happens to be the index, or am I misunderstanding something here?
> The question was basically why we need to mask out on TLB0, but not on TLB1.

It would be a no-op on TLB1, because there's only one "set".

-Scott

--
To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM Development]     [KVM ARM]     [KVM ia64]     [Linux Virtualization]     [Linux USB Devel]     [Linux Video]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux