On Thu, Feb 23, 2012 at 8:51 AM, Marc Zyngier <marc.zyngier at arm.com> wrote: > VMID is a 8bit field in VTTBR, and the top bits are better left alone. > > Signed-off-by: Marc Zyngier <marc.zyngier at arm.com> > --- > ?arch/arm/kvm/arm.c | ? ?2 +- > ?1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/arch/arm/kvm/arm.c b/arch/arm/kvm/arm.c > index 8dc723d..b402cd5 100644 > --- a/arch/arm/kvm/arm.c > +++ b/arch/arm/kvm/arm.c > @@ -361,7 +361,7 @@ static void update_vttbr(struct kvm *kvm) > ? ? ? ? ? ? ? ?pgd_phys = virt_to_phys(kvm->arch.pgd); > ? ? ? ? ? ? ? ?kvm->arch.vttbr = pgd_phys & ((1LLU << 40) - 1) > ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?& ~((2 << VTTBR_X) - 1); > - ? ? ? ? ? ? ? kvm->arch.vttbr |= kvm->arch.vmid << 48; > + ? ? ? ? ? ? ? kvm->arch.vttbr |= (kvm->arch.vmid & VMID_MASK) << 48; > ? ? ? ?} > > ? ? ? ?spin_unlock(&kvm_vmid_lock); looks good to me, thanks.