mirror of https://gitee.com/openkylin/linux.git
KVM: PPC: BOOK3S: Always use the saved DAR value
Although it's optional, IBM POWER cpus always had DAR value set on alignment interrupt. So don't try to compute these values. Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.vnet.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
5c165aeca3
commit
7310f3a5b0
|
@ -676,6 +676,12 @@ u32 kvmppc_alignment_dsisr(struct kvm_vcpu *vcpu, unsigned int inst)
|
|||
|
||||
ulong kvmppc_alignment_dar(struct kvm_vcpu *vcpu, unsigned int inst)
|
||||
{
|
||||
#ifdef CONFIG_PPC_BOOK3S_64
|
||||
/*
|
||||
* Linux's fix_alignment() assumes that DAR is valid, so can we
|
||||
*/
|
||||
return vcpu->arch.fault_dar;
|
||||
#else
|
||||
ulong dar = 0;
|
||||
ulong ra = get_ra(inst);
|
||||
ulong rb = get_rb(inst);
|
||||
|
@ -700,4 +706,5 @@ ulong kvmppc_alignment_dar(struct kvm_vcpu *vcpu, unsigned int inst)
|
|||
}
|
||||
|
||||
return dar;
|
||||
#endif
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue