Blame src/libpfm4/lib/events/intel_atom_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: atom (Intel Atom)
Packit 577717
 */
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_l2_reject_busq[]={
Packit 577717
   { .uname  = "MESI",
Packit 577717
     .udesc  = "Any cacheline access",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "I_STATE",
Packit 577717
     .udesc  = "Invalid cacheline",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "Shared cacheline",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "E_STATE",
Packit 577717
     .udesc  = "Exclusive cacheline",
Packit 577717
     .ucode = 0x400,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "M_STATE",
Packit 577717
     .udesc  = "Modified cacheline",
Packit 577717
     .ucode = 0x800,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "All inclusive",
Packit 577717
     .ucode = 0x3000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
   { .uname  = "PREFETCH",
Packit 577717
     .udesc  = "Hardware prefetch only",
Packit 577717
     .ucode = 0x1000,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_icache[]={
Packit 577717
   { .uname  = "ACCESSES",
Packit 577717
     .udesc  = "Instruction fetches, including uncacheacble fetches",
Packit 577717
     .ucode = 0x300,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "MISSES",
Packit 577717
     .udesc  = "Count all instructions fetches that miss the icache or produce memory requests. This includes uncacheache fetches. Any instruction fetch miss is counted only once and not once for every cycle it is outstanding",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_l2_lock[]={
Packit 577717
   { .uname  = "MESI",
Packit 577717
     .udesc  = "Any cacheline access",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "I_STATE",
Packit 577717
     .udesc  = "Invalid cacheline",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "Shared cacheline",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "E_STATE",
Packit 577717
     .udesc  = "Exclusive cacheline",
Packit 577717
     .ucode = 0x400,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "M_STATE",
Packit 577717
     .udesc  = "Modified cacheline",
Packit 577717
     .ucode = 0x800,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_uops_retired[]={
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Micro-ops retired",
Packit 577717
     .ucode = 0x1000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "STALLED_CYCLES",
Packit 577717
     .udesc  = "Cycles no micro-ops retired",
Packit 577717
     .ucode = 0x1000 | INTEL_X86_MOD_INV | (0x1 << INTEL_X86_CMASK_BIT),
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "STALLS",
Packit 577717
     .udesc  = "Periods no micro-ops retired",
Packit 577717
     .ucode = 0x1000 | INTEL_X86_MOD_EDGE | INTEL_X86_MOD_INV | (0x1 << INTEL_X86_CMASK_BIT),
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_l2_m_lines_out[]={
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "All inclusive",
Packit 577717
     .ucode = 0x3000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "PREFETCH",
Packit 577717
     .udesc  = "Hardware prefetch only",
Packit 577717
     .ucode = 0x1000,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_simd_comp_inst_retired[]={
Packit 577717
   { .uname  = "PACKED_SINGLE",
Packit 577717
     .udesc  = "Retired computational Streaming SIMD Extensions (SSE) packed-single instructions",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "SCALAR_SINGLE",
Packit 577717
     .udesc  = "Retired computational Streaming SIMD Extensions (SSE) scalar-single instructions",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PACKED_DOUBLE",
Packit 577717
     .udesc  = "Retired computational Streaming SIMD Extensions 2 (SSE2) packed-double instructions",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "SCALAR_DOUBLE",
Packit 577717
     .udesc  = "Retired computational Streaming SIMD Extensions 2 (SSE2) scalar-double instructions",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_simd_sat_uop_exec[]={
Packit 577717
   { .uname  = "S",
Packit 577717
     .udesc  = "SIMD saturated arithmetic micro-ops executed",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "AR",
Packit 577717
     .udesc  = "SIMD saturated arithmetic micro-ops retired",
Packit 577717
     .ucode = 0x8000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_inst_retired[]={
Packit 577717
   { .uname  = "ANY_P",
Packit 577717
     .udesc  = "Instructions retired using generic counter (precise event)",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_PEBS | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_l1d_cache[]={
Packit 577717
   { .uname  = "LD",
Packit 577717
     .udesc  = "L1 Cacheable Data Reads",
Packit 577717
     .ucode = 0x2100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "ST",
Packit 577717
     .udesc  = "L1 Cacheable Data Writes",
Packit 577717
     .ucode = 0x2200,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_mul[]={
Packit 577717
   { .uname  = "S",
Packit 577717
     .udesc  = "Multiply operations executed",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "AR",
Packit 577717
     .udesc  = "Multiply operations retired",
Packit 577717
     .ucode = 0x8100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_div[]={
Packit 577717
   { .uname  = "S",
Packit 577717
     .udesc  = "Divide operations executed",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "AR",
Packit 577717
     .udesc  = "Divide operations retired",
Packit 577717
     .ucode = 0x8100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_bus_trans_p[]={
Packit 577717
   { .uname  = "THIS_AGENT",
Packit 577717
     .udesc  = "This agent",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "ALL_AGENTS",
Packit 577717
     .udesc  = "Any agent on the bus",
Packit 577717
     .ucode = 0x2000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_bus_io_wait[]={
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_bus_hitm_drv[]={
Packit 577717
   { .uname  = "THIS_AGENT",
Packit 577717
     .udesc  = "This agent",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "ALL_AGENTS",
Packit 577717
     .udesc  = "Any agent on the bus",
Packit 577717
     .ucode = 0x2000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_itlb[]={
Packit 577717
   { .uname  = "FLUSH",
Packit 577717
     .udesc  = "ITLB flushes",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "MISSES",
Packit 577717
     .udesc  = "ITLB misses",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_simd_uop_type_exec[]={
Packit 577717
   { .uname  = "MUL_S",
Packit 577717
     .udesc  = "SIMD packed multiply micro-ops executed",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "MUL_AR",
Packit 577717
     .udesc  = "SIMD packed multiply micro-ops retired",
Packit 577717
     .ucode = 0x8100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "SHIFT_S",
Packit 577717
     .udesc  = "SIMD packed shift micro-ops executed",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "SHIFT_AR",
Packit 577717
     .udesc  = "SIMD packed shift micro-ops retired",
Packit 577717
     .ucode = 0x8200,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "PACK_S",
Packit 577717
     .udesc  = "SIMD packed micro-ops executed",
Packit 577717
     .ucode = 0x400,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "PACK_AR",
Packit 577717
     .udesc  = "SIMD packed micro-ops retired",
Packit 577717
     .ucode = 0x8400,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "UNPACK_S",
Packit 577717
     .udesc  = "SIMD unpacked micro-ops executed",
Packit 577717
     .ucode = 0x800,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "UNPACK_AR",
Packit 577717
     .udesc  = "SIMD unpacked micro-ops retired",
Packit 577717
     .ucode = 0x8800,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "LOGICAL_S",
Packit 577717
     .udesc  = "SIMD packed logical micro-ops executed",
Packit 577717
     .ucode = 0x1000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "LOGICAL_AR",
Packit 577717
     .udesc  = "SIMD packed logical micro-ops retired",
Packit 577717
     .ucode = 0x9000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "ARITHMETIC_S",
Packit 577717
     .udesc  = "SIMD packed arithmetic micro-ops executed",
Packit 577717
     .ucode = 0x2000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "ARITHMETIC_AR",
Packit 577717
     .udesc  = "SIMD packed arithmetic micro-ops retired",
Packit 577717
     .ucode = 0xa000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_simd_inst_retired[]={
Packit 577717
   { .uname  = "PACKED_SINGLE",
Packit 577717
     .udesc  = "Retired Streaming SIMD Extensions (SSE) packed-single instructions",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "SCALAR_SINGLE",
Packit 577717
     .udesc  = "Retired Streaming SIMD Extensions (SSE) scalar-single instructions",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PACKED_DOUBLE",
Packit 577717
     .udesc  = "Retired Streaming SIMD Extensions 2 (SSE2) packed-double instructions",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "SCALAR_DOUBLE",
Packit 577717
     .udesc  = "Retired Streaming SIMD Extensions 2 (SSE2) scalar-double instructions",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "VECTOR",
Packit 577717
     .udesc  = "Retired Streaming SIMD Extensions 2 (SSE2) vector instructions",
Packit 577717
     .ucode = 0x1000,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Retired Streaming SIMD instructions",
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 atom_prefetch[]={
Packit 577717
   { .uname  = "PREFETCHT0",
Packit 577717
     .udesc  = "Streaming SIMD Extensions (SSE) PrefetchT0 instructions executed",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "SW_L2",
Packit 577717
     .udesc  = "Streaming SIMD Extensions (SSE) PrefetchT1 and PrefetchT2 instructions executed",
Packit 577717
     .ucode = 0x600,
Packit 577717
   },
Packit 577717
   { .uname  = "PREFETCHNTA",
Packit 577717
     .udesc  = "Streaming SIMD Extensions (SSE) Prefetch NTA instructions executed",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_l2_rqsts[]={
Packit 577717
   { .uname  = "SELF",
Packit 577717
     .udesc  = "This core",
Packit 577717
     .ucode = 0x4000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "BOTH_CORES",
Packit 577717
     .udesc  = "Both cores",
Packit 577717
     .ucode = 0xc000,
Packit 577717
     .grpid = 0,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "All inclusive",
Packit 577717
     .ucode = 0x3000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "PREFETCH",
Packit 577717
     .udesc  = "Hardware prefetch only",
Packit 577717
     .ucode = 0x1000,
Packit 577717
     .grpid = 1,
Packit 577717
   },
Packit 577717
   { .uname  = "MESI",
Packit 577717
     .udesc  = "Any cacheline access",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
   { .uname  = "I_STATE",
Packit 577717
     .udesc  = "Invalid cacheline",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
   { .uname  = "S_STATE",
Packit 577717
     .udesc  = "Shared cacheline",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
   { .uname  = "E_STATE",
Packit 577717
     .udesc  = "Exclusive cacheline",
Packit 577717
     .ucode = 0x400,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
   { .uname  = "M_STATE",
Packit 577717
     .udesc  = "Modified cacheline",
Packit 577717
     .ucode = 0x800,
Packit 577717
     .grpid = 2,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_simd_uops_exec[]={
Packit 577717
   { .uname  = "S",
Packit 577717
     .udesc  = "Number of SIMD saturated arithmetic micro-ops executed",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "AR",
Packit 577717
     .udesc  = "Number of SIMD saturated arithmetic micro-ops retired",
Packit 577717
     .ucode = 0x8000,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_machine_clears[]={
Packit 577717
   { .uname  = "SMC",
Packit 577717
     .udesc  = "Self-Modifying Code detected",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_br_inst_retired[]={
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Retired branch instructions",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "PRED_NOT_TAKEN",
Packit 577717
     .udesc  = "Retired branch instructions that were predicted not-taken",
Packit 577717
     .ucode = 0x100,
Packit 577717
   },
Packit 577717
   { .uname  = "MISPRED_NOT_TAKEN",
Packit 577717
     .udesc  = "Retired branch instructions that were mispredicted not-taken",
Packit 577717
     .ucode = 0x200,
Packit 577717
   },
Packit 577717
   { .uname  = "PRED_TAKEN",
Packit 577717
     .udesc  = "Retired branch instructions that were predicted taken",
Packit 577717
     .ucode = 0x400,
Packit 577717
   },
Packit 577717
   { .uname  = "MISPRED_TAKEN",
Packit 577717
     .udesc  = "Retired branch instructions that were mispredicted taken",
Packit 577717
     .ucode = 0x800,
Packit 577717
   },
Packit 577717
   { .uname  = "MISPRED",
Packit 577717
     .udesc  = "Retired mispredicted branch instructions",
Packit 577717
     .ucode = 0xa00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "TAKEN",
Packit 577717
     .udesc  = "Retired taken branch instructions",
Packit 577717
     .ucode = 0xc00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY1",
Packit 577717
     .udesc  = "Retired branch instructions",
Packit 577717
     .ucode = 0xf00,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_macro_insts[]={
Packit 577717
   { .uname  = "NON_CISC_DECODED",
Packit 577717
     .udesc  = "Non-CISC macro instructions decoded ",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "ALL_DECODED",
Packit 577717
     .udesc  = "All Instructions decoded",
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 atom_segment_reg_loads[]={
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "Number of segment register loads",
Packit 577717
     .ucode = 0x8000,
Packit 577717
     .uflags= INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_baclears[]={
Packit 577717
   { .uname  = "ANY",
Packit 577717
     .udesc  = "BACLEARS asserted",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_cycles_int_masked[]={
Packit 577717
   { .uname  = "CYCLES_INT_MASKED",
Packit 577717
     .udesc  = "Cycles during which interrupts are disabled",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "CYCLES_INT_PENDING_AND_MASKED",
Packit 577717
     .udesc  = "Cycles during which interrupts are pending and disabled",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_fp_assist[]={
Packit 577717
   { .uname  = "S",
Packit 577717
     .udesc  = "Floating point assists for executed instructions",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "AR",
Packit 577717
     .udesc  = "Floating point assists for retired instructions",
Packit 577717
     .ucode = 0x8100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_data_tlb_misses[]={
Packit 577717
   { .uname  = "DTLB_MISS",
Packit 577717
     .udesc  = "Memory accesses that missed the DTLB",
Packit 577717
     .ucode = 0x700,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "DTLB_MISS_LD",
Packit 577717
     .udesc  = "DTLB misses due to load operations",
Packit 577717
     .ucode = 0x500,
Packit 577717
   },
Packit 577717
   { .uname  = "L0_DTLB_MISS_LD",
Packit 577717
     .udesc  = "L0 (micro-TLB) misses due to load operations",
Packit 577717
     .ucode = 0x900,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "DTLB_MISS_ST",
Packit 577717
     .udesc  = "DTLB misses due to store operations",
Packit 577717
     .ucode = 0x600,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_store_forwards[]={
Packit 577717
   { .uname  = "GOOD",
Packit 577717
     .udesc  = "Good store forwards",
Packit 577717
     .ucode = 0x8100,
Packit 577717
     .uflags= INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_cpu_clk_unhalted[]={
Packit 577717
   { .uname  = "CORE_P",
Packit 577717
     .udesc  = "Core cycles when core is not halted",
Packit 577717
     .ucode = 0x0,
Packit 577717
     .uflags= INTEL_X86_NCOMBO | INTEL_X86_DFL,
Packit 577717
   },
Packit 577717
   { .uname  = "BUS",
Packit 577717
     .udesc  = "Bus cycles when core is not halted. This event can give a measurement of the elapsed time. This events has a constant ratio with CPU_CLK_UNHALTED:REF event, which is the maximum bus to processor frequency ratio",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "NO_OTHER",
Packit 577717
     .udesc  = "Bus cycles when core is active and other is halted",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_mem_load_retired[]={
Packit 577717
   { .uname  = "L2_HIT",
Packit 577717
     .udesc  = "Retired loads that hit the L2 cache (precise event)",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_PEBS,
Packit 577717
   },
Packit 577717
   { .uname  = "L2_MISS",
Packit 577717
     .udesc  = "Retired loads that miss the L2 cache (precise event)",
Packit 577717
     .ucode = 0x200,
Packit 577717
     .uflags= INTEL_X86_PEBS,
Packit 577717
   },
Packit 577717
   { .uname  = "DTLB_MISS",
Packit 577717
     .udesc  = "Retired loads that miss the DTLB (precise event)",
Packit 577717
     .ucode = 0x400,
Packit 577717
     .uflags= INTEL_X86_PEBS,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_x87_comp_ops_exe[]={
Packit 577717
   { .uname  = "ANY_S",
Packit 577717
     .udesc  = "Floating point computational micro-ops executed",
Packit 577717
     .ucode = 0x100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "ANY_AR",
Packit 577717
     .udesc  = "Floating point computational micro-ops retired",
Packit 577717
     .ucode = 0x8100,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_umask_t atom_page_walks[]={
Packit 577717
   { .uname  = "WALKS",
Packit 577717
     .udesc  = "Number of page-walks executed",
Packit 577717
     .uequiv = "CYCLES",
Packit 577717
     .ucode = 0x300 | INTEL_X86_MOD_EDGE,
Packit 577717
     .modhw = _INTEL_X86_ATTR_E,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
   { .uname  = "CYCLES",
Packit 577717
     .udesc  = "Duration of page-walks in core cycles",
Packit 577717
     .ucode = 0x300,
Packit 577717
     .uflags= INTEL_X86_NCOMBO,
Packit 577717
   },
Packit 577717
};
Packit 577717
Packit 577717
static const intel_x86_entry_t intel_atom_pe[]={
Packit 577717
{ .name   = "UNHALTED_CORE_CYCLES",
Packit 577717
  .desc   = "Unhalted core cycles",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x200000003ull,
Packit 577717
  .code = 0x3c,
Packit 577717
},
Packit 577717
{ .name   = "UNHALTED_REFERENCE_CYCLES",
Packit 577717
  .desc   = "Unhalted reference cycle",
Packit 577717
  .modmsk = INTEL_FIXED3_ATTRS,
Packit 577717
  .cntmsk = 0x400000000ull,
Packit 577717
  .code = 0x0300, /* pseudo encoding */
Packit 577717
  .flags = INTEL_X86_FIXED,
Packit 577717
},
Packit 577717
{ .name   = "INSTRUCTION_RETIRED",
Packit 577717
  .desc   = "Instructions retired",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x100000003ull,
Packit 577717
  .code = 0xc0,
Packit 577717
},
Packit 577717
{ .name   = "INSTRUCTIONS_RETIRED",
Packit 577717
  .desc   = "This is an alias for INSTRUCTION_RETIRED",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .equiv = "INSTRUCTION_RETIRED",
Packit 577717
  .cntmsk = 0x10003,
Packit 577717
  .code = 0xc0,
Packit 577717
},
Packit 577717
{ .name   = "LLC_REFERENCES",
Packit 577717
  .desc   = "Last level of cache references",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x4f2e,
Packit 577717
},
Packit 577717
{ .name   = "LAST_LEVEL_CACHE_REFERENCES",
Packit 577717
  .desc   = "This is an alias for LLC_REFERENCES",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .equiv = "LLC_REFERENCES",
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x4f2e,
Packit 577717
},
Packit 577717
{ .name   = "LLC_MISSES",
Packit 577717
  .desc   = "Last level of cache misses",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x412e,
Packit 577717
},
Packit 577717
{ .name   = "LAST_LEVEL_CACHE_MISSES",
Packit 577717
  .desc   = "This is an alias for LLC_MISSES",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .equiv = "LLC_MISSES",
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x412e,
Packit 577717
},
Packit 577717
{ .name   = "BRANCH_INSTRUCTIONS_RETIRED",
Packit 577717
  .desc   = "Branch instructions retired",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .equiv = "BR_INST_RETIRED:ANY",
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc4,
Packit 577717
},
Packit 577717
{ .name   = "MISPREDICTED_BRANCH_RETIRED",
Packit 577717
  .desc   = "Mispredicted branch instruction retired",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc5,
Packit 577717
  .flags= INTEL_X86_PEBS,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_INSTR_RETIRED",
Packit 577717
  .desc   = "SIMD Instructions retired",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xce,
Packit 577717
},
Packit 577717
{ .name   = "L2_REJECT_BUSQ",
Packit 577717
  .desc   = "Rejected L2 cache requests",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x30,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_reject_busq),
Packit 577717
  .ngrp = 3,
Packit 577717
  .umasks = atom_l2_reject_busq,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_SAT_INSTR_RETIRED",
Packit 577717
  .desc   = "Saturated arithmetic instructions retired",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xcf,
Packit 577717
},
Packit 577717
{ .name   = "ICACHE",
Packit 577717
  .desc   = "Instruction fetches",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x80,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_icache),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_icache,
Packit 577717
},
Packit 577717
{ .name   = "L2_LOCK",
Packit 577717
  .desc   = "L2 locked accesses",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x2b,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_lock),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_lock,
Packit 577717
},
Packit 577717
{ .name   = "UOPS_RETIRED",
Packit 577717
  .desc   = "Micro-ops retired",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc2,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_uops_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_uops_retired,
Packit 577717
},
Packit 577717
{ .name   = "L2_M_LINES_OUT",
Packit 577717
  .desc   = "Modified lines evicted from the L2 cache",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x27,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_COMP_INST_RETIRED",
Packit 577717
  .desc   = "Retired computational Streaming SIMD Extensions (SSE) instructions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xca,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_simd_comp_inst_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_simd_comp_inst_retired,
Packit 577717
},
Packit 577717
{ .name   = "SNOOP_STALL_DRV",
Packit 577717
  .desc   = "Bus stalled for snoops",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7e,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_BURST",
Packit 577717
  .desc   = "Burst (full cache-line) bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6e,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "SIMD_SAT_UOP_EXEC",
Packit 577717
  .desc   = "SIMD saturated arithmetic micro-ops executed",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xb1,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_simd_sat_uop_exec),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_simd_sat_uop_exec,
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_IO",
Packit 577717
  .desc   = "IO bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6c,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_RFO",
Packit 577717
  .desc   = "RFO bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x66,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "SIMD_ASSIST",
Packit 577717
  .desc   = "SIMD assists invoked",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xcd,
Packit 577717
},
Packit 577717
{ .name   = "INST_RETIRED",
Packit 577717
  .desc   = "Instructions retired",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc0,
Packit 577717
  .flags= INTEL_X86_PEBS,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_inst_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_inst_retired,
Packit 577717
},
Packit 577717
{ .name   = "L1D_CACHE",
Packit 577717
  .desc   = "L1 Cacheable Data Reads",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x40,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l1d_cache),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_l1d_cache,
Packit 577717
},
Packit 577717
{ .name   = "MUL",
Packit 577717
  .desc   = "Multiply operations executed",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x12,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_mul),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_mul,
Packit 577717
},
Packit 577717
{ .name   = "DIV",
Packit 577717
  .desc   = "Divide operations executed",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x13,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_div),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_div,
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_P",
Packit 577717
  .desc   = "Partial bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6b,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_trans_p),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_bus_trans_p,
Packit 577717
},
Packit 577717
{ .name   = "BUS_IO_WAIT",
Packit 577717
  .desc   = "IO requests waiting in the bus queue",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7f,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_io_wait),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_io_wait,
Packit 577717
},
Packit 577717
{ .name   = "L2_M_LINES_IN",
Packit 577717
  .desc   = "L2 cache line modifications",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x25,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_io_wait),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_io_wait, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_LINES_IN",
Packit 577717
  .desc   = "L2 cache misses",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x24,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUSQ_EMPTY",
Packit 577717
  .desc   = "Bus queue is empty",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7d,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_io_wait),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_io_wait, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_IFETCH",
Packit 577717
  .desc   = "L2 cacheable instruction fetch requests",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x28,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_lock),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_lock, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_HITM_DRV",
Packit 577717
  .desc   = "HITM signal asserted",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7b,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_hitm_drv),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_hitm_drv,
Packit 577717
},
Packit 577717
{ .name   = "ITLB",
Packit 577717
  .desc   = "ITLB hits",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x82,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_itlb),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_itlb,
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_MEM",
Packit 577717
  .desc   = "Memory bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6f,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_PWR",
Packit 577717
  .desc   = "Partial write bus transaction",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6a,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BR_INST_DECODED",
Packit 577717
  .desc   = "Branch instructions decoded",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x1e0,
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_INVAL",
Packit 577717
  .desc   = "Invalidate bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x69,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "SIMD_UOP_TYPE_EXEC",
Packit 577717
  .desc   = "SIMD micro-ops executed",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xb3,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_simd_uop_type_exec),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_simd_uop_type_exec,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_INST_RETIRED",
Packit 577717
  .desc   = "Retired Streaming SIMD Extensions (SSE) instructions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc7,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_simd_inst_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_simd_inst_retired,
Packit 577717
},
Packit 577717
{ .name   = "CYCLES_DIV_BUSY",
Packit 577717
  .desc   = "Cycles the divider is busy",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x14,
Packit 577717
},
Packit 577717
{ .name   = "PREFETCH",
Packit 577717
  .desc   = "Streaming SIMD Extensions (SSE) PrefetchT0 instructions executed",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_prefetch),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_prefetch,
Packit 577717
},
Packit 577717
{ .name   = "L2_RQSTS",
Packit 577717
  .desc   = "L2 cache requests",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x2e,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_rqsts),
Packit 577717
  .ngrp = 3,
Packit 577717
  .umasks = atom_l2_rqsts,
Packit 577717
},
Packit 577717
{ .name   = "SIMD_UOPS_EXEC",
Packit 577717
  .desc   = "SIMD micro-ops executed (excluding stores)",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xb0,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_simd_uops_exec),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_simd_uops_exec,
Packit 577717
},
Packit 577717
{ .name   = "HW_INT_RCV",
Packit 577717
  .desc   = "Hardware interrupts received (warning overcounts by 2x)",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x1c8,
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_BRD",
Packit 577717
  .desc   = "Burst read bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x65,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_trans_p),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_bus_trans_p, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BOGUS_BR",
Packit 577717
  .desc   = "Bogus branches",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xe4,
Packit 577717
},
Packit 577717
{ .name   = "BUS_DATA_RCV",
Packit 577717
  .desc   = "Bus cycles while processor receives data",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x64,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_io_wait),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_io_wait, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "MACHINE_CLEARS",
Packit 577717
  .desc   = "Self-Modifying Code detected",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc3,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_machine_clears),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_machine_clears,
Packit 577717
},
Packit 577717
{ .name   = "BR_INST_RETIRED",
Packit 577717
  .desc   = "Retired branch instructions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc4,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_br_inst_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_br_inst_retired,
Packit 577717
},
Packit 577717
{ .name   = "L2_ADS",
Packit 577717
  .desc   = "Cycles L2 address bus is in use",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x21,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_io_wait),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_io_wait, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "EIST_TRANS",
Packit 577717
  .desc   = "Number of Enhanced Intel SpeedStep(R) Technology (EIST) transitions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x3a,
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_WB",
Packit 577717
  .desc   = "Explicit writeback bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x67,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "MACRO_INSTS",
Packit 577717
  .desc   = "Macro-instructions decoded",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xaa,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_macro_insts),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_macro_insts,
Packit 577717
},
Packit 577717
{ .name   = "L2_LINES_OUT",
Packit 577717
  .desc   = "L2 cache lines evicted. ",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x26,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_LD",
Packit 577717
  .desc   = "L2 cache reads",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x29,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_rqsts),
Packit 577717
  .ngrp = 3,
Packit 577717
  .umasks = atom_l2_rqsts, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "SEGMENT_REG_LOADS",
Packit 577717
  .desc   = "Number of segment register loads",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_segment_reg_loads),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_segment_reg_loads,
Packit 577717
},
Packit 577717
{ .name   = "L2_NO_REQ",
Packit 577717
  .desc   = "Cycles no L2 cache requests are pending",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x32,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_io_wait),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_io_wait, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "THERMAL_TRIP",
Packit 577717
  .desc   = "Number of thermal trips",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc03b,
Packit 577717
},
Packit 577717
{ .name   = "EXT_SNOOP",
Packit 577717
  .desc   = "External snoops",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x77,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_lock),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_lock, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BACLEARS",
Packit 577717
  .desc   = "Branch address calculator",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xe6,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_baclears),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_baclears,
Packit 577717
},
Packit 577717
{ .name   = "CYCLES_INT_MASKED",
Packit 577717
  .desc   = "Cycles during which interrupts are disabled",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc6,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_cycles_int_masked),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_cycles_int_masked,
Packit 577717
},
Packit 577717
{ .name   = "FP_ASSIST",
Packit 577717
  .desc   = "Floating point assists",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x11,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_fp_assist),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_fp_assist,
Packit 577717
},
Packit 577717
{ .name   = "L2_ST",
Packit 577717
  .desc   = "L2 store requests",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x2a,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_lock),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_lock, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_DEF",
Packit 577717
  .desc   = "Deferred bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x6d,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "DATA_TLB_MISSES",
Packit 577717
  .desc   = "Memory accesses that missed the DTLB",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x8,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_data_tlb_misses),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_data_tlb_misses,
Packit 577717
},
Packit 577717
{ .name   = "BUS_BNR_DRV",
Packit 577717
  .desc   = "Number of Bus Not Ready signals asserted",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x61,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_hitm_drv),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_hitm_drv, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "STORE_FORWARDS",
Packit 577717
  .desc   = "All store forwards",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x2,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_store_forwards),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_store_forwards,
Packit 577717
},
Packit 577717
{ .name   = "CPU_CLK_UNHALTED",
Packit 577717
  .desc   = "Core cycles when core is not halted",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x3c,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_cpu_clk_unhalted),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_cpu_clk_unhalted,
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_ANY",
Packit 577717
  .desc   = "All bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x70,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_l2_m_lines_out),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_l2_m_lines_out, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "MEM_LOAD_RETIRED",
Packit 577717
  .desc   = "Retired loads",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xcb,
Packit 577717
  .flags= INTEL_X86_PEBS,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_mem_load_retired),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_mem_load_retired,
Packit 577717
},
Packit 577717
{ .name   = "X87_COMP_OPS_EXE",
Packit 577717
  .desc   = "Floating point computational micro-ops executed",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x10,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_x87_comp_ops_exe),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_x87_comp_ops_exe,
Packit 577717
},
Packit 577717
{ .name   = "PAGE_WALKS",
Packit 577717
  .desc   = "Number of page-walks executed",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0xc,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_page_walks),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_page_walks,
Packit 577717
},
Packit 577717
{ .name   = "BUS_LOCK_CLOCKS",
Packit 577717
  .desc   = "Bus cycles when a LOCK signal is asserted",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x63,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_trans_p),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_bus_trans_p, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_REQUEST_OUTSTANDING",
Packit 577717
  .desc   = "Outstanding cacheable data read bus requests duration",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x60,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_trans_p),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_bus_trans_p, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_TRANS_IFETCH",
Packit 577717
  .desc   = "Instruction-fetch bus transactions",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x68,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_trans_p),
Packit 577717
  .ngrp = 2,
Packit 577717
  .umasks = atom_bus_trans_p, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_HIT_DRV",
Packit 577717
  .desc   = "HIT signal asserted",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x7a,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_hitm_drv),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_hitm_drv, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "BUS_DRDY_CLOCKS",
Packit 577717
  .desc   = "Bus cycles when data is sent on the bus",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x62,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_hitm_drv),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_hitm_drv, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
{ .name   = "L2_DBUS_BUSY",
Packit 577717
  .desc   = "Cycles the L2 cache data bus is busy",
Packit 577717
  .modmsk = INTEL_V3_ATTRS,
Packit 577717
  .cntmsk = 0x3,
Packit 577717
  .code = 0x22,
Packit 577717
  .numasks = LIBPFM_ARRAY_SIZE(atom_bus_io_wait),
Packit 577717
  .ngrp = 1,
Packit 577717
  .umasks = atom_bus_io_wait, /* identical to actual umasks list for this event */
Packit 577717
},
Packit 577717
};