Blame src/libpfm4/lib/events/intel_wsm_unc_events.h

Packit 577717
/*
Packit 577717
 * Copyright (c) 2011 Google, Inc
Packit 577717
 * Contributed by Stephane Eranian <eranian@gmail.com>
Packit 577717
 *
Packit 577717
 * Permission is hereby granted, free of charge, to any person obtaining a copy
Packit 577717
 * of this software and associated documentation files (the "Software"), to deal
Packit 577717
 * in the Software without restriction, including without limitation the rights
Packit 577717
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
Packit 577717
 * of the Software, and to permit persons to whom the Software is furnished to do so,
Packit 577717
 * subject to the following conditions:
Packit 577717
 *
Packit 577717
 * The above copyright notice and this permission notice shall be included in all
Packit 577717
 * copies or substantial portions of the Software.
Packit 577717
 *
Packit 577717
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
Packit 577717
 * INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
Packit 577717
 * PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
Packit 577717
 * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
Packit 577717
 * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
Packit 577717
 * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Packit 577717
 *
Packit 577717
 * This file is part of libpfm, a performance monitoring support library for
Packit 577717
 * applications on Linux.
Packit 577717
 *
Packit 577717
 * This file has been automatically generated.
Packit 577717
 *
Packit 577717
 * PMU: wsm_unc (Intel Westmere uncore)
Packit 577717
 */
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_dram_open[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "DRAM Channel 0 open commands issued for read or write",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "DRAM Channel 1 open commands issued for read or write",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "DRAM Channel 2 open commands issued for read or write",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_gc_occupancy[]={
Packit 577717
   { .uname  = "READ_TRACKER",
Packit 577717
     .udesc  = "In the read tracker",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_dram_page_close[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "DRAM Channel 0 page close",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "DRAM Channel 1 page close",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "DRAM Channel 2 page close",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_dram_page_miss[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "DRAM Channel 0 page miss",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "DRAM Channel 1 page miss",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "DRAM Channel 2 page miss",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_dram_pre_all[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "DRAM Channel 0 precharge all commands",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "DRAM Channel 1 precharge all commands",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "DRAM Channel 2 precharge all commands",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_dram_read_cas[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "DRAM Channel 0 read CAS commands",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "AUTOPRE_CH0",
Packit 577717
     .udesc  = "DRAM Channel 0 read CAS auto page close commands",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "DRAM Channel 1 read CAS commands",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "AUTOPRE_CH1",
Packit 577717
     .udesc  = "DRAM Channel 1 read CAS auto page close commands",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "DRAM Channel 2 read CAS commands",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "AUTOPRE_CH2",
Packit 577717
     .udesc  = "DRAM Channel 2 read CAS auto page close commands",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_dram_refresh[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "DRAM Channel 0 refresh commands",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "DRAM Channel 1 refresh commands",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "DRAM Channel 2 refresh commands",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_dram_write_cas[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "DRAM Channel 0 write CAS commands",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "AUTOPRE_CH0",
Packit 577717
     .udesc  = "DRAM Channel 0 write CAS auto page close commands",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "DRAM Channel 1 write CAS commands",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "AUTOPRE_CH1",
Packit 577717
     .udesc  = "DRAM Channel 1 write CAS auto page close commands",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "DRAM Channel 2 write CAS commands",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "AUTOPRE_CH2",
Packit 577717
     .udesc  = "DRAM Channel 2 write CAS auto page close commands",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_gq_alloc[]={
Packit 577717
   { .uname  = "READ_TRACKER",
Packit 577717
     .udesc  = "GQ read tracker requests",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "RT_LLC_MISS",
Packit 577717
     .udesc  = "GQ read tracker LLC misses",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "RT_TO_LLC_RESP",
Packit 577717
     .udesc  = "GQ read tracker LLC requests",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "RT_TO_RTID_ACQUIRED",
Packit 577717
     .udesc  = "GQ read tracker LLC miss to RTID acquired",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "WT_TO_RTID_ACQUIRED",
Packit 577717
     .udesc  = "GQ write tracker LLC miss to RTID acquired",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE_TRACKER",
Packit 577717
     .udesc  = "GQ write tracker LLC misses",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
   { .uname  = "PEER_PROBE_TRACKER",
Packit 577717
     .udesc  = "GQ peer probe tracker requests",
Packit 577717
     .ucode = 0x4000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_gq_cycles_full[]={
Packit 577717
   { .uname  = "READ_TRACKER",
Packit 577717
     .udesc  = "Cycles GQ read tracker is full.",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE_TRACKER",
Packit 577717
     .udesc  = "Cycles GQ write tracker is full.",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PEER_PROBE_TRACKER",
Packit 577717
     .udesc  = "Cycles GQ peer probe tracker is full.",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_gq_cycles_not_empty[]={
Packit 577717
   { .uname  = "READ_TRACKER",
Packit 577717
     .udesc  = "Cycles GQ read tracker is busy",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE_TRACKER",
Packit 577717
     .udesc  = "Cycles GQ write tracker is busy",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PEER_PROBE_TRACKER",
Packit 577717
     .udesc  = "Cycles GQ peer probe tracker is busy",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_gq_data_from[]={
Packit 577717
   { .uname  = "QPI",
Packit 577717
     .udesc  = "Cycles GQ data is imported from Quickpath interface",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "QMC",
Packit 577717
     .udesc  = "Cycles GQ data is imported from Quickpath memory interface",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "LLC",
Packit 577717
     .udesc  = "Cycles GQ data is imported from LLC",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "CORES_02",
Packit 577717
     .udesc  = "Cycles GQ data is imported from Cores 0 and 2",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "CORES_13",
Packit 577717
     .udesc  = "Cycles GQ data is imported from Cores 1 and 3",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_gq_data_to[]={
Packit 577717
   { .uname  = "QPI_QMC",
Packit 577717
     .udesc  = "Cycles GQ data sent to the QPI or QMC",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "LLC",
Packit 577717
     .udesc  = "Cycles GQ data sent to LLC",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CORES",
Packit 577717
     .udesc  = "Cycles GQ data sent to cores",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_llc_hits[]={
Packit 577717
   { .uname  = "READ",
Packit 577717
     .udesc  = "Number of LLC read hits",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE",
Packit 577717
     .udesc  = "Number of LLC write hits",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PROBE",
Packit 577717
     .udesc  = "Number of LLC peer probe hits",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Number of LLC hits",
Packit 577717
     .ucode = 0x300,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_llc_lines_in[]={
Packit 577717
   { .uname  = "M_STATE",
Packit 577717
     .udesc  = "LLC lines allocated in M state",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "E_STATE",
Packit 577717
     .udesc  = "LLC lines allocated in E state",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "LLC lines allocated in S state",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "F_STATE",
Packit 577717
     .udesc  = "LLC lines allocated in F state",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "LLC lines allocated",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_llc_lines_out[]={
Packit 577717
   { .uname  = "M_STATE",
Packit 577717
     .udesc  = "LLC lines victimized in M state",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "E_STATE",
Packit 577717
     .udesc  = "LLC lines victimized in E state",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "LLC lines victimized in S state",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "I_STATE",
Packit 577717
     .udesc  = "LLC lines victimized in I state",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "F_STATE",
Packit 577717
     .udesc  = "LLC lines victimized in F state",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "LLC lines victimized",
Packit 577717
     .ucode = 0x1f00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_llc_miss[]={
Packit 577717
   { .uname  = "READ",
Packit 577717
     .udesc  = "Number of LLC read misses",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE",
Packit 577717
     .udesc  = "Number of LLC write misses",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PROBE",
Packit 577717
     .udesc  = "Number of LLC peer probe misses",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Number of LLC misses",
Packit 577717
     .ucode = 0x300,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qhl_address_conflicts[]={
Packit 577717
   { .uname  = "2WAY",
Packit 577717
     .udesc  = "QHL 2 way address conflicts",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "3WAY",
Packit 577717
     .udesc  = "QHL 3 way address conflicts",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qhl_conflict_cycles[]={
Packit 577717
   { .uname  = "IOH",
Packit 577717
     .udesc  = "QHL IOH Tracker conflict cycles",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "REMOTE",
Packit 577717
     .udesc  = "QHL Remote Tracker conflict cycles",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "LOCAL",
Packit 577717
     .udesc  = "QHL Local Tracker conflict cycles",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qhl_cycles_full[]={
Packit 577717
   { .uname  = "REMOTE",
Packit 577717
     .udesc  = "Cycles QHL  Remote Tracker is full",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "LOCAL",
Packit 577717
     .udesc  = "Cycles QHL Local Tracker is full",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "IOH",
Packit 577717
     .udesc  = "Cycles QHL IOH Tracker is full",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qhl_cycles_not_empty[]={
Packit 577717
   { .uname  = "IOH",
Packit 577717
     .udesc  = "Cycles QHL IOH is busy",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "REMOTE",
Packit 577717
     .udesc  = "Cycles QHL Remote Tracker is busy",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "LOCAL",
Packit 577717
     .udesc  = "Cycles QHL Local Tracker is busy",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qhl_frc_ack_cnflts[]={
Packit 577717
   { .uname  = "LOCAL",
Packit 577717
     .udesc  = "QHL FrcAckCnflts sent to local home",
Packit 577717
     .ucode = 0x400,
Packit 577717
     .uflags= INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qhl_sleeps[]={
Packit 577717
   { .uname  = "IOH_ORDER",
Packit 577717
     .udesc  = "Due to IOH ordering (write after read) conflicts",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "REMOTE_ORDER",
Packit 577717
     .udesc  = "Due to remote socket ordering (write after read) conflicts",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "LOCAL_ORDER",
Packit 577717
     .udesc  = "Due to local socket ordering (write after read) conflicts",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "IOH_CONFLICT",
Packit 577717
     .udesc  = "Due to IOH address conflicts",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "REMOTE_CONFLICT",
Packit 577717
     .udesc  = "Due to remote socket address conflicts",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "LOCAL_CONFLICT",
Packit 577717
     .udesc  = "Due to local socket address conflicts",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qhl_occupancy[]={
Packit 577717
   { .uname  = "IOH",
Packit 577717
     .udesc  = "Cycles QHL IOH Tracker Allocate to Deallocate Read Occupancy",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "REMOTE",
Packit 577717
     .udesc  = "Cycles QHL Remote Tracker Allocate to Deallocate Read Occupancy",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "LOCAL",
Packit 577717
     .udesc  = "Cycles QHL Local Tracker Allocate to Deallocate Read Occupancy",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qhl_requests[]={
Packit 577717
   { .uname  = "LOCAL_READS",
Packit 577717
     .udesc  = "Quickpath Home Logic local read requests",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "LOCAL_WRITES",
Packit 577717
     .udesc  = "Quickpath Home Logic local write requests",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
   { .uname  = "REMOTE_READS",
Packit 577717
     .udesc  = "Quickpath Home Logic remote read requests",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "IOH_READS",
Packit 577717
     .udesc  = "Quickpath Home Logic IOH read requests",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "IOH_WRITES",
Packit 577717
     .udesc  = "Quickpath Home Logic IOH write requests",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "REMOTE_WRITES",
Packit 577717
     .udesc  = "Quickpath Home Logic remote write requests",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qmc_busy[]={
Packit 577717
   { .uname  = "READ_CH0",
Packit 577717
     .udesc  = "Cycles QMC channel 0 busy with a read request",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "READ_CH1",
Packit 577717
     .udesc  = "Cycles QMC channel 1 busy with a read request",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "READ_CH2",
Packit 577717
     .udesc  = "Cycles QMC channel 2 busy with a read request",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE_CH0",
Packit 577717
     .udesc  = "Cycles QMC channel 0 busy with a write request",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE_CH1",
Packit 577717
     .udesc  = "Cycles QMC channel 1 busy with a write request",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE_CH2",
Packit 577717
     .udesc  = "Cycles QMC channel 2 busy with a write request",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qmc_cancel[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "QMC channel 0 cancels",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "QMC channel 1 cancels",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "QMC channel 2 cancels",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "QMC cancels",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qmc_critical_priority_reads[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "QMC channel 0 critical priority read requests",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "QMC channel 1 critical priority read requests",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "QMC channel 2 critical priority read requests",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "QMC critical priority read requests",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qmc_high_priority_reads[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "QMC channel 0 high priority read requests",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "QMC channel 1 high priority read requests",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "QMC channel 2 high priority read requests",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "QMC high priority read requests",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qmc_isoc_full[]={
Packit 577717
   { .uname  = "READ_CH0",
Packit 577717
     .udesc  = "Cycles DRAM channel 0 full with isochronous read requests",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "READ_CH1",
Packit 577717
     .udesc  = "Cycles DRAM channel 1 full with isochronous read requests",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "READ_CH2",
Packit 577717
     .udesc  = "Cycles DRAM channel 2 full with isochronous read requests",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE_CH0",
Packit 577717
     .udesc  = "Cycles DRAM channel 0 full with isochronous write requests",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE_CH1",
Packit 577717
     .udesc  = "Cycles DRAM channel 1 full with isochronous write requests",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "WRITE_CH2",
Packit 577717
     .udesc  = "Cycles DRAM channel 2 full with isochronous write requests",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_imc_isoc_occupancy[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "IMC channel 0 isochronous read request occupancy",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "IMC channel 1 isochronous read request occupancy",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "IMC channel 2 isochronous read request occupancy",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "IMC isochronous read request occupancy",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qmc_normal_reads[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "QMC channel 0 normal read requests",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "QMC channel 1 normal read requests",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "QMC channel 2 normal read requests",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "QMC normal read requests",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qmc_occupancy[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "IMC channel 0 normal read request occupancy",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "IMC channel 1 normal read request occupancy",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "IMC channel 2 normal read request occupancy",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qmc_priority_updates[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "QMC channel 0 priority updates",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "QMC channel 1 priority updates",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "QMC channel 2 priority updates",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "QMC priority updates",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_imc_retry[]={
Packit 577717
   { .uname  = "CH0",
Packit 577717
     .udesc  = "Channel 0",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CH1",
Packit 577717
     .udesc  = "Channel 1",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CH2",
Packit 577717
     .udesc  = "Channel 2",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Any channel",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qmc_writes[]={
Packit 577717
   { .uname  = "FULL_CH0",
Packit 577717
     .udesc  = "QMC channel 0 full cache line writes",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "FULL_CH1",
Packit 577717
     .udesc  = "QMC channel 1 full cache line writes",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "FULL_CH2",
Packit 577717
     .udesc  = "QMC channel 2 full cache line writes",
Packit 577717
     .ucode = 0x400,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "FULL_ANY",
Packit 577717
     .udesc  = "QMC full cache line writes",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "PARTIAL_CH0",
Packit 577717
     .udesc  = "QMC channel 0 partial cache line writes",
Packit 577717
     .ucode = 0x800,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "PARTIAL_CH1",
Packit 577717
     .udesc  = "QMC channel 1 partial cache line writes",
Packit 577717
     .ucode = 0x1000,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "PARTIAL_CH2",
Packit 577717
     .udesc  = "QMC channel 2 partial cache line writes",
Packit 577717
     .ucode = 0x2000,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "PARTIAL_ANY",
Packit 577717
     .udesc  = "QMC partial cache line writes",
Packit 577717
     .ucode = 0x3800,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qpi_rx_no_ppt_credit[]={
Packit 577717
   { .uname  = "STALLS_LINK_0",
Packit 577717
     .udesc  = "Link 0 snoop stalls due to no PPT entry",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "STALLS_LINK_1",
Packit 577717
     .udesc  = "Link 1 snoop stalls due to no PPT entry",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qpi_tx_header[]={
Packit 577717
   { .uname  = "BUSY_LINK_0",
Packit 577717
     .udesc  = "Cycles link 0 outbound header busy",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "BUSY_LINK_1",
Packit 577717
     .udesc  = "Cycles link 1 outbound header busy",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qpi_tx_stalled_multi_flit[]={
Packit 577717
   { .uname  = "DRS_LINK_0",
Packit 577717
     .udesc  = "Cycles QPI outbound link 0 DRS stalled",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "NCB_LINK_0",
Packit 577717
     .udesc  = "Cycles QPI outbound link 0 NCB stalled",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "NCS_LINK_0",
Packit 577717
     .udesc  = "Cycles QPI outbound link 0 NCS stalled",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "DRS_LINK_1",
Packit 577717
     .udesc  = "Cycles QPI outbound link 1 DRS stalled",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "NCB_LINK_1",
Packit 577717
     .udesc  = "Cycles QPI outbound link 1 NCB stalled",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "NCS_LINK_1",
Packit 577717
     .udesc  = "Cycles QPI outbound link 1 NCS stalled",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
   { .uname  = "LINK_0",
Packit 577717
     .udesc  = "Cycles QPI outbound link 0 multi flit stalled",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "LINK_1",
Packit 577717
     .udesc  = "Cycles QPI outbound link 1 multi flit stalled",
Packit 577717
     .ucode = 0x3800,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_qpi_tx_stalled_single_flit[]={
Packit 577717
   { .uname  = "HOME_LINK_0",
Packit 577717
     .udesc  = "Cycles QPI outbound link 0 HOME stalled",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "SNOOP_LINK_0",
Packit 577717
     .udesc  = "Cycles QPI outbound link 0 SNOOP stalled",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "NDR_LINK_0",
Packit 577717
     .udesc  = "Cycles QPI outbound link 0 NDR stalled",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "HOME_LINK_1",
Packit 577717
     .udesc  = "Cycles QPI outbound link 1 HOME stalled",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "SNOOP_LINK_1",
Packit 577717
     .udesc  = "Cycles QPI outbound link 1 SNOOP stalled",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "NDR_LINK_1",
Packit 577717
     .udesc  = "Cycles QPI outbound link 1 NDR stalled",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
   { .uname  = "LINK_0",
Packit 577717
     .udesc  = "Cycles QPI outbound link 0 single flit stalled",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "LINK_1",
Packit 577717
     .udesc  = "Cycles QPI outbound link 1 single flit stalled",
Packit 577717
     .ucode = 0x3800,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_snp_resp_to_local_home[]={
Packit 577717
   { .uname  = "I_STATE",
Packit 577717
     .udesc  = "Local home snoop response - LLC does not have cache line",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "Local home snoop response - LLC has  cache line in S state",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "FWD_S_STATE",
Packit 577717
     .udesc  = "Local home snoop response - LLC forwarding cache line in S state.",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "FWD_I_STATE",
Packit 577717
     .udesc  = "Local home snoop response - LLC has forwarded a modified cache line",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "CONFLICT",
Packit 577717
     .udesc  = "Local home conflict snoop response",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "WB",
Packit 577717
     .udesc  = "Local home snoop response - LLC has cache line in the M state",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_snp_resp_to_remote_home[]={
Packit 577717
   { .uname  = "I_STATE",
Packit 577717
     .udesc  = "Remote home snoop response - LLC does not have cache line",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "Remote home snoop response - LLC has  cache line in S state",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "FWD_S_STATE",
Packit 577717
     .udesc  = "Remote home snoop response - LLC forwarding cache line in S state.",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "FWD_I_STATE",
Packit 577717
     .udesc  = "Remote home snoop response - LLC has forwarded a modified cache line",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "CONFLICT",
Packit 577717
     .udesc  = "Remote home conflict snoop response",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "WB",
Packit 577717
     .udesc  = "Remote home snoop response - LLC has cache line in the M state",
Packit 577717
     .ucode = 0x2000,
Packit 577717
   },
Packit 577717
   { .uname  = "HITM",
Packit 577717
     .udesc  = "Remote home snoop response - LLC HITM",
Packit 577717
     .ucode = 0x2400,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t wsm_unc_unc_thermal_throttling_temp[]={
Packit 577717
   { .uname  = "CORE_0",
Packit 577717
     .udesc  = "Core 0",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "CORE_1",
Packit 577717
     .udesc  = "Core 1",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "CORE_2",
Packit 577717
     .udesc  = "Core 2",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "CORE_3",
Packit 577717
     .udesc  = "Core 3",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_entry_t intel_wsm_unc_pe[]={
Packit 577717
{ .name   = "UNC_CLK_UNHALTED",
Packit 577717
  .desc   = "Uncore clockticks.",
Packit 577717
  .modmsk =0x0,
Packit 577717
  .cntmsk = 0x100000,
Packit 577717
  .code = 0xff,
Packit 577717
  .flags = INTEL_X86_FIXED,
Packit 577717
},
Packit 577717
{ .name   = "UNC_DRAM_OPEN",
Packit 577717
  .desc   = "DRAM open commands issued for read or write",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x60,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_dram_open),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_dram_open,
Packit 577717
},
Packit 577717
{ .name   = "UNC_GC_OCCUPANCY",
Packit 577717
  .desc   = "Number of queue entries",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x2,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_gc_occupancy),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_gc_occupancy,
Packit 577717
},
Packit 577717
{ .name   = "UNC_DRAM_PAGE_CLOSE",
Packit 577717
  .desc   = "DRAM page close due to idle timer expiration",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x61,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_dram_page_close),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_dram_page_close,
Packit 577717
},
Packit 577717
{ .name   = "UNC_DRAM_PAGE_MISS",
Packit 577717
  .desc   = "DRAM Channel 0 page miss",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x62,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_dram_page_miss),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_dram_page_miss,
Packit 577717
},
Packit 577717
{ .name   = "UNC_DRAM_PRE_ALL",
Packit 577717
  .desc   = "DRAM Channel 0 precharge all commands",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x66,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_dram_pre_all),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_dram_pre_all,
Packit 577717
},
Packit 577717
{ .name   = "UNC_DRAM_THERMAL_THROTTLED",
Packit 577717
  .desc   = "Uncore cycles DRAM was throttled due to its temperature being above thermal throttling threshold",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x67,
Packit 577717
},
Packit 577717
{ .name   = "UNC_DRAM_READ_CAS",
Packit 577717
  .desc   = "DRAM Channel 0 read CAS commands",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x63,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_dram_read_cas),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_dram_read_cas,
Packit 577717
},
Packit 577717
{ .name   = "UNC_DRAM_REFRESH",
Packit 577717
  .desc   = "DRAM Channel 0 refresh commands",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x65,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_dram_refresh),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_dram_refresh,
Packit 577717
},
Packit 577717
{ .name   = "UNC_DRAM_WRITE_CAS",
Packit 577717
  .desc   = "DRAM Channel 0 write CAS commands",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x64,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_dram_write_cas),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_dram_write_cas,
Packit 577717
},
Packit 577717
{ .name   = "UNC_GQ_ALLOC",
Packit 577717
  .desc   = "GQ read tracker requests",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x3,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_gq_alloc),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_gq_alloc,
Packit 577717
},
Packit 577717
{ .name   = "UNC_GQ_CYCLES_FULL",
Packit 577717
  .desc   = "Cycles GQ read tracker is full.",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x0,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_gq_cycles_full),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_gq_cycles_full,
Packit 577717
},
Packit 577717
{ .name   = "UNC_GQ_CYCLES_NOT_EMPTY",
Packit 577717
  .desc   = "Cycles GQ read tracker is busy",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x1,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_gq_cycles_not_empty),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_gq_cycles_not_empty,
Packit 577717
},
Packit 577717
{ .name   = "UNC_GQ_DATA_FROM",
Packit 577717
  .desc   = "Cycles GQ data is imported",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x4,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_gq_data_from),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_gq_data_from,
Packit 577717
},
Packit 577717
{ .name   = "UNC_GQ_DATA_TO",
Packit 577717
  .desc   = "Cycles GQ data is exported",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x5,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_gq_data_to),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_gq_data_to,
Packit 577717
},
Packit 577717
{ .name   = "UNC_LLC_HITS",
Packit 577717
  .desc   = "Number of LLC read hits",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x8,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_llc_hits),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_llc_hits,
Packit 577717
},
Packit 577717
{ .name   = "UNC_LLC_LINES_IN",
Packit 577717
  .desc   = "LLC lines allocated in M state",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0xa,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_llc_lines_in),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_llc_lines_in,
Packit 577717
},
Packit 577717
{ .name   = "UNC_LLC_LINES_OUT",
Packit 577717
  .desc   = "LLC lines victimized in M state",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0xb,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_llc_lines_out),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_llc_lines_out,
Packit 577717
},
Packit 577717
{ .name   = "UNC_LLC_MISS",
Packit 577717
  .desc   = "Number of LLC read misses",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x9,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_llc_miss),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_llc_miss,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QHL_ADDRESS_CONFLICTS",
Packit 577717
  .desc   = "QHL 2 way address conflicts",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x24,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qhl_address_conflicts),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qhl_address_conflicts,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QHL_CONFLICT_CYCLES",
Packit 577717
  .desc   = "QHL IOH Tracker conflict cycles",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x25,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qhl_conflict_cycles),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qhl_conflict_cycles,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QHL_CYCLES_FULL",
Packit 577717
  .desc   = "Cycles QHL  Remote Tracker is full",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x21,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qhl_cycles_full),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qhl_cycles_full,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QHL_CYCLES_NOT_EMPTY",
Packit 577717
  .desc   = "Cycles QHL Tracker is not empty",
Packit 577717
  .modmsk =0x0,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x22,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qhl_cycles_not_empty),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qhl_cycles_not_empty,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QHL_FRC_ACK_CNFLTS",
Packit 577717
  .desc   = "QHL FrcAckCnflts sent to local home",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x33,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qhl_frc_ack_cnflts),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qhl_frc_ack_cnflts,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QHL_SLEEPS",
Packit 577717
  .desc   = "Number of occurrences a request was put to sleep",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x34,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qhl_sleeps),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qhl_sleeps,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QHL_OCCUPANCY",
Packit 577717
  .desc   = "Cycles QHL Tracker Allocate to Deallocate Read Occupancy",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x23,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qhl_occupancy),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qhl_occupancy,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QHL_REQUESTS",
Packit 577717
  .desc   = "Quickpath Home Logic local read requests",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x20,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qhl_requests),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qhl_requests,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QHL_TO_QMC_BYPASS",
Packit 577717
  .desc   = "Number of requests to QMC that bypass QHL",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x26,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QMC_BUSY",
Packit 577717
  .desc   = "Cycles QMC busy with a read request",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x29,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qmc_busy),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qmc_busy,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QMC_CANCEL",
Packit 577717
  .desc   = "QMC cancels",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x30,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qmc_cancel),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qmc_cancel,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QMC_CRITICAL_PRIORITY_READS",
Packit 577717
  .desc   = "QMC critical priority read requests",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x2e,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qmc_critical_priority_reads),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qmc_critical_priority_reads,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QMC_HIGH_PRIORITY_READS",
Packit 577717
  .desc   = "QMC high priority read requests",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x2d,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qmc_high_priority_reads),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qmc_high_priority_reads,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QMC_ISOC_FULL",
Packit 577717
  .desc   = "Cycles DRAM full with isochronous (ISOC) read requests",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x28,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qmc_isoc_full),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qmc_isoc_full,
Packit 577717
},
Packit 577717
{ .name   = "UNC_IMC_ISOC_OCCUPANCY",
Packit 577717
  .desc   = "IMC isochronous (ISOC) Read Occupancy",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x2b,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_imc_isoc_occupancy),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_imc_isoc_occupancy,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QMC_NORMAL_READS",
Packit 577717
  .desc   = "QMC normal read requests",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x2c,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qmc_normal_reads),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qmc_normal_reads,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QMC_OCCUPANCY",
Packit 577717
  .desc   = "QMC Occupancy",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x2a,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qmc_occupancy),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qmc_occupancy,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QMC_PRIORITY_UPDATES",
Packit 577717
  .desc   = "QMC priority updates",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x31,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qmc_priority_updates),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qmc_priority_updates,
Packit 577717
},
Packit 577717
{ .name   = "UNC_IMC_RETRY",
Packit 577717
  .desc   = "Number of IMC DRAM channel retries (retries occur in RAS mode only)",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x32,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_imc_retry),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_imc_retry,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QMC_WRITES",
Packit 577717
  .desc   = "QMC cache line writes",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x2f,
Packit 577717
  .flags= INTEL_X86_GRP_EXCL,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qmc_writes),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = wsm_unc_unc_qmc_writes,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QPI_RX_NO_PPT_CREDIT",
Packit 577717
  .desc   = "Link 0 snoop stalls due to no PPT entry",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x43,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qpi_rx_no_ppt_credit),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qpi_rx_no_ppt_credit,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QPI_TX_HEADER",
Packit 577717
  .desc   = "Cycles link 0 outbound header busy",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x42,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qpi_tx_header),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qpi_tx_header,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QPI_TX_STALLED_MULTI_FLIT",
Packit 577717
  .desc   = "Cycles QPI outbound stalls",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x41,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qpi_tx_stalled_multi_flit),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qpi_tx_stalled_multi_flit,
Packit 577717
},
Packit 577717
{ .name   = "UNC_QPI_TX_STALLED_SINGLE_FLIT",
Packit 577717
  .desc   = "Cycles QPI outbound link stalls",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x40,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_qpi_tx_stalled_single_flit),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_qpi_tx_stalled_single_flit,
Packit 577717
},
Packit 577717
{ .name   = "UNC_SNP_RESP_TO_LOCAL_HOME",
Packit 577717
  .desc   = "Local home snoop response",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x6,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_snp_resp_to_local_home),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_snp_resp_to_local_home,
Packit 577717
},
Packit 577717
{ .name   = "UNC_SNP_RESP_TO_REMOTE_HOME",
Packit 577717
  .desc   = "Remote home snoop response",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x7,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_snp_resp_to_remote_home),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_snp_resp_to_remote_home,
Packit 577717
},
Packit 577717
{ .name   = "UNC_THERMAL_THROTTLING_TEMP",
Packit 577717
  .desc   = "Uncore cycles that the PCU records core temperature above threshold",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x80,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_thermal_throttling_temp),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_thermal_throttling_temp,
Packit 577717
},
Packit 577717
{ .name   = "UNC_THERMAL_THROTTLED_TEMP",
Packit 577717
  .desc   = "Uncore cycles that the PCU records that core is in power throttled state due to temperature being above threshold",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x81,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_thermal_throttling_temp),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_thermal_throttling_temp, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "UNC_PROCHOT_ASSERTION",
Packit 577717
  .desc   = "Number of system assertions of PROCHOT indicating the entire processor has exceeded the thermal limit",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x82,
Packit 577717
},
Packit 577717
{ .name   = "UNC_THERMAL_THROTTLING_PROCHOT",
Packit 577717
  .desc   = "Uncore cycles that the PCU records that core is in power throttled state due PROCHOT assertions",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x83,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_thermal_throttling_temp),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_thermal_throttling_temp, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "UNC_TURBO_MODE",
Packit 577717
  .desc   = "Uncore cycles that a core is operating in turbo mode",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x84,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(wsm_unc_unc_thermal_throttling_temp),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = wsm_unc_unc_thermal_throttling_temp, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "UNC_CYCLES_UNHALTED_L3_FLL_ENABLE",
Packit 577717
  .desc   = "Uncore cycles where at least one core is unhalted and all L3 ways are enabled",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x85,
Packit 577717
},
Packit 577717
{ .name   = "UNC_CYCLES_UNHALTED_L3_FLL_DISABLE",
Packit 577717
  .desc   = "Uncore cycles where at least one core is unhalted and all L3 ways are disabled",
Packit 577717
  .modmsk = NHM_UNC_ATTRS,
Packit 577717
  .cntmsk = 0x1fe00000,
Packit 577717
  .code = 0x86,
Packit 577717
},
Packit 577717
};