diff options
Diffstat (limited to 'arch/powerpc')
-rw-r--r-- | arch/powerpc/include/asm/kvm_host.h | 3 | ||||
-rw-r--r-- | arch/powerpc/kvm/book3s.c | 4 |
2 files changed, 5 insertions, 2 deletions
diff --git a/arch/powerpc/include/asm/kvm_host.h b/arch/powerpc/include/asm/kvm_host.h index 221cf85e9a6..1674da8134c 100644 --- a/arch/powerpc/include/asm/kvm_host.h +++ b/arch/powerpc/include/asm/kvm_host.h | |||
@@ -48,6 +48,9 @@ | |||
48 | #define HPTEG_HASH_NUM_VPTE (1 << HPTEG_HASH_BITS_VPTE) | 48 | #define HPTEG_HASH_NUM_VPTE (1 << HPTEG_HASH_BITS_VPTE) |
49 | #define HPTEG_HASH_NUM_VPTE_LONG (1 << HPTEG_HASH_BITS_VPTE_LONG) | 49 | #define HPTEG_HASH_NUM_VPTE_LONG (1 << HPTEG_HASH_BITS_VPTE_LONG) |
50 | 50 | ||
51 | /* Physical Address Mask - allowed range of real mode RAM access */ | ||
52 | #define KVM_PAM 0x0fffffffffffffffULL | ||
53 | |||
51 | struct kvm; | 54 | struct kvm; |
52 | struct kvm_run; | 55 | struct kvm_run; |
53 | struct kvm_vcpu; | 56 | struct kvm_vcpu; |
diff --git a/arch/powerpc/kvm/book3s.c b/arch/powerpc/kvm/book3s.c index 06229fec5c9..0ed5376df82 100644 --- a/arch/powerpc/kvm/book3s.c +++ b/arch/powerpc/kvm/book3s.c | |||
@@ -465,7 +465,7 @@ static int kvmppc_xlate(struct kvm_vcpu *vcpu, ulong eaddr, bool data, | |||
465 | r = vcpu->arch.mmu.xlate(vcpu, eaddr, pte, data); | 465 | r = vcpu->arch.mmu.xlate(vcpu, eaddr, pte, data); |
466 | } else { | 466 | } else { |
467 | pte->eaddr = eaddr; | 467 | pte->eaddr = eaddr; |
468 | pte->raddr = eaddr & 0xffffffff; | 468 | pte->raddr = eaddr & KVM_PAM; |
469 | pte->vpage = VSID_REAL | eaddr >> 12; | 469 | pte->vpage = VSID_REAL | eaddr >> 12; |
470 | pte->may_read = true; | 470 | pte->may_read = true; |
471 | pte->may_write = true; | 471 | pte->may_write = true; |
@@ -579,7 +579,7 @@ int kvmppc_handle_pagefault(struct kvm_run *run, struct kvm_vcpu *vcpu, | |||
579 | pte.may_execute = true; | 579 | pte.may_execute = true; |
580 | pte.may_read = true; | 580 | pte.may_read = true; |
581 | pte.may_write = true; | 581 | pte.may_write = true; |
582 | pte.raddr = eaddr & 0xffffffff; | 582 | pte.raddr = eaddr & KVM_PAM; |
583 | pte.eaddr = eaddr; | 583 | pte.eaddr = eaddr; |
584 | pte.vpage = eaddr >> 12; | 584 | pte.vpage = eaddr >> 12; |
585 | } | 585 | } |