|
@@ -151,16 +151,14 @@ void kvmppc_set_pvr(struct kvm_vcpu *vcpu, u32 pvr)
|
|
#ifdef CONFIG_PPC_BOOK3S_64
|
|
#ifdef CONFIG_PPC_BOOK3S_64
|
|
if ((pvr >= 0x330000) && (pvr < 0x70330000)) {
|
|
if ((pvr >= 0x330000) && (pvr < 0x70330000)) {
|
|
kvmppc_mmu_book3s_64_init(vcpu);
|
|
kvmppc_mmu_book3s_64_init(vcpu);
|
|
- if (!to_book3s(vcpu)->hior_sregs)
|
|
|
|
- to_book3s(vcpu)->hior = 0xfff00000;
|
|
|
|
|
|
+ to_book3s(vcpu)->hior = 0xfff00000;
|
|
to_book3s(vcpu)->msr_mask = 0xffffffffffffffffULL;
|
|
to_book3s(vcpu)->msr_mask = 0xffffffffffffffffULL;
|
|
vcpu->arch.cpu_type = KVM_CPU_3S_64;
|
|
vcpu->arch.cpu_type = KVM_CPU_3S_64;
|
|
} else
|
|
} else
|
|
#endif
|
|
#endif
|
|
{
|
|
{
|
|
kvmppc_mmu_book3s_32_init(vcpu);
|
|
kvmppc_mmu_book3s_32_init(vcpu);
|
|
- if (!to_book3s(vcpu)->hior_sregs)
|
|
|
|
- to_book3s(vcpu)->hior = 0;
|
|
|
|
|
|
+ to_book3s(vcpu)->hior = 0;
|
|
to_book3s(vcpu)->msr_mask = 0xffffffffULL;
|
|
to_book3s(vcpu)->msr_mask = 0xffffffffULL;
|
|
vcpu->arch.cpu_type = KVM_CPU_3S_32;
|
|
vcpu->arch.cpu_type = KVM_CPU_3S_32;
|
|
}
|
|
}
|
|
@@ -797,9 +795,6 @@ int kvm_arch_vcpu_ioctl_get_sregs(struct kvm_vcpu *vcpu,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- if (sregs->u.s.flags & KVM_SREGS_S_HIOR)
|
|
|
|
- sregs->u.s.hior = to_book3s(vcpu)->hior;
|
|
|
|
-
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -836,11 +831,6 @@ int kvm_arch_vcpu_ioctl_set_sregs(struct kvm_vcpu *vcpu,
|
|
/* Flush the MMU after messing with the segments */
|
|
/* Flush the MMU after messing with the segments */
|
|
kvmppc_mmu_pte_flush(vcpu, 0, 0);
|
|
kvmppc_mmu_pte_flush(vcpu, 0, 0);
|
|
|
|
|
|
- if (sregs->u.s.flags & KVM_SREGS_S_HIOR) {
|
|
|
|
- to_book3s(vcpu)->hior_sregs = true;
|
|
|
|
- to_book3s(vcpu)->hior = sregs->u.s.hior;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|