akaros/user/perfmon/events/intel_snbep_unc_r3qpi_events.h
<<
>>
Prefs
   1/*
   2 * Copyright (c) 2012 Google, Inc
   3 * Contributed by Stephane Eranian <eranian@gmail.com>
   4 *
   5 * Permission is hereby granted, free of charge, to any person obtaining a copy
   6 * of this software and associated documentation files (the "Software"), to deal
   7 * in the Software without restriction, including without limitation the rights
   8 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
   9 * of the Software, and to permit persons to whom the Software is furnished to do so,
  10 * subject to the following conditions:
  11 *
  12 * The above copyright notice and this permission notice shall be included in all
  13 * copies or substantial portions of the Software.
  14 *
  15 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
  16 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
  17 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
  18 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
  19 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
  20 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  21 *
  22 * This file is part of libpfm, a performance monitoring support library for
  23 * applications on Linux.
  24 *
  25 * This file has been automatically generated.
  26 *
  27 * PMU: snbep_unc_r3qpi (Intel SandyBridge-EP R3QPI uncore)
  28 */
  29
  30static const intel_x86_umask_t snbep_unc_r3_iio_credits_acquired[]={
  31  { .uname = "DRS",
  32    .udesc  = "DRS",
  33    .ucode  = 0x800,
  34    .uflags = INTEL_X86_NCOMBO,
  35  },
  36  { .uname = "NCB",
  37    .udesc  = "NCB",
  38    .ucode  = 0x1000,
  39    .uflags = INTEL_X86_NCOMBO,
  40  },
  41  { .uname = "NCS",
  42    .udesc  = "NCS",
  43    .ucode  = 0x2000,
  44    .uflags = INTEL_X86_NCOMBO,
  45  },
  46};
  47
  48static const intel_x86_umask_t snbep_unc_r3_ring_ad_used[]={
  49  { .uname = "CCW_EVEN",
  50    .udesc  = "Counter-Clockwise and even ring polarity",
  51    .ucode  = 0x400,
  52    .uflags = INTEL_X86_NCOMBO,
  53  },
  54  { .uname = "CCW_ODD",
  55    .udesc  = "Counter-Clockwise and odd ring polarity",
  56    .ucode  = 0x800,
  57    .uflags = INTEL_X86_NCOMBO,
  58  },
  59  { .uname = "CW_EVEN",
  60    .udesc  = "Clockwise and even ring polarity",
  61    .ucode  = 0x100,
  62    .uflags = INTEL_X86_NCOMBO,
  63  },
  64  { .uname = "CW_ODD",
  65    .udesc  = "Clockwise and odd ring polarity",
  66    .ucode  = 0x200,
  67    .uflags = INTEL_X86_NCOMBO,
  68  },
  69};
  70
  71static const intel_x86_umask_t snbep_unc_r3_ring_iv_used[]={
  72  { .uname = "ANY",
  73    .udesc  = "Any polarity",
  74    .ucode  = 0xf00,
  75    .uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
  76  },
  77};
  78
  79static const intel_x86_umask_t snbep_unc_r3_rxr_bypassed[]={
  80  { .uname = "AD",
  81    .udesc  = "Ingress Bypassed",
  82    .ucode  = 0x100,
  83    .uflags = INTEL_X86_NCOMBO | INTEL_X86_DFL,
  84  },
  85};
  86
  87static const intel_x86_umask_t snbep_unc_r3_rxr_cycles_ne[]={
  88  { .uname = "DRS",
  89    .udesc  = "DRS Ingress queue",
  90    .ucode  = 0x800,
  91    .uflags = INTEL_X86_NCOMBO,
  92  },
  93  { .uname = "HOM",
  94    .udesc  = "HOM Ingress queue",
  95    .ucode  = 0x100,
  96    .uflags = INTEL_X86_NCOMBO,
  97  },
  98  { .uname = "NCB",
  99    .udesc  = "NCB Ingress queue",
 100    .ucode  = 0x1000,
 101    .uflags = INTEL_X86_NCOMBO,
 102  },
 103  { .uname = "NCS",
 104    .udesc  = "NCS Ingress queue",
 105    .ucode  = 0x2000,
 106    .uflags = INTEL_X86_NCOMBO,
 107  },
 108  { .uname = "NDR",
 109    .udesc  = "NDR Ingress queue",
 110    .ucode  = 0x400,
 111    .uflags = INTEL_X86_NCOMBO,
 112  },
 113  { .uname = "SNP",
 114    .udesc  = "SNP Ingress queue",
 115    .ucode  = 0x200,
 116    .uflags = INTEL_X86_NCOMBO,
 117  },
 118};
 119
 120static const intel_x86_umask_t snbep_unc_r3_vn0_credits_reject[]={
 121  { .uname = "DRS",
 122    .udesc  = "Filter DRS message class",
 123    .ucode  = 0x800,
 124    .uflags = INTEL_X86_NCOMBO,
 125  },
 126  { .uname = "HOM",
 127    .udesc  = "Filter HOM message class",
 128    .ucode  = 0x100,
 129    .uflags = INTEL_X86_NCOMBO,
 130  },
 131  { .uname = "NCB",
 132    .udesc  = "Filter NCB message class",
 133    .ucode  = 0x1000,
 134    .uflags = INTEL_X86_NCOMBO,
 135  },
 136  { .uname = "NCS",
 137    .udesc  = "Filter NCS message class",
 138    .ucode  = 0x2000,
 139    .uflags = INTEL_X86_NCOMBO,
 140  },
 141  { .uname = "NDR",
 142    .udesc  = "Filter NDR message class",
 143    .ucode  = 0x400,
 144    .uflags = INTEL_X86_NCOMBO,
 145  },
 146  { .uname = "SNP",
 147    .udesc  = "Filter SNP message class",
 148    .ucode  = 0x200,
 149    .uflags = INTEL_X86_NCOMBO,
 150  },
 151};
 152
 153
 154static const intel_x86_entry_t intel_snbep_unc_r3_pe[]={
 155  { .name = "UNC_R3_CLOCKTICKS",
 156    .desc = "Number of uclks in domain",
 157    .code = 0x1,
 158    .cntmsk = 0x7,
 159    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 160  },
 161  { .name = "UNC_R3_IIO_CREDITS_ACQUIRED",
 162    .desc = "to IIO BL Credit Acquired",
 163    .code = 0x20,
 164    .cntmsk = 0x3,
 165    .ngrp = 1,
 166    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 167    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_iio_credits_acquired),
 168    .umasks  = snbep_unc_r3_iio_credits_acquired
 169  },
 170  { .name = "UNC_R3_IIO_CREDITS_REJECT",
 171    .desc = "to IIO BL Credit Rejected",
 172    .code = 0x21,
 173    .cntmsk = 0x3,
 174    .ngrp = 1,
 175    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 176    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_iio_credits_acquired),
 177    .umasks  = snbep_unc_r3_iio_credits_acquired /* shared */
 178  },
 179  { .name = "UNC_R3_IIO_CREDITS_USED",
 180    .desc = "to IIO BL Credit In Use",
 181    .code = 0x22,
 182    .cntmsk = 0x3,
 183    .ngrp = 1,
 184    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 185    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_iio_credits_acquired),
 186    .umasks  = snbep_unc_r3_iio_credits_acquired /* shared */
 187  },
 188  { .name = "UNC_R3_RING_AD_USED",
 189    .desc = "R3 AD Ring in Use",
 190    .code = 0x7,
 191    .cntmsk = 0x7,
 192    .ngrp = 1,
 193    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 194    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_ring_ad_used),
 195    .umasks  = snbep_unc_r3_ring_ad_used
 196  },
 197  { .name = "UNC_R3_RING_AK_USED",
 198    .desc = "R3 AK Ring in Use",
 199    .code = 0x8,
 200    .cntmsk = 0x7,
 201    .ngrp = 1,
 202    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 203    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_ring_ad_used),
 204    .umasks  = snbep_unc_r3_ring_ad_used /* shared */
 205  },
 206  { .name = "UNC_R3_RING_BL_USED",
 207    .desc = "R3 BL Ring in Use",
 208    .code = 0x9,
 209    .cntmsk = 0x7,
 210    .ngrp = 1,
 211    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 212    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_ring_ad_used),
 213    .umasks  = snbep_unc_r3_ring_ad_used /* shared */
 214  },
 215  { .name = "UNC_R3_RING_IV_USED",
 216    .desc = "R3 IV Ring in Use",
 217    .code = 0xa,
 218    .cntmsk = 0x7,
 219    .ngrp = 1,
 220    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 221    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_ring_iv_used),
 222    .umasks  = snbep_unc_r3_ring_iv_used
 223  },
 224  { .name = "UNC_R3_RXR_BYPASSED",
 225    .desc = "Ingress Bypassed",
 226    .code = 0x12,
 227    .cntmsk = 0x3,
 228    .ngrp = 1,
 229    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 230    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_rxr_bypassed),
 231    .umasks  = snbep_unc_r3_rxr_bypassed
 232  },
 233  { .name = "UNC_R3_RXR_CYCLES_NE",
 234    .desc = "Ingress Cycles Not Empty",
 235    .code = 0x10,
 236    .cntmsk = 0x3,
 237    .ngrp = 1,
 238    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 239    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_rxr_cycles_ne),
 240    .umasks  = snbep_unc_r3_rxr_cycles_ne
 241  },
 242  { .name = "UNC_R3_RXR_INSERTS",
 243    .desc = "Ingress Allocations",
 244    .code = 0x11,
 245    .cntmsk = 0x3,
 246    .ngrp = 1,
 247    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 248    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_rxr_cycles_ne),
 249    .umasks  = snbep_unc_r3_rxr_cycles_ne /* shared */
 250  },
 251  { .name = "UNC_R3_RXR_OCCUPANCY",
 252    .desc = "Ingress Occupancy Accumulator",
 253    .code = 0x13,
 254    .cntmsk = 0x1,
 255    .ngrp = 1,
 256    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 257    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_rxr_cycles_ne),
 258    .umasks  = snbep_unc_r3_rxr_cycles_ne /* shared */
 259  },
 260  { .name = "UNC_R3_TXR_CYCLES_FULL",
 261    .desc = "Egress cycles full",
 262    .code = 0x25,
 263    .cntmsk = 0x3,
 264    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 265  },
 266  { .name = "UNC_R3_TXR_INSERTS",
 267    .desc = "Egress allocations",
 268    .code = 0x24,
 269    .cntmsk = 0x3,
 270    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 271  },
 272  { .name = "UNC_R3_TXR_NACK",
 273    .desc = "Egress Nack",
 274    .code = 0x26,
 275    .cntmsk = 0x3,
 276    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 277  },
 278  { .name = "UNC_R3_VN0_CREDITS_REJECT",
 279    .desc = "VN0 Credit Acquisition Failed on DRS",
 280    .code = 0x37,
 281    .cntmsk = 0x3,
 282    .ngrp = 1,
 283    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 284    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_vn0_credits_reject),
 285    .umasks  = snbep_unc_r3_vn0_credits_reject
 286  },
 287  { .name = "UNC_R3_VN0_CREDITS_USED",
 288    .desc = "VN0 Credit Used",
 289    .code = 0x36,
 290    .cntmsk = 0x3,
 291    .ngrp = 1,
 292    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 293    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_vn0_credits_reject),
 294    .umasks  = snbep_unc_r3_vn0_credits_reject /* shared */
 295  },
 296  { .name = "UNC_R3_VNA_CREDITS_ACQUIRED",
 297    .desc = "VNA credit Acquisitions",
 298    .code = 0x33,
 299    .cntmsk = 0x3,
 300    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 301  },
 302  { .name = "UNC_R3_VNA_CREDITS_REJECT",
 303    .desc = "VNA Credit Reject",
 304    .code = 0x34,
 305    .cntmsk = 0x3,
 306    .ngrp = 1,
 307    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 308    .numasks = LIBPFM_ARRAY_SIZE(snbep_unc_r3_vn0_credits_reject),
 309    .umasks  = snbep_unc_r3_vn0_credits_reject /* shared */
 310  },
 311  { .name = "UNC_R3_VNA_CREDIT_CYCLES_OUT",
 312    .desc = "Cycles with no VNA credits available",
 313    .code = 0x31,
 314    .cntmsk = 0x3,
 315    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 316  },
 317  { .name = "UNC_R3_VNA_CREDIT_CYCLES_USED",
 318    .desc = "Cycles with 1 or more VNA credits in use",
 319    .code = 0x32,
 320    .cntmsk = 0x3,
 321    .modmsk = SNBEP_UNC_R3QPI_ATTRS,
 322  },
 323};
 324