summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorChristian Ehrhardt <ehrhardt@linux.vnet.ibm.com>2008-04-29 18:18:23 +0200
committerAvi Kivity <avi@qumranet.com>2008-05-04 13:44:45 +0200
commitde368dceb33c3c068dbde1407aff75cd8e126f04 (patch)
treecdcdac9093ed06ba233aee36e62302ff6c809ca3 /arch
parentKVM: ppc: Handle guest idle by emulating MSR[WE] writes (diff)
downloadlinux-de368dceb33c3c068dbde1407aff75cd8e126f04.tar.xz
linux-de368dceb33c3c068dbde1407aff75cd8e126f04.zip
KVM: ppc: deliver INTERRUPT_FP_UNAVAIL to the guest
This patch adds the delivery of INTERRUPT_FP_UNAVAIL exceptions to the guest. It's needed if a guest uses ppc binaries using the Floating point instructions. Signed-off-by: Christian Ehrhardt <ehrhardt@linux.vnet.ibm.com> Acked-by: Hollis Blanchard <hollisb@us.ibm.com> Signed-off-by: Avi Kivity <avi@qumranet.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/powerpc/kvm/booke_guest.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/powerpc/kvm/booke_guest.c b/arch/powerpc/kvm/booke_guest.c
index b3db6f4576ad..712d89a28c46 100644
--- a/arch/powerpc/kvm/booke_guest.c
+++ b/arch/powerpc/kvm/booke_guest.c
@@ -339,6 +339,11 @@ int kvmppc_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu,
}
break;
+ case BOOKE_INTERRUPT_FP_UNAVAIL:
+ kvmppc_queue_exception(vcpu, exit_nr);
+ r = RESUME_GUEST;
+ break;
+
case BOOKE_INTERRUPT_DATA_STORAGE:
vcpu->arch.dear = vcpu->arch.fault_dear;
vcpu->arch.esr = vcpu->arch.fault_esr;