1
2
3
4
5
6
7
8
9
10
11
12#include <linux/kvm_host.h>
13
14char *kvm_cop0_str[N_MIPS_COPROC_REGS] = {
15 "Index",
16 "Random",
17 "EntryLo0",
18 "EntryLo1",
19 "Context",
20 "PG Mask",
21 "Wired",
22 "HWREna",
23 "BadVAddr",
24 "Count",
25 "EntryHI",
26 "Compare",
27 "Status",
28 "Cause",
29 "EXC PC",
30 "PRID",
31 "Config",
32 "LLAddr",
33 "Watch Lo",
34 "Watch Hi",
35 "X Context",
36 "Reserved",
37 "Impl Dep",
38 "Debug",
39 "DEPC",
40 "PerfCnt",
41 "ErrCtl",
42 "CacheErr",
43 "TagLo",
44 "TagHi",
45 "ErrorEPC",
46 "DESAVE"
47};
48
49void kvm_mips_dump_stats(struct kvm_vcpu *vcpu)
50{
51#ifdef CONFIG_KVM_MIPS_DEBUG_COP0_COUNTERS
52 int i, j;
53
54 kvm_info("\nKVM VCPU[%d] COP0 Access Profile:\n", vcpu->vcpu_id);
55 for (i = 0; i < N_MIPS_COPROC_REGS; i++) {
56 for (j = 0; j < N_MIPS_COPROC_SEL; j++) {
57 if (vcpu->arch.cop0->stat[i][j])
58 kvm_info("%s[%d]: %lu\n", kvm_cop0_str[i], j,
59 vcpu->arch.cop0->stat[i][j]);
60 }
61 }
62#endif
63}
64