Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

113 lines
5.2 KiB

  1. /*++
  2. Copyright (c) 1990 Microsoft Corporation
  3. Module Name:
  4. p5.c
  5. Abstract:
  6. Counted events for P5 processor
  7. Author:
  8. Ken Reneris
  9. Environment:
  10. Notes:
  11. Revision History:
  12. --*/
  13. #include "ntddk.h"
  14. #include "..\..\pstat.h"
  15. #include "stat.h"
  16. #ifdef ALLOC_DATA_PRAGMA
  17. #pragma data_seg("PAGE")
  18. #endif
  19. char dsc5_0x00[] = "Data Memory Reads.";
  20. char dsc5_0x01[] = "Data Memory Write.";
  21. char dsc5_0x02[] = "Data TLB Misses.";
  22. char dsc5_0x03[] = "Data Read Misses.";
  23. char dsc5_0x04[] = "Data Write Misses.";
  24. char dsc5_0x05[] = "Write (Hit) to M# or E#.";
  25. char dsc5_0x06[] = "Data Cache Line Write Back.";
  26. char dsc5_0x07[] = "External Snoops.";
  27. char dsc5_0x08[] = "Data Cache Snoop Hits.";
  28. char dsc5_0x09[] = "Memory Access In Both Pipes.";
  29. char dsc5_0x0A[] = "Actual Bank Conflicts.";
  30. char dsc5_0x0B[] = "Misaligned Data References.";
  31. char dsc5_0x0C[] = "Code Read (Cache Fetches).";
  32. char dsc5_0x0D[] = "Code TLB Misses.";
  33. char dsc5_0x0E[] = "Code Cache Misses.";
  34. char dsc5_0x0F[] = "Segment Register Loads.";
  35. char dsc5_0x12[] = "Total Branches.";
  36. char dsc5_0x13[] = "BTB Hits (Actually Exec'd).";
  37. char dsc5_0x14[] = "Taken Branch or BTB Hits.";
  38. char dsc5_0x15[] = "Pipeline Flushes.";
  39. char dsc5_0x16[] = "Instructions Executed.";
  40. char dsc5_0x17[] = "Instruction Exec'd in V-Pipe.";
  41. char dsc5_0x18[] = "Bus Utilization.";
  42. char dsc5_0x19[] = "Write Buffers Full- Pipe Stalled.";
  43. char dsc5_0x1A[] = "Wait Mem Read - Pipe Stalled.";
  44. char dsc5_0x1B[] = "Stalled Due To Write To M/E#.";
  45. char dsc5_0x1C[] = "Locked Bus Cycles.";
  46. char dsc5_0x1D[] = "I/O Read or Write Cycles.";
  47. char dsc5_0x1E[] = "Non-Cachable Memory Refs.";
  48. char dsc5_0x1F[] = "Pipe Stalled Due To AGI.";
  49. char dsc5_0x22[] = "Floating-Point Operations.";
  50. char dsc5_0x23[] = "Breakpoint on DR0.";
  51. char dsc5_0x24[] = "Breakpoint on DR1.";
  52. char dsc5_0x25[] = "Breakpoint on DR2.";
  53. char dsc5_0x26[] = "Breakpoint on DR3.";
  54. char dsc5_0x27[] = "Hardware Interrupts Taken.";
  55. char dsc5_0x28[] = "Data Read or Data Writes.";
  56. char dsc5_0x29[] = "Data Read/Write Misses.";
  57. COUNTED_EVENTS P5Events[] = {
  58. 0x00, "rdata", 0, "Data Read", "DMEMR", dsc5_0x00,
  59. 0x01, "wdata", 0, "Data Write", "DMEMW", dsc5_0x01,
  60. 0x02, "dtlbmiss", 0, "Data TLB miss", "DTLBM", dsc5_0x02,
  61. 0x03, "rdmiss", 0, "Data Read miss", "DCACHERM", dsc5_0x03,
  62. 0x04, "wdmiss", 0, "Data Write miss", "DCACHEWM", dsc5_0x04,
  63. 0x05, "meline", 0, "Write hit to M/E line", "DCACHEWH", dsc5_0x05,
  64. 0x06, "dwb", 0, "Data cache line WB", "DCACHEWB", dsc5_0x06,
  65. 0x07, "dsnoop", 0, "Data cache snoops", "EXTSNOOP", dsc5_0x07,
  66. 0x08, "dsnoophit", 0, "Data cache snoop hits", "DCACHESH", dsc5_0x08,
  67. 0x09, "mempipe", 0, "Memory accesses in pipes","DUALMEMA", dsc5_0x09,
  68. 0x0a, "bankconf", 0, "Bank conflicts", "BANKCONF", dsc5_0x0A,
  69. 0x0b, "misalign", 0, "Misadligned data ref", "UNALIGN", dsc5_0x0B,
  70. 0x0c, "iread", 0, "Code Read", "ICACHER", dsc5_0x0C,
  71. 0x0d, "itldmiss", 0, "Code TLB miss", "ITLBM", dsc5_0x0D,
  72. 0x0e, "imiss", 0, "Code cache miss", "ICACHERM", dsc5_0x0E,
  73. 0x0f, "segloads", 0, "Segment loads", "SEGLOAD", dsc5_0x0F,
  74. 0x12, "branch", 0, "Branches", "BRANCHES", dsc5_0x12,
  75. 0x13, "btbhit", 0, "BTB hits", "BTBHITS", dsc5_0x13,
  76. 0x14, "takenbranck", 0, "Taken branch or BTB hits","TAKENBR", dsc5_0x14,
  77. 0x15, "pipeflush", 0, "Pipeline flushes", "FLUSHES", dsc5_0x15,
  78. 0x16, "iexec", 0, "Instructions executed", "INST", dsc5_0x16,
  79. 0x17, "iexecv", 0, "Instructions executed in vpipe", "INSTV", dsc5_0x17,
  80. 0x18, "busutil", 0, "Bus utilization (clks)", "BUS", dsc5_0x18,
  81. 0x19, "wpipestall", 0, "Pipe stalled on writes (clks)", "WBSTALL", dsc5_0x19,
  82. 0x1a, "rpipestall", 0, "Pipe stalled on read (clks)", "MEMRSTALL", dsc5_0x1A,
  83. 0x1b, "stallEWBE", 0, "Stalled while EWBE#", "MEMWSTALL", dsc5_0x1B,
  84. 0x1c, "lock", 0, "Locked bus cycle", "LOCKBUS", dsc5_0x1C,
  85. 0x1d, "io", 0, "IO r/w cycle", "IORW", dsc5_0x1D,
  86. 0x1e, "noncachemem", 0, "non-cached memory ref", "NONCACHE", dsc5_0x1E,
  87. 0x1f, "agi", 0, "Pipe stalled on addr gen (clks)", "AGISTALL", dsc5_0x1F,
  88. 0x22, "flops", 0, "FLOPs", "FLOPS", dsc5_0x22,
  89. 0x23, "dr0", 0, "Debug Register 0", "BRKDR0", dsc5_0x23,
  90. 0x24, "dr1", 0, "Debug Register 1", "BRKDR1", dsc5_0x24,
  91. 0x25, "dr2", 0, "Debug Register 2", "BRKDR2", dsc5_0x25,
  92. 0x26, "dr3", 0, "Debug Register 3", "BRKDR3", dsc5_0x26,
  93. 0x27, "int", 0, "Interrupts", "HINTS", dsc5_0x27,
  94. 0x28, "rwdata", 0, "Data R/W", "DMEMRW", dsc5_0x28,
  95. 0x29, "rwdatamiss", 0, "Data R/W miss", "MEMRWM", dsc5_0x29,
  96. 0x00, NULL, 0, NULL, NULL, NULL
  97. };