summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2010-03-24 21:48:17 +0100
committerAvi Kivity <avi@redhat.com>2010-05-17 12:16:49 +0300
commit3eeafd7da2b0293b512abe95c86843fc4ab42add (patch)
treeccbf875d5c4c069156ed2244acca157b475e8c89 /arch/powerpc/include
parent8a5416db832895b84b85ad0bcbb11d1cce0d3d37 (diff)
downloadlinux-3eeafd7da2b0293b512abe95c86843fc4ab42add.tar.gz
linux-3eeafd7da2b0293b512abe95c86843fc4ab42add.tar.bz2
linux-3eeafd7da2b0293b512abe95c86843fc4ab42add.zip
KVM: PPC: Ensure split mode works
On PowerPC we can go into MMU Split Mode. That means that either data relocation is on but instruction relocation is off or vice versa. That mode didn't work properly, as we weren't always flushing entries when going into a new split mode, potentially mapping different code or data that we're supposed to. Signed-off-by: Alexander Graf <agraf@suse.de> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'arch/powerpc/include')
-rw-r--r--arch/powerpc/include/asm/kvm_book3s.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/arch/powerpc/include/asm/kvm_book3s.h b/arch/powerpc/include/asm/kvm_book3s.h
index e6ea974df44e..14d0262ae00b 100644
--- a/arch/powerpc/include/asm/kvm_book3s.h
+++ b/arch/powerpc/include/asm/kvm_book3s.h
@@ -99,10 +99,11 @@ struct kvmppc_vcpu_book3s {
#define CONTEXT_GUEST 1
#define CONTEXT_GUEST_END 2
-#define VSID_REAL 0xfffffffffff00000
-#define VSID_REAL_DR 0xffffffffffe00000
-#define VSID_REAL_IR 0xffffffffffd00000
-#define VSID_BAT 0xffffffffffc00000
+#define VSID_REAL_DR 0x7ffffffffff00000
+#define VSID_REAL_IR 0x7fffffffffe00000
+#define VSID_SPLIT_MASK 0x7fffffffffe00000
+#define VSID_REAL 0x7fffffffffc00000
+#define VSID_BAT 0x7fffffffffb00000
#define VSID_PR 0x8000000000000000
extern void kvmppc_mmu_pte_flush(struct kvm_vcpu *vcpu, u64 ea, u64 ea_mask);