KVM: ppc: improve trap emulation
authorHollis Blanchard <hollisb@us.ibm.com>
Wed, 5 Nov 2008 15:36:24 +0000 (09:36 -0600)
committerAvi Kivity <avi@redhat.com>
Wed, 31 Dec 2008 14:52:24 +0000 (16:52 +0200)
set ESR[PTR] when emulating a guest trap. This allows Linux guests to
properly handle WARN_ON() (i.e. detect that it's a non-fatal trap).

Also remove debugging printk in trap emulation.

Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/powerpc/kvm/emulate.c

index 814f1e68785714250fb10df175badc51e2a32060..4c30fa0c31ea550ea6c695b82a2ed3ce929b321d 100644 (file)
@@ -74,8 +74,8 @@ int kvmppc_emulate_instruction(struct kvm_run *run, struct kvm_vcpu *vcpu)
        int advance = 1;
 
        switch (get_op(inst)) {
-       case 3:                                                 /* trap */
-               printk("trap!\n");
+       case 3:                                             /* trap */
+               vcpu->arch.esr |= ESR_PTR;
                kvmppc_core_queue_program(vcpu);
                advance = 0;
                break;