|
@@ -48,6 +48,7 @@ struct kvm_stats_debugfs_item debugfs_entries[] = {
|
|
{ "syscall", VCPU_STAT(syscall_exits), KVM_STAT_VCPU },
|
|
{ "syscall", VCPU_STAT(syscall_exits), KVM_STAT_VCPU },
|
|
{ "resvd_inst", VCPU_STAT(resvd_inst_exits), KVM_STAT_VCPU },
|
|
{ "resvd_inst", VCPU_STAT(resvd_inst_exits), KVM_STAT_VCPU },
|
|
{ "break_inst", VCPU_STAT(break_inst_exits), KVM_STAT_VCPU },
|
|
{ "break_inst", VCPU_STAT(break_inst_exits), KVM_STAT_VCPU },
|
|
|
|
+ { "trap_inst", VCPU_STAT(trap_inst_exits), KVM_STAT_VCPU },
|
|
{ "flush_dcache", VCPU_STAT(flush_dcache_exits), KVM_STAT_VCPU },
|
|
{ "flush_dcache", VCPU_STAT(flush_dcache_exits), KVM_STAT_VCPU },
|
|
{ "halt_successful_poll", VCPU_STAT(halt_successful_poll), KVM_STAT_VCPU },
|
|
{ "halt_successful_poll", VCPU_STAT(halt_successful_poll), KVM_STAT_VCPU },
|
|
{ "halt_wakeup", VCPU_STAT(halt_wakeup), KVM_STAT_VCPU },
|
|
{ "halt_wakeup", VCPU_STAT(halt_wakeup), KVM_STAT_VCPU },
|
|
@@ -1119,6 +1120,12 @@ int kvm_mips_handle_exit(struct kvm_run *run, struct kvm_vcpu *vcpu)
|
|
ret = kvm_mips_callbacks->handle_break(vcpu);
|
|
ret = kvm_mips_callbacks->handle_break(vcpu);
|
|
break;
|
|
break;
|
|
|
|
|
|
|
|
+ case T_TRAP:
|
|
|
|
+ ++vcpu->stat.trap_inst_exits;
|
|
|
|
+ trace_kvm_exit(vcpu, TRAP_INST_EXITS);
|
|
|
|
+ ret = kvm_mips_callbacks->handle_trap(vcpu);
|
|
|
|
+ break;
|
|
|
|
+
|
|
case T_MSADIS:
|
|
case T_MSADIS:
|
|
ret = kvm_mips_callbacks->handle_msa_disabled(vcpu);
|
|
ret = kvm_mips_callbacks->handle_msa_disabled(vcpu);
|
|
break;
|
|
break;
|