KVM: PPC: booke: Extend MAS2 EPN mask for 64-bit
authorMihai Caraman <mihai.caraman@freescale.com>
Thu, 11 Oct 2012 06:13:25 +0000 (06:13 +0000)
committerAlexander Graf <agraf@suse.de>
Thu, 6 Dec 2012 00:34:15 +0000 (01:34 +0100)
Extend MAS2 EPN mask to retain most significant bits on 64-bit hosts.
Use this mask in tlb effective address accessor.

Signed-off-by: Mihai Caraman <mihai.caraman@freescale.com>
Signed-off-by: Alexander Graf <agraf@suse.de>
arch/powerpc/include/asm/mmu-book3e.h
arch/powerpc/kvm/e500.h

index eeabcdb..99d43e0 100644 (file)
@@ -59,7 +59,7 @@
 #define MAS1_TSIZE_SHIFT       7
 #define MAS1_TSIZE(x)          (((x) << MAS1_TSIZE_SHIFT) & MAS1_TSIZE_MASK)
 
-#define MAS2_EPN               0xFFFFF000
+#define MAS2_EPN               (~0xFFFUL)
 #define MAS2_X0                        0x00000040
 #define MAS2_X1                        0x00000020
 #define MAS2_W                 0x00000010
index 32e98a7..c70d37e 100644 (file)
@@ -154,7 +154,7 @@ get_tlb_size(const struct kvm_book3e_206_tlb_entry *tlbe)
 
 static inline gva_t get_tlb_eaddr(const struct kvm_book3e_206_tlb_entry *tlbe)
 {
-       return tlbe->mas2 & 0xfffff000;
+       return tlbe->mas2 & MAS2_EPN;
 }
 
 static inline u64 get_tlb_bytes(const struct kvm_book3e_206_tlb_entry *tlbe)