hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/arch/x86/kernel/cpu/perfctr-watchdog.c
....@@ -46,6 +46,7 @@
4646 {
4747 /* returns the bit offset of the performance counter register */
4848 switch (boot_cpu_data.x86_vendor) {
49
+ case X86_VENDOR_HYGON:
4950 case X86_VENDOR_AMD:
5051 if (msr >= MSR_F15H_PERF_CTR)
5152 return (msr - MSR_F15H_PERF_CTR) >> 1;
....@@ -62,6 +63,10 @@
6263 case 15:
6364 return msr - MSR_P4_BPU_PERFCTR0;
6465 }
66
+ break;
67
+ case X86_VENDOR_ZHAOXIN:
68
+ case X86_VENDOR_CENTAUR:
69
+ return msr - MSR_ARCH_PERFMON_PERFCTR0;
6570 }
6671 return 0;
6772 }
....@@ -74,6 +79,7 @@
7479 {
7580 /* returns the bit offset of the event selection register */
7681 switch (boot_cpu_data.x86_vendor) {
82
+ case X86_VENDOR_HYGON:
7783 case X86_VENDOR_AMD:
7884 if (msr >= MSR_F15H_PERF_CTL)
7985 return (msr - MSR_F15H_PERF_CTL) >> 1;
....@@ -90,6 +96,10 @@
9096 case 15:
9197 return msr - MSR_P4_BSU_ESCR0;
9298 }
99
+ break;
100
+ case X86_VENDOR_ZHAOXIN:
101
+ case X86_VENDOR_CENTAUR:
102
+ return msr - MSR_ARCH_PERFMON_EVENTSEL0;
93103 }
94104 return 0;
95105