Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1// SPDX-License-Identifier: GPL-2.0-only
2/*
3 * Copyright (c) 2026, Microsoft Corporation.
4 *
5 * Data for printing stats page counters via debugfs.
6 *
7 * Authors: Microsoft Linux virtualization team
8 */
9
10/*
11 * For simplicity, this file is included directly in mshv_debugfs.c.
12 * If these are ever needed elsewhere they should be compiled separately.
13 * Ensure this file is not used twice by accident.
14 */
15#ifndef MSHV_DEBUGFS_C
16#error "This file should only be included in mshv_debugfs.c"
17#endif
18
19/* HV_HYPERVISOR_COUNTER */
20static char *hv_hypervisor_counters[] = {
21 [1] = "HvLogicalProcessors",
22 [2] = "HvPartitions",
23 [3] = "HvTotalPages",
24 [4] = "HvVirtualProcessors",
25 [5] = "HvMonitoredNotifications",
26 [6] = "HvModernStandbyEntries",
27 [7] = "HvPlatformIdleTransitions",
28 [8] = "HvHypervisorStartupCost",
29
30 [10] = "HvIOSpacePages",
31 [11] = "HvNonEssentialPagesForDump",
32 [12] = "HvSubsumedPages",
33};
34
35/* HV_CPU_COUNTER */
36static char *hv_lp_counters[] = {
37 [1] = "LpGlobalTime",
38 [2] = "LpTotalRunTime",
39 [3] = "LpHypervisorRunTime",
40 [4] = "LpHardwareInterrupts",
41 [5] = "LpContextSwitches",
42 [6] = "LpInterProcessorInterrupts",
43 [7] = "LpSchedulerInterrupts",
44 [8] = "LpTimerInterrupts",
45 [9] = "LpInterProcessorInterruptsSent",
46 [10] = "LpProcessorHalts",
47 [11] = "LpMonitorTransitionCost",
48 [12] = "LpContextSwitchTime",
49 [13] = "LpC1TransitionsCount",
50 [14] = "LpC1RunTime",
51 [15] = "LpC2TransitionsCount",
52 [16] = "LpC2RunTime",
53 [17] = "LpC3TransitionsCount",
54 [18] = "LpC3RunTime",
55 [19] = "LpRootVpIndex",
56 [20] = "LpIdleSequenceNumber",
57 [21] = "LpGlobalTscCount",
58 [22] = "LpActiveTscCount",
59 [23] = "LpIdleAccumulation",
60 [24] = "LpReferenceCycleCount0",
61 [25] = "LpActualCycleCount0",
62 [26] = "LpReferenceCycleCount1",
63 [27] = "LpActualCycleCount1",
64 [28] = "LpProximityDomainId",
65 [29] = "LpPostedInterruptNotifications",
66 [30] = "LpBranchPredictorFlushes",
67#if IS_ENABLED(CONFIG_X86_64)
68 [31] = "LpL1DataCacheFlushes",
69 [32] = "LpImmediateL1DataCacheFlushes",
70 [33] = "LpMbFlushes",
71 [34] = "LpCounterRefreshSequenceNumber",
72 [35] = "LpCounterRefreshReferenceTime",
73 [36] = "LpIdleAccumulationSnapshot",
74 [37] = "LpActiveTscCountSnapshot",
75 [38] = "LpHwpRequestContextSwitches",
76 [39] = "LpPlaceholder1",
77 [40] = "LpPlaceholder2",
78 [41] = "LpPlaceholder3",
79 [42] = "LpPlaceholder4",
80 [43] = "LpPlaceholder5",
81 [44] = "LpPlaceholder6",
82 [45] = "LpPlaceholder7",
83 [46] = "LpPlaceholder8",
84 [47] = "LpPlaceholder9",
85 [48] = "LpSchLocalRunListSize",
86 [49] = "LpReserveGroupId",
87 [50] = "LpRunningPriority",
88 [51] = "LpPerfmonInterruptCount",
89#elif IS_ENABLED(CONFIG_ARM64)
90 [31] = "LpCounterRefreshSequenceNumber",
91 [32] = "LpCounterRefreshReferenceTime",
92 [33] = "LpIdleAccumulationSnapshot",
93 [34] = "LpActiveTscCountSnapshot",
94 [35] = "LpHwpRequestContextSwitches",
95 [36] = "LpPlaceholder2",
96 [37] = "LpPlaceholder3",
97 [38] = "LpPlaceholder4",
98 [39] = "LpPlaceholder5",
99 [40] = "LpPlaceholder6",
100 [41] = "LpPlaceholder7",
101 [42] = "LpPlaceholder8",
102 [43] = "LpPlaceholder9",
103 [44] = "LpSchLocalRunListSize",
104 [45] = "LpReserveGroupId",
105 [46] = "LpRunningPriority",
106#endif
107};
108
109/* HV_PROCESS_COUNTER */
110static char *hv_partition_counters[] = {
111 [1] = "PtVirtualProcessors",
112
113 [3] = "PtTlbSize",
114 [4] = "PtAddressSpaces",
115 [5] = "PtDepositedPages",
116 [6] = "PtGpaPages",
117 [7] = "PtGpaSpaceModifications",
118 [8] = "PtVirtualTlbFlushEntires",
119 [9] = "PtRecommendedTlbSize",
120 [10] = "PtGpaPages4K",
121 [11] = "PtGpaPages2M",
122 [12] = "PtGpaPages1G",
123 [13] = "PtGpaPages512G",
124 [14] = "PtDevicePages4K",
125 [15] = "PtDevicePages2M",
126 [16] = "PtDevicePages1G",
127 [17] = "PtDevicePages512G",
128 [18] = "PtAttachedDevices",
129 [19] = "PtDeviceInterruptMappings",
130 [20] = "PtIoTlbFlushes",
131 [21] = "PtIoTlbFlushCost",
132 [22] = "PtDeviceInterruptErrors",
133 [23] = "PtDeviceDmaErrors",
134 [24] = "PtDeviceInterruptThrottleEvents",
135 [25] = "PtSkippedTimerTicks",
136 [26] = "PtPartitionId",
137#if IS_ENABLED(CONFIG_X86_64)
138 [27] = "PtNestedTlbSize",
139 [28] = "PtRecommendedNestedTlbSize",
140 [29] = "PtNestedTlbFreeListSize",
141 [30] = "PtNestedTlbTrimmedPages",
142 [31] = "PtPagesShattered",
143 [32] = "PtPagesRecombined",
144 [33] = "PtHwpRequestValue",
145 [34] = "PtAutoSuspendEnableTime",
146 [35] = "PtAutoSuspendTriggerTime",
147 [36] = "PtAutoSuspendDisableTime",
148 [37] = "PtPlaceholder1",
149 [38] = "PtPlaceholder2",
150 [39] = "PtPlaceholder3",
151 [40] = "PtPlaceholder4",
152 [41] = "PtPlaceholder5",
153 [42] = "PtPlaceholder6",
154 [43] = "PtPlaceholder7",
155 [44] = "PtPlaceholder8",
156 [45] = "PtHypervisorStateTransferGeneration",
157 [46] = "PtNumberofActiveChildPartitions",
158#elif IS_ENABLED(CONFIG_ARM64)
159 [27] = "PtHwpRequestValue",
160 [28] = "PtAutoSuspendEnableTime",
161 [29] = "PtAutoSuspendTriggerTime",
162 [30] = "PtAutoSuspendDisableTime",
163 [31] = "PtPlaceholder1",
164 [32] = "PtPlaceholder2",
165 [33] = "PtPlaceholder3",
166 [34] = "PtPlaceholder4",
167 [35] = "PtPlaceholder5",
168 [36] = "PtPlaceholder6",
169 [37] = "PtPlaceholder7",
170 [38] = "PtPlaceholder8",
171 [39] = "PtHypervisorStateTransferGeneration",
172 [40] = "PtNumberofActiveChildPartitions",
173#endif
174};
175
176/* HV_THREAD_COUNTER */
177static char *hv_vp_counters[] = {
178 [1] = "VpTotalRunTime",
179 [2] = "VpHypervisorRunTime",
180 [3] = "VpRemoteNodeRunTime",
181 [4] = "VpNormalizedRunTime",
182 [5] = "VpIdealCpu",
183
184 [7] = "VpHypercallsCount",
185 [8] = "VpHypercallsTime",
186#if IS_ENABLED(CONFIG_X86_64)
187 [9] = "VpPageInvalidationsCount",
188 [10] = "VpPageInvalidationsTime",
189 [11] = "VpControlRegisterAccessesCount",
190 [12] = "VpControlRegisterAccessesTime",
191 [13] = "VpIoInstructionsCount",
192 [14] = "VpIoInstructionsTime",
193 [15] = "VpHltInstructionsCount",
194 [16] = "VpHltInstructionsTime",
195 [17] = "VpMwaitInstructionsCount",
196 [18] = "VpMwaitInstructionsTime",
197 [19] = "VpCpuidInstructionsCount",
198 [20] = "VpCpuidInstructionsTime",
199 [21] = "VpMsrAccessesCount",
200 [22] = "VpMsrAccessesTime",
201 [23] = "VpOtherInterceptsCount",
202 [24] = "VpOtherInterceptsTime",
203 [25] = "VpExternalInterruptsCount",
204 [26] = "VpExternalInterruptsTime",
205 [27] = "VpPendingInterruptsCount",
206 [28] = "VpPendingInterruptsTime",
207 [29] = "VpEmulatedInstructionsCount",
208 [30] = "VpEmulatedInstructionsTime",
209 [31] = "VpDebugRegisterAccessesCount",
210 [32] = "VpDebugRegisterAccessesTime",
211 [33] = "VpPageFaultInterceptsCount",
212 [34] = "VpPageFaultInterceptsTime",
213 [35] = "VpGuestPageTableMaps",
214 [36] = "VpLargePageTlbFills",
215 [37] = "VpSmallPageTlbFills",
216 [38] = "VpReflectedGuestPageFaults",
217 [39] = "VpApicMmioAccesses",
218 [40] = "VpIoInterceptMessages",
219 [41] = "VpMemoryInterceptMessages",
220 [42] = "VpApicEoiAccesses",
221 [43] = "VpOtherMessages",
222 [44] = "VpPageTableAllocations",
223 [45] = "VpLogicalProcessorMigrations",
224 [46] = "VpAddressSpaceEvictions",
225 [47] = "VpAddressSpaceSwitches",
226 [48] = "VpAddressDomainFlushes",
227 [49] = "VpAddressSpaceFlushes",
228 [50] = "VpGlobalGvaRangeFlushes",
229 [51] = "VpLocalGvaRangeFlushes",
230 [52] = "VpPageTableEvictions",
231 [53] = "VpPageTableReclamations",
232 [54] = "VpPageTableResets",
233 [55] = "VpPageTableValidations",
234 [56] = "VpApicTprAccesses",
235 [57] = "VpPageTableWriteIntercepts",
236 [58] = "VpSyntheticInterrupts",
237 [59] = "VpVirtualInterrupts",
238 [60] = "VpApicIpisSent",
239 [61] = "VpApicSelfIpisSent",
240 [62] = "VpGpaSpaceHypercalls",
241 [63] = "VpLogicalProcessorHypercalls",
242 [64] = "VpLongSpinWaitHypercalls",
243 [65] = "VpOtherHypercalls",
244 [66] = "VpSyntheticInterruptHypercalls",
245 [67] = "VpVirtualInterruptHypercalls",
246 [68] = "VpVirtualMmuHypercalls",
247 [69] = "VpVirtualProcessorHypercalls",
248 [70] = "VpHardwareInterrupts",
249 [71] = "VpNestedPageFaultInterceptsCount",
250 [72] = "VpNestedPageFaultInterceptsTime",
251 [73] = "VpPageScans",
252 [74] = "VpLogicalProcessorDispatches",
253 [75] = "VpWaitingForCpuTime",
254 [76] = "VpExtendedHypercalls",
255 [77] = "VpExtendedHypercallInterceptMessages",
256 [78] = "VpMbecNestedPageTableSwitches",
257 [79] = "VpOtherReflectedGuestExceptions",
258 [80] = "VpGlobalIoTlbFlushes",
259 [81] = "VpGlobalIoTlbFlushCost",
260 [82] = "VpLocalIoTlbFlushes",
261 [83] = "VpLocalIoTlbFlushCost",
262 [84] = "VpHypercallsForwardedCount",
263 [85] = "VpHypercallsForwardingTime",
264 [86] = "VpPageInvalidationsForwardedCount",
265 [87] = "VpPageInvalidationsForwardingTime",
266 [88] = "VpControlRegisterAccessesForwardedCount",
267 [89] = "VpControlRegisterAccessesForwardingTime",
268 [90] = "VpIoInstructionsForwardedCount",
269 [91] = "VpIoInstructionsForwardingTime",
270 [92] = "VpHltInstructionsForwardedCount",
271 [93] = "VpHltInstructionsForwardingTime",
272 [94] = "VpMwaitInstructionsForwardedCount",
273 [95] = "VpMwaitInstructionsForwardingTime",
274 [96] = "VpCpuidInstructionsForwardedCount",
275 [97] = "VpCpuidInstructionsForwardingTime",
276 [98] = "VpMsrAccessesForwardedCount",
277 [99] = "VpMsrAccessesForwardingTime",
278 [100] = "VpOtherInterceptsForwardedCount",
279 [101] = "VpOtherInterceptsForwardingTime",
280 [102] = "VpExternalInterruptsForwardedCount",
281 [103] = "VpExternalInterruptsForwardingTime",
282 [104] = "VpPendingInterruptsForwardedCount",
283 [105] = "VpPendingInterruptsForwardingTime",
284 [106] = "VpEmulatedInstructionsForwardedCount",
285 [107] = "VpEmulatedInstructionsForwardingTime",
286 [108] = "VpDebugRegisterAccessesForwardedCount",
287 [109] = "VpDebugRegisterAccessesForwardingTime",
288 [110] = "VpPageFaultInterceptsForwardedCount",
289 [111] = "VpPageFaultInterceptsForwardingTime",
290 [112] = "VpVmclearEmulationCount",
291 [113] = "VpVmclearEmulationTime",
292 [114] = "VpVmptrldEmulationCount",
293 [115] = "VpVmptrldEmulationTime",
294 [116] = "VpVmptrstEmulationCount",
295 [117] = "VpVmptrstEmulationTime",
296 [118] = "VpVmreadEmulationCount",
297 [119] = "VpVmreadEmulationTime",
298 [120] = "VpVmwriteEmulationCount",
299 [121] = "VpVmwriteEmulationTime",
300 [122] = "VpVmxoffEmulationCount",
301 [123] = "VpVmxoffEmulationTime",
302 [124] = "VpVmxonEmulationCount",
303 [125] = "VpVmxonEmulationTime",
304 [126] = "VpNestedVMEntriesCount",
305 [127] = "VpNestedVMEntriesTime",
306 [128] = "VpNestedSLATSoftPageFaultsCount",
307 [129] = "VpNestedSLATSoftPageFaultsTime",
308 [130] = "VpNestedSLATHardPageFaultsCount",
309 [131] = "VpNestedSLATHardPageFaultsTime",
310 [132] = "VpInvEptAllContextEmulationCount",
311 [133] = "VpInvEptAllContextEmulationTime",
312 [134] = "VpInvEptSingleContextEmulationCount",
313 [135] = "VpInvEptSingleContextEmulationTime",
314 [136] = "VpInvVpidAllContextEmulationCount",
315 [137] = "VpInvVpidAllContextEmulationTime",
316 [138] = "VpInvVpidSingleContextEmulationCount",
317 [139] = "VpInvVpidSingleContextEmulationTime",
318 [140] = "VpInvVpidSingleAddressEmulationCount",
319 [141] = "VpInvVpidSingleAddressEmulationTime",
320 [142] = "VpNestedTlbPageTableReclamations",
321 [143] = "VpNestedTlbPageTableEvictions",
322 [144] = "VpFlushGuestPhysicalAddressSpaceHypercalls",
323 [145] = "VpFlushGuestPhysicalAddressListHypercalls",
324 [146] = "VpPostedInterruptNotifications",
325 [147] = "VpPostedInterruptScans",
326 [148] = "VpTotalCoreRunTime",
327 [149] = "VpMaximumRunTime",
328 [150] = "VpHwpRequestContextSwitches",
329 [151] = "VpWaitingForCpuTimeBucket0",
330 [152] = "VpWaitingForCpuTimeBucket1",
331 [153] = "VpWaitingForCpuTimeBucket2",
332 [154] = "VpWaitingForCpuTimeBucket3",
333 [155] = "VpWaitingForCpuTimeBucket4",
334 [156] = "VpWaitingForCpuTimeBucket5",
335 [157] = "VpWaitingForCpuTimeBucket6",
336 [158] = "VpVmloadEmulationCount",
337 [159] = "VpVmloadEmulationTime",
338 [160] = "VpVmsaveEmulationCount",
339 [161] = "VpVmsaveEmulationTime",
340 [162] = "VpGifInstructionEmulationCount",
341 [163] = "VpGifInstructionEmulationTime",
342 [164] = "VpEmulatedErrataSvmInstructions",
343 [165] = "VpPlaceholder1",
344 [166] = "VpPlaceholder2",
345 [167] = "VpPlaceholder3",
346 [168] = "VpPlaceholder4",
347 [169] = "VpPlaceholder5",
348 [170] = "VpPlaceholder6",
349 [171] = "VpPlaceholder7",
350 [172] = "VpPlaceholder8",
351 [173] = "VpContentionTime",
352 [174] = "VpWakeUpTime",
353 [175] = "VpSchedulingPriority",
354 [176] = "VpRdpmcInstructionsCount",
355 [177] = "VpRdpmcInstructionsTime",
356 [178] = "VpPerfmonPmuMsrAccessesCount",
357 [179] = "VpPerfmonLbrMsrAccessesCount",
358 [180] = "VpPerfmonIptMsrAccessesCount",
359 [181] = "VpPerfmonInterruptCount",
360 [182] = "VpVtl1DispatchCount",
361 [183] = "VpVtl2DispatchCount",
362 [184] = "VpVtl2DispatchBucket0",
363 [185] = "VpVtl2DispatchBucket1",
364 [186] = "VpVtl2DispatchBucket2",
365 [187] = "VpVtl2DispatchBucket3",
366 [188] = "VpVtl2DispatchBucket4",
367 [189] = "VpVtl2DispatchBucket5",
368 [190] = "VpVtl2DispatchBucket6",
369 [191] = "VpVtl1RunTime",
370 [192] = "VpVtl2RunTime",
371 [193] = "VpIommuHypercalls",
372 [194] = "VpCpuGroupHypercalls",
373 [195] = "VpVsmHypercalls",
374 [196] = "VpEventLogHypercalls",
375 [197] = "VpDeviceDomainHypercalls",
376 [198] = "VpDepositHypercalls",
377 [199] = "VpSvmHypercalls",
378 [200] = "VpBusLockAcquisitionCount",
379 [201] = "VpLoadAvg",
380 [202] = "VpRootDispatchThreadBlocked",
381 [203] = "VpIdleCpuTime",
382 [204] = "VpWaitingForCpuTimeBucket7",
383 [205] = "VpWaitingForCpuTimeBucket8",
384 [206] = "VpWaitingForCpuTimeBucket9",
385 [207] = "VpWaitingForCpuTimeBucket10",
386 [208] = "VpWaitingForCpuTimeBucket11",
387 [209] = "VpWaitingForCpuTimeBucket12",
388 [210] = "VpHierarchicalSuspendTime",
389 [211] = "VpExpressSchedulingAttempts",
390 [212] = "VpExpressSchedulingCount",
391#elif IS_ENABLED(CONFIG_ARM64)
392 [9] = "VpSysRegAccessesCount",
393 [10] = "VpSysRegAccessesTime",
394 [11] = "VpSmcInstructionsCount",
395 [12] = "VpSmcInstructionsTime",
396 [13] = "VpOtherInterceptsCount",
397 [14] = "VpOtherInterceptsTime",
398 [15] = "VpExternalInterruptsCount",
399 [16] = "VpExternalInterruptsTime",
400 [17] = "VpPendingInterruptsCount",
401 [18] = "VpPendingInterruptsTime",
402 [19] = "VpGuestPageTableMaps",
403 [20] = "VpLargePageTlbFills",
404 [21] = "VpSmallPageTlbFills",
405 [22] = "VpReflectedGuestPageFaults",
406 [23] = "VpMemoryInterceptMessages",
407 [24] = "VpOtherMessages",
408 [25] = "VpLogicalProcessorMigrations",
409 [26] = "VpAddressDomainFlushes",
410 [27] = "VpAddressSpaceFlushes",
411 [28] = "VpSyntheticInterrupts",
412 [29] = "VpVirtualInterrupts",
413 [30] = "VpApicSelfIpisSent",
414 [31] = "VpGpaSpaceHypercalls",
415 [32] = "VpLogicalProcessorHypercalls",
416 [33] = "VpLongSpinWaitHypercalls",
417 [34] = "VpOtherHypercalls",
418 [35] = "VpSyntheticInterruptHypercalls",
419 [36] = "VpVirtualInterruptHypercalls",
420 [37] = "VpVirtualMmuHypercalls",
421 [38] = "VpVirtualProcessorHypercalls",
422 [39] = "VpHardwareInterrupts",
423 [40] = "VpNestedPageFaultInterceptsCount",
424 [41] = "VpNestedPageFaultInterceptsTime",
425 [42] = "VpLogicalProcessorDispatches",
426 [43] = "VpWaitingForCpuTime",
427 [44] = "VpExtendedHypercalls",
428 [45] = "VpExtendedHypercallInterceptMessages",
429 [46] = "VpMbecNestedPageTableSwitches",
430 [47] = "VpOtherReflectedGuestExceptions",
431 [48] = "VpGlobalIoTlbFlushes",
432 [49] = "VpGlobalIoTlbFlushCost",
433 [50] = "VpLocalIoTlbFlushes",
434 [51] = "VpLocalIoTlbFlushCost",
435 [52] = "VpFlushGuestPhysicalAddressSpaceHypercalls",
436 [53] = "VpFlushGuestPhysicalAddressListHypercalls",
437 [54] = "VpPostedInterruptNotifications",
438 [55] = "VpPostedInterruptScans",
439 [56] = "VpTotalCoreRunTime",
440 [57] = "VpMaximumRunTime",
441 [58] = "VpWaitingForCpuTimeBucket0",
442 [59] = "VpWaitingForCpuTimeBucket1",
443 [60] = "VpWaitingForCpuTimeBucket2",
444 [61] = "VpWaitingForCpuTimeBucket3",
445 [62] = "VpWaitingForCpuTimeBucket4",
446 [63] = "VpWaitingForCpuTimeBucket5",
447 [64] = "VpWaitingForCpuTimeBucket6",
448 [65] = "VpHwpRequestContextSwitches",
449 [66] = "VpPlaceholder2",
450 [67] = "VpPlaceholder3",
451 [68] = "VpPlaceholder4",
452 [69] = "VpPlaceholder5",
453 [70] = "VpPlaceholder6",
454 [71] = "VpPlaceholder7",
455 [72] = "VpPlaceholder8",
456 [73] = "VpContentionTime",
457 [74] = "VpWakeUpTime",
458 [75] = "VpSchedulingPriority",
459 [76] = "VpVtl1DispatchCount",
460 [77] = "VpVtl2DispatchCount",
461 [78] = "VpVtl2DispatchBucket0",
462 [79] = "VpVtl2DispatchBucket1",
463 [80] = "VpVtl2DispatchBucket2",
464 [81] = "VpVtl2DispatchBucket3",
465 [82] = "VpVtl2DispatchBucket4",
466 [83] = "VpVtl2DispatchBucket5",
467 [84] = "VpVtl2DispatchBucket6",
468 [85] = "VpVtl1RunTime",
469 [86] = "VpVtl2RunTime",
470 [87] = "VpIommuHypercalls",
471 [88] = "VpCpuGroupHypercalls",
472 [89] = "VpVsmHypercalls",
473 [90] = "VpEventLogHypercalls",
474 [91] = "VpDeviceDomainHypercalls",
475 [92] = "VpDepositHypercalls",
476 [93] = "VpSvmHypercalls",
477 [94] = "VpLoadAvg",
478 [95] = "VpRootDispatchThreadBlocked",
479 [96] = "VpIdleCpuTime",
480 [97] = "VpWaitingForCpuTimeBucket7",
481 [98] = "VpWaitingForCpuTimeBucket8",
482 [99] = "VpWaitingForCpuTimeBucket9",
483 [100] = "VpWaitingForCpuTimeBucket10",
484 [101] = "VpWaitingForCpuTimeBucket11",
485 [102] = "VpWaitingForCpuTimeBucket12",
486 [103] = "VpHierarchicalSuspendTime",
487 [104] = "VpExpressSchedulingAttempts",
488 [105] = "VpExpressSchedulingCount",
489#endif
490};