summaryrefslogtreecommitdiff
path: root/arch/powerpc/include/asm/mmu-book3e.h
diff options
context:
space:
mode:
authorScott Wood <scottwood@freescale.com>2011-11-29 10:40:23 (GMT)
committerAvi Kivity <avi@redhat.com>2012-03-05 12:52:34 (GMT)
commit570135243a33174a5d74641de693b6c0233d1181 (patch)
treebf7e4f4c2d708e56896e1bb4a3db4c2a796df023 /arch/powerpc/include/asm/mmu-book3e.h
parent7b11dc993841f1643c0932cf0faf010406502572 (diff)
downloadlinux-fsl-qoriq-570135243a33174a5d74641de693b6c0233d1181.tar.xz
KVM: PPC: e500: use hardware hint when loading TLB0 entries
The hardware maintains a per-set next victim hint. Using this reduces conflicts, especially on e500v2 where a single guest TLB entry is mapped to two shadow TLB entries (user and kernel). We want those two entries to go to different TLB ways. sesel is now only used for TLB1. Reported-by: Liu Yu <yu.liu@freescale.com> Signed-off-by: Scott Wood <scottwood@freescale.com> Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/include/asm/mmu-book3e.h')
-rw-r--r--arch/powerpc/include/asm/mmu-book3e.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/mmu-book3e.h b/arch/powerpc/include/asm/mmu-book3e.h
index a012823..cdb5421 100644
--- a/arch/powerpc/include/asm/mmu-book3e.h
+++ b/arch/powerpc/include/asm/mmu-book3e.h
@@ -41,9 +41,10 @@
/* MAS registers bit definitions */
#define MAS0_TLBSEL(x) (((x) << 28) & 0x30000000)
-#define MAS0_ESEL(x) (((x) << 16) & 0x0FFF0000)
-#define MAS0_NV(x) ((x) & 0x00000FFF)
#define MAS0_ESEL_MASK 0x0FFF0000
+#define MAS0_ESEL_SHIFT 16
+#define MAS0_ESEL(x) (((x) << MAS0_ESEL_SHIFT) & MAS0_ESEL_MASK)
+#define MAS0_NV(x) ((x) & 0x00000FFF)
#define MAS0_HES 0x00004000
#define MAS0_WQ_ALLWAYS 0x00000000
#define MAS0_WQ_COND 0x00001000