|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* Copyright (c) 2011 Google, Inc
|
|
Packit Service |
a1973e |
* Contributed by Stephane Eranian <eranian@gmail.com>
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* Regenerated from previous version by:
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* Copyright (c) 2006, 2007 Advanced Micro Devices, Inc.
|
|
Packit Service |
a1973e |
* Contributed by Ray Bryant <raybry@mpdtxmail.amd.com>
|
|
Packit Service |
a1973e |
* Contributed by Robert Richter <robert.richter@amd.com>
|
|
Packit Service |
a1973e |
* Modified for K7 by Vince Weaver <vince _at_ csl.cornell.edu>
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
Packit Service |
a1973e |
* of this software and associated documentation files (the "Software"), to deal
|
|
Packit Service |
a1973e |
* in the Software without restriction, including without limitation the rights
|
|
Packit Service |
a1973e |
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
|
|
Packit Service |
a1973e |
* of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
Packit Service |
a1973e |
* subject to the following conditions:
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* The above copyright notice and this permission notice shall be included in all
|
|
Packit Service |
a1973e |
* copies or substantial portions of the Software.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
|
|
Packit Service |
a1973e |
* INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
|
|
Packit Service |
a1973e |
* PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
Packit Service |
a1973e |
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
|
|
Packit Service |
a1973e |
* CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
|
|
Packit Service |
a1973e |
* OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* This file is part of libpfm, a performance monitoring support library for
|
|
Packit Service |
a1973e |
* applications on Linux.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* This file has been automatically generated.
|
|
Packit Service |
a1973e |
*
|
|
Packit Service |
a1973e |
* PMU: amd64_k7 (AMD64 K7)
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
/*
|
|
Packit Service |
a1973e |
* Definitions taken from "AMD Athlon Processor x86 Code Optimization Guide"
|
|
Packit Service |
a1973e |
* Table 11 February 2002
|
|
Packit Service |
a1973e |
*/
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_k7_data_cache_refills[]={
|
|
Packit Service |
a1973e |
{ .uname = "L2_INVALID",
|
|
Packit Service |
a1973e |
.udesc = "Invalid line from L2",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "L2_SHARED",
|
|
Packit Service |
a1973e |
.udesc = "Shared-state line from L2",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "L2_EXCLUSIVE",
|
|
Packit Service |
a1973e |
.udesc = "Exclusive-state line from L2",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "L2_OWNED",
|
|
Packit Service |
a1973e |
.udesc = "Owned-state line from L2",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "L2_MODIFIED",
|
|
Packit Service |
a1973e |
.udesc = "Modified-state line from L2",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALL",
|
|
Packit Service |
a1973e |
.udesc = "Shared, Exclusive, Owned, Modified State Refills",
|
|
Packit Service |
a1973e |
.ucode = 0x1f,
|
|
Packit Service |
a1973e |
.uflags= AMD64_FL_NCOMBO | AMD64_FL_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_umask_t amd64_k7_data_cache_refills_from_system[]={
|
|
Packit Service |
a1973e |
{ .uname = "INVALID",
|
|
Packit Service |
a1973e |
.udesc = "Invalid",
|
|
Packit Service |
a1973e |
.ucode = 0x1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "SHARED",
|
|
Packit Service |
a1973e |
.udesc = "Shared",
|
|
Packit Service |
a1973e |
.ucode = 0x2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "EXCLUSIVE",
|
|
Packit Service |
a1973e |
.udesc = "Exclusive",
|
|
Packit Service |
a1973e |
.ucode = 0x4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "OWNED",
|
|
Packit Service |
a1973e |
.udesc = "Owned",
|
|
Packit Service |
a1973e |
.ucode = 0x8,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "MODIFIED",
|
|
Packit Service |
a1973e |
.udesc = "Modified",
|
|
Packit Service |
a1973e |
.ucode = 0x10,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .uname = "ALL",
|
|
Packit Service |
a1973e |
.udesc = "Invalid, Shared, Exclusive, Owned, Modified",
|
|
Packit Service |
a1973e |
.ucode = 0x1f,
|
|
Packit Service |
a1973e |
.uflags= AMD64_FL_NCOMBO | AMD64_FL_DFL,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|
|
Packit Service |
a1973e |
|
|
Packit Service |
a1973e |
static const amd64_entry_t amd64_k7_pe[]={
|
|
Packit Service |
a1973e |
{ .name = "DATA_CACHE_ACCESSES",
|
|
Packit Service |
a1973e |
.desc = "Data Cache Accesses",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x40,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "DATA_CACHE_MISSES",
|
|
Packit Service |
a1973e |
.desc = "Data Cache Misses",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x41,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "DATA_CACHE_REFILLS",
|
|
Packit Service |
a1973e |
.desc = "Data Cache Refills from L2",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x42,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_k7_data_cache_refills),
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = amd64_k7_data_cache_refills,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "DATA_CACHE_REFILLS_FROM_SYSTEM",
|
|
Packit Service |
a1973e |
.desc = "Data Cache Refills from System",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x43,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_k7_data_cache_refills_from_system),
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = amd64_k7_data_cache_refills_from_system,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "DATA_CACHE_LINES_EVICTED",
|
|
Packit Service |
a1973e |
.desc = "Data Cache Lines Evicted",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x44,
|
|
Packit Service |
a1973e |
.numasks = LIBPFM_ARRAY_SIZE(amd64_k7_data_cache_refills_from_system),
|
|
Packit Service |
a1973e |
.ngrp = 1,
|
|
Packit Service |
a1973e |
.umasks = amd64_k7_data_cache_refills_from_system, /* identical to actual umasks list for this event */
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "L1_DTLB_MISS_AND_L2_DTLB_HIT",
|
|
Packit Service |
a1973e |
.desc = "L1 DTLB Miss and L2 DTLB Hit",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x45,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "L1_DTLB_AND_L2_DTLB_MISS",
|
|
Packit Service |
a1973e |
.desc = "L1 DTLB and L2 DTLB Miss",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x46,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "MISALIGNED_ACCESSES",
|
|
Packit Service |
a1973e |
.desc = "Misaligned Accesses",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x47,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "CPU_CLK_UNHALTED",
|
|
Packit Service |
a1973e |
.desc = "CPU Clocks not Halted",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x76,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "INSTRUCTION_CACHE_FETCHES",
|
|
Packit Service |
a1973e |
.desc = "Instruction Cache Fetches",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x80,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "INSTRUCTION_CACHE_MISSES",
|
|
Packit Service |
a1973e |
.desc = "Instruction Cache Misses",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x81,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "L1_ITLB_MISS_AND_L2_ITLB_HIT",
|
|
Packit Service |
a1973e |
.desc = "L1 ITLB Miss and L2 ITLB Hit",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x84,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "L1_ITLB_MISS_AND_L2_ITLB_MISS",
|
|
Packit Service |
a1973e |
.desc = "L1 ITLB Miss and L2 ITLB Miss",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0x85,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.desc = "Retired Instructions (includes exceptions, interrupts, resyncs)",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc0,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_UOPS",
|
|
Packit Service |
a1973e |
.desc = "Retired uops",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc1,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_BRANCH_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.desc = "Retired Branch Instructions",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc2,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_MISPREDICTED_BRANCH_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.desc = "Retired Mispredicted Branch Instructions",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc3,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_TAKEN_BRANCH_INSTRUCTIONS",
|
|
Packit Service |
a1973e |
.desc = "Retired Taken Branch Instructions",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc4,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_TAKEN_BRANCH_INSTRUCTIONS_MISPREDICTED",
|
|
Packit Service |
a1973e |
.desc = "Retired Taken Branch Instructions Mispredicted",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc5,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_FAR_CONTROL_TRANSFERS",
|
|
Packit Service |
a1973e |
.desc = "Retired Far Control Transfers",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc6,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "RETIRED_BRANCH_RESYNCS",
|
|
Packit Service |
a1973e |
.desc = "Retired Branch Resyncs (only non-control transfer branches)",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xc7,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "INTERRUPTS_MASKED_CYCLES",
|
|
Packit Service |
a1973e |
.desc = "Interrupts-Masked Cycles",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xcd,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "INTERRUPTS_MASKED_CYCLES_WITH_INTERRUPT_PENDING",
|
|
Packit Service |
a1973e |
.desc = "Interrupts-Masked Cycles with Interrupt Pending",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xce,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
{ .name = "INTERRUPTS_TAKEN",
|
|
Packit Service |
a1973e |
.desc = "Interrupts Taken",
|
|
Packit Service |
a1973e |
.modmsk = AMD64_BASIC_ATTRS,
|
|
Packit Service |
a1973e |
.code = 0xcf,
|
|
Packit Service |
a1973e |
},
|
|
Packit Service |
a1973e |
};
|