]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - arch/powerpc/kvm/book3s_64_mmu_radix.c
Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi
[karo-tx-linux.git] / arch / powerpc / kvm / book3s_64_mmu_radix.c
index 4344651f408ca24a4149eb042268ec502363c7a4..f6b3e67c576294f96cbb5a5e5178f09563307c1b 100644 (file)
@@ -32,6 +32,7 @@ int kvmppc_mmu_radix_xlate(struct kvm_vcpu *vcpu, gva_t eaddr,
        u32 pid;
        int ret, level, ps;
        __be64 prte, rpte;
+       unsigned long ptbl;
        unsigned long root, pte, index;
        unsigned long rts, bits, offset;
        unsigned long gpa;
@@ -53,8 +54,8 @@ int kvmppc_mmu_radix_xlate(struct kvm_vcpu *vcpu, gva_t eaddr,
                return -EINVAL;
 
        /* Read partition table to find root of tree for effective PID */
-       ret = kvm_read_guest(kvm, kvm->arch.process_table + pid * 16,
-                            &prte, sizeof(prte));
+       ptbl = (kvm->arch.process_table & PRTB_MASK) + (pid * 16);
+       ret = kvm_read_guest(kvm, ptbl, &prte, sizeof(prte));
        if (ret)
                return ret;