Changeset 105036 in vbox for trunk/src/VBox/VMM/VMMR3
- Timestamp:
- Jun 26, 2024 10:33:48 PM (7 months ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/VMM/VMMR3/IEMR3.cpp
r104990 r105036 201 201 AssertCompile(sizeof(pVCpu->iem.s) <= sizeof(pVCpu->iem.padding)); /* (tstVMStruct can't do it's job w/o instruction stats) */ 202 202 203 pVCpu->iem.s.CodeTlb.uTlbRevision = pVCpu->iem.s.DataTlb.uTlbRevision = uInitialTlbRevision; 204 pVCpu->iem.s.CodeTlb.uTlbPhysRev = pVCpu->iem.s.DataTlb.uTlbPhysRev = uInitialTlbPhysRev; 203 pVCpu->iem.s.CodeTlb.uTlbRevision = pVCpu->iem.s.DataTlb.uTlbRevision = uInitialTlbRevision; 204 #ifndef VBOX_VMM_TARGET_ARMV8 205 pVCpu->iem.s.CodeTlb.uTlbRevisionGlobal = pVCpu->iem.s.DataTlb.uTlbRevisionGlobal = uInitialTlbRevision; 206 #endif 207 pVCpu->iem.s.CodeTlb.uTlbPhysRev = pVCpu->iem.s.DataTlb.uTlbPhysRev = uInitialTlbPhysRev; 205 208 206 209 /* … … 323 326 /* Code TLB: */ 324 327 STAMR3RegisterF(pVM, &pVCpu->iem.s.CodeTlb.uTlbRevision, STAMTYPE_X64, STAMVISIBILITY_ALWAYS, STAMUNIT_NONE, 325 "Code TLB revision", "/IEM/CPU%u/Tlb/Code/Revision", idCpu); 328 "Code TLB non-global revision", "/IEM/CPU%u/Tlb/Code/RevisionNonGlobal", idCpu); 329 STAMR3RegisterF(pVM, &pVCpu->iem.s.CodeTlb.uTlbRevisionGlobal, STAMTYPE_X64, STAMVISIBILITY_ALWAYS, STAMUNIT_NONE, 330 "Code TLB global revision", "/IEM/CPU%u/Tlb/Code/RevisionGlobal", idCpu); 326 331 STAMR3RegisterF(pVM, &pVCpu->iem.s.CodeTlb.cTlsFlushes, STAMTYPE_U32_RESET, STAMVISIBILITY_ALWAYS, STAMUNIT_NONE, 327 332 "Code TLB non-global flushes", "/IEM/CPU%u/Tlb/Code/RevisionNonGlobalFlushes", idCpu); … … 340 345 STAMR3RegisterF(pVM, &pVCpu->iem.s.CodeTlb.cTlbCoreMisses, STAMTYPE_U64_RESET, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT, 341 346 "Code TLB misses", "/IEM/CPU%u/Tlb/Code/Misses", idCpu); 347 STAMR3RegisterF(pVM, &pVCpu->iem.s.CodeTlb.cTlbCoreGlobalLoads, STAMTYPE_U64_RESET, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT, 348 "Code TLB global loads", "/IEM/CPU%u/Tlb/Code/Misses/GlobalLoads", idCpu); 342 349 STAMR3RegisterF(pVM, &pVCpu->iem.s.CodeTlb.cTlbSlowCodeReadPath, STAMTYPE_U32_RESET, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT, 343 350 "Code TLB slow read path", "/IEM/CPU%u/Tlb/Code/SlowReads", idCpu); … … 393 400 /* Data TLB organized as best we can... */ 394 401 STAMR3RegisterF(pVM, &pVCpu->iem.s.DataTlb.uTlbRevision, STAMTYPE_X64, STAMVISIBILITY_ALWAYS, STAMUNIT_NONE, 395 "Data TLB revision", "/IEM/CPU%u/Tlb/Data/Revision", idCpu); 402 "Data TLB non-global revision", "/IEM/CPU%u/Tlb/Data/RevisionNonGlobal", idCpu); 403 STAMR3RegisterF(pVM, &pVCpu->iem.s.DataTlb.uTlbRevisionGlobal, STAMTYPE_X64, STAMVISIBILITY_ALWAYS, STAMUNIT_NONE, 404 "Data TLB global revision", "/IEM/CPU%u/Tlb/Data/RevisionGlobal", idCpu); 396 405 STAMR3RegisterF(pVM, &pVCpu->iem.s.DataTlb.cTlsFlushes, STAMTYPE_U32_RESET, STAMVISIBILITY_ALWAYS, STAMUNIT_NONE, 397 406 "Data TLB non-global flushes", "/IEM/CPU%u/Tlb/Data/RevisionNonGlobalFlushes", idCpu); … … 411 420 "Data TLB core misses (iemMemMap, direct iemMemMapJmp (not safe path))", 412 421 "/IEM/CPU%u/Tlb/Data/Misses/Core", idCpu); 422 STAMR3RegisterF(pVM, &pVCpu->iem.s.DataTlb.cTlbCoreGlobalLoads, STAMTYPE_U64_RESET, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT, 423 "Data TLB global loads", 424 "/IEM/CPU%u/Tlb/Data/Misses/Core/GlobalLoads", idCpu); 413 425 STAMR3RegisterF(pVM, &pVCpu->iem.s.DataTlb.cTlbSafeReadPath, STAMTYPE_U64_RESET, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT, 414 426 "Data TLB safe read path (inline/native misses going to iemMemMapJmp)", … … 430 442 "Data TLB misses in iemMemMapJmp - not part of safe-path total", 431 443 "/IEM/CPU%u/Tlb/Data/Misses/Safe/SubPartMisses", idCpu); 444 STAMR3RegisterF(pVM, &pVCpu->iem.s.DataTlb.cTlbSafeGlobalLoads, STAMTYPE_U64_RESET, STAMVISIBILITY_ALWAYS, STAMUNIT_COUNT, 445 "Data TLB global loads", 446 "/IEM/CPU%u/Tlb/Data/Misses/Safe/SubPartMisses/GlobalLoads", idCpu); 432 447 433 448 # ifdef IEM_WITH_TLB_STATISTICS
Note:
See TracChangeset
for help on using the changeset viewer.