Message ID | 4bbac7fd-ed99-a5c4-1bda-94345b88f18c@gmail.com |
---|---|
State | Superseded |
Headers | show |
Balbir Singh <bsingharora@gmail.com> writes: > Remove duplicate setting of the the "B" field when doing a tlbie(l). > In compute_tlbie_rb(), the "B" field is set again just before > returning the rb value to be used for tlbie(l). > > Signed-off-by: Balbir Singh <bsingharora@gmail.com> > --- > Quickly boot tested a VM with these changes in kvm with 64k > as the page size for the guest. > > arch/powerpc/include/asm/kvm_book3s_64.h | 1 - > 1 file changed, 1 deletion(-) > > diff --git a/arch/powerpc/include/asm/kvm_book3s_64.h b/arch/powerpc/include/asm/kvm_book3s_64.h > index 88d17b4..63b6900 100644 > --- a/arch/powerpc/include/asm/kvm_book3s_64.h > +++ b/arch/powerpc/include/asm/kvm_book3s_64.h > @@ -159,7 +159,6 @@ static inline unsigned long compute_tlbie_rb(unsigned long v, unsigned long r, > /* This covers 14..54 bits of va*/ > rb = (v & ~0x7fUL) << 16; /* AVA field */ > > - rb |= (v >> HPTE_V_SSIZE_SHIFT) << 8; /* B field */ > /* > * AVA in v had cleared lower 23 bits. We need to derive > * that from pteg index Can we keep this and remove the other. This is much easier to follow than rb |= (v >> 54) & 0x300; /* B field */ -aneesh -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On 14/09/16 14:55, Aneesh Kumar K.V wrote: > Balbir Singh <bsingharora@gmail.com> writes: > >> Remove duplicate setting of the the "B" field when doing a tlbie(l). >> In compute_tlbie_rb(), the "B" field is set again just before >> returning the rb value to be used for tlbie(l). >> >> Signed-off-by: Balbir Singh <bsingharora@gmail.com> >> --- >> Quickly boot tested a VM with these changes in kvm with 64k >> as the page size for the guest. >> >> arch/powerpc/include/asm/kvm_book3s_64.h | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/arch/powerpc/include/asm/kvm_book3s_64.h b/arch/powerpc/include/asm/kvm_book3s_64.h >> index 88d17b4..63b6900 100644 >> --- a/arch/powerpc/include/asm/kvm_book3s_64.h >> +++ b/arch/powerpc/include/asm/kvm_book3s_64.h >> @@ -159,7 +159,6 @@ static inline unsigned long compute_tlbie_rb(unsigned long v, unsigned long r, >> /* This covers 14..54 bits of va*/ >> rb = (v & ~0x7fUL) << 16; /* AVA field */ >> >> - rb |= (v >> HPTE_V_SSIZE_SHIFT) << 8; /* B field */ >> /* >> * AVA in v had cleared lower 23 bits. We need to derive >> * that from pteg index > > Can we keep this and remove the other. This is much easier to follow > than > > rb |= (v >> 54) & 0x300; /* B field */ > OK, but I think for 64K page size rb &= ~((1ul << mmu_psize_defs[a_psize].shift) - 1); ends up cleaning up the "B" field. That is why we've had the two "B" field settings. Let me double check with some coffee. Balbir Singh. -- To unsubscribe from this list: send the line "unsubscribe kvm-ppc" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/powerpc/include/asm/kvm_book3s_64.h b/arch/powerpc/include/asm/kvm_book3s_64.h index 88d17b4..63b6900 100644 --- a/arch/powerpc/include/asm/kvm_book3s_64.h +++ b/arch/powerpc/include/asm/kvm_book3s_64.h @@ -159,7 +159,6 @@ static inline unsigned long compute_tlbie_rb(unsigned long v, unsigned long r, /* This covers 14..54 bits of va*/ rb = (v & ~0x7fUL) << 16; /* AVA field */ - rb |= (v >> HPTE_V_SSIZE_SHIFT) << 8; /* B field */ /* * AVA in v had cleared lower 23 bits. We need to derive * that from pteg index
Remove duplicate setting of the the "B" field when doing a tlbie(l). In compute_tlbie_rb(), the "B" field is set again just before returning the rb value to be used for tlbie(l). Signed-off-by: Balbir Singh <bsingharora@gmail.com> --- Quickly boot tested a VM with these changes in kvm with 64k as the page size for the guest. arch/powerpc/include/asm/kvm_book3s_64.h | 1 - 1 file changed, 1 deletion(-)