|
@@ -1571,17 +1571,17 @@ kvm_mips_handle_ri(unsigned long cause, uint32_t *opc,
|
|
arch->gprs[rt] = kvm_read_c0_guest_userlocal(cop0);
|
|
arch->gprs[rt] = kvm_read_c0_guest_userlocal(cop0);
|
|
#else
|
|
#else
|
|
/* UserLocal not implemented */
|
|
/* UserLocal not implemented */
|
|
- er = kvm_mips_emulate_ri_exc(cause, opc, run, vcpu);
|
|
|
|
|
|
+ er = EMULATE_FAIL;
|
|
#endif
|
|
#endif
|
|
break;
|
|
break;
|
|
|
|
|
|
default:
|
|
default:
|
|
- printk("RDHWR not supported\n");
|
|
|
|
|
|
+ kvm_debug("RDHWR %#x not supported @ %p\n", rd, opc);
|
|
er = EMULATE_FAIL;
|
|
er = EMULATE_FAIL;
|
|
break;
|
|
break;
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
- printk("Emulate RI not supported @ %p: %#x\n", opc, inst);
|
|
|
|
|
|
+ kvm_debug("Emulate RI not supported @ %p: %#x\n", opc, inst);
|
|
er = EMULATE_FAIL;
|
|
er = EMULATE_FAIL;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1590,6 +1590,7 @@ kvm_mips_handle_ri(unsigned long cause, uint32_t *opc,
|
|
*/
|
|
*/
|
|
if (er == EMULATE_FAIL) {
|
|
if (er == EMULATE_FAIL) {
|
|
vcpu->arch.pc = curr_pc;
|
|
vcpu->arch.pc = curr_pc;
|
|
|
|
+ er = kvm_mips_emulate_ri_exc(cause, opc, run, vcpu);
|
|
}
|
|
}
|
|
return er;
|
|
return er;
|
|
}
|
|
}
|