]> Pileus Git - ~andy/linux/blobdiff - arch/powerpc/kvm/44x_tlb.c
KVM: PPC: Convert MSR to shared page
[~andy/linux] / arch / powerpc / kvm / 44x_tlb.c
index 9b9b5cdea840bcdfb87128687dab6f0d41726446..9f71b8d6eb0d904911427ed6052e2bbf40ab6929 100644 (file)
@@ -221,14 +221,14 @@ gpa_t kvmppc_mmu_xlate(struct kvm_vcpu *vcpu, unsigned int gtlb_index,
 
 int kvmppc_mmu_itlb_index(struct kvm_vcpu *vcpu, gva_t eaddr)
 {
-       unsigned int as = !!(vcpu->arch.msr & MSR_IS);
+       unsigned int as = !!(vcpu->arch.shared->msr & MSR_IS);
 
        return kvmppc_44x_tlb_index(vcpu, eaddr, vcpu->arch.pid, as);
 }
 
 int kvmppc_mmu_dtlb_index(struct kvm_vcpu *vcpu, gva_t eaddr)
 {
-       unsigned int as = !!(vcpu->arch.msr & MSR_DS);
+       unsigned int as = !!(vcpu->arch.shared->msr & MSR_DS);
 
        return kvmppc_44x_tlb_index(vcpu, eaddr, vcpu->arch.pid, as);
 }
@@ -354,7 +354,7 @@ void kvmppc_mmu_map(struct kvm_vcpu *vcpu, u64 gvaddr, gpa_t gpaddr,
 
        stlbe.word1 = (hpaddr & 0xfffffc00) | ((hpaddr >> 32) & 0xf);
        stlbe.word2 = kvmppc_44x_tlb_shadow_attrib(flags,
-                                                   vcpu->arch.msr & MSR_PR);
+                                                   vcpu->arch.shared->msr & MSR_PR);
        stlbe.tid = !(asid & 0xff);
 
        /* Keep track of the reference so we can properly release it later. */
@@ -423,7 +423,7 @@ static int tlbe_is_host_safe(const struct kvm_vcpu *vcpu,
 
        /* Does it match current guest AS? */
        /* XXX what about IS != DS? */
-       if (get_tlb_ts(tlbe) != !!(vcpu->arch.msr & MSR_IS))
+       if (get_tlb_ts(tlbe) != !!(vcpu->arch.shared->msr & MSR_IS))
                return 0;
 
        gpa = get_tlb_raddr(tlbe);