|
Packit |
577717 |
/*
|
|
Packit |
577717 |
* Copyright (c) 2006 IBM Corp.
|
|
Packit |
577717 |
* Contributed by Kevin Corry <kevcorry@us.ibm.com>
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
Packit |
577717 |
* copy of this software and associated documentation files (the "Software"),
|
|
Packit |
577717 |
* to deal in the Software without restriction, including without limitation
|
|
Packit |
577717 |
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
Packit |
577717 |
* and/or sell copies of the Software, and to permit persons to whom the
|
|
Packit |
577717 |
* Software is furnished to do so, subject to the following conditions:
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* The above copyright notice and this permission notice shall be included in
|
|
Packit |
577717 |
* all copies or substantial portions of the Software.
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
Packit |
577717 |
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
Packit |
577717 |
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
Packit |
577717 |
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
Packit |
577717 |
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
Packit |
577717 |
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
Packit |
577717 |
* IN THE SOFTWARE.
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* pentium4_events.h
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* This header contains arrays to describe the Event-Selection-Control
|
|
Packit |
577717 |
* Registers (ESCRs), Counter-Configuration-Control Registers (CCCRs),
|
|
Packit |
577717 |
* and countable events on Pentium4/Xeon/EM64T systems.
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* For more details, see:
|
|
Packit |
577717 |
* - IA-32 Intel Architecture Software Developer's Manual,
|
|
Packit |
577717 |
* Volume 3B: System Programming Guide, Part 2
|
|
Packit |
577717 |
* (available at: http://www.intel.com/design/Pentium4/manuals/253669.htm)
|
|
Packit |
577717 |
* - Chapter 18.10: Performance Monitoring Overview
|
|
Packit |
577717 |
* - Chapter 18.13: Performance Monitoring - Pentium4 and Xeon Processors
|
|
Packit |
577717 |
* - Chapter 18.14: Performance Monitoring and Hyper-Threading Technology
|
|
Packit |
577717 |
* - Appendix A.1: Pentium4 and Xeon Processor Performance-Monitoring Events
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* This header also contains an array to describe how the Perfmon PMCs map to
|
|
Packit |
577717 |
* the ESCRs and CCCRs.
|
|
Packit |
577717 |
*/
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#ifndef _PENTIUM4_EVENTS_H_
|
|
Packit |
577717 |
#define _PENTIUM4_EVENTS_H_
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/**
|
|
Packit |
577717 |
* pentium4_escrs
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* Array of event-selection-control registers that are available
|
|
Packit |
577717 |
* on Pentium4.
|
|
Packit |
577717 |
**/
|
|
Packit |
577717 |
pentium4_escr_reg_t pentium4_escrs[] = {
|
|
Packit |
577717 |
{.name = "BPU_ESCR0",
|
|
Packit |
577717 |
.pmc = 0,
|
|
Packit |
577717 |
.allowed_cccrs = { 0, 9, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IS_ESCR0",
|
|
Packit |
577717 |
.pmc = 1,
|
|
Packit |
577717 |
.allowed_cccrs = { 0, 9, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MOB_ESCR0",
|
|
Packit |
577717 |
.pmc = 2,
|
|
Packit |
577717 |
.allowed_cccrs = { 0, 9, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ITLB_ESCR0",
|
|
Packit |
577717 |
.pmc = 3,
|
|
Packit |
577717 |
.allowed_cccrs = { 0, 9, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "PMH_ESCR0",
|
|
Packit |
577717 |
.pmc = 4,
|
|
Packit |
577717 |
.allowed_cccrs = { 0, 9, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IX_ESCR0",
|
|
Packit |
577717 |
.pmc = 5,
|
|
Packit |
577717 |
.allowed_cccrs = { 0, 9, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FSB_ESCR0",
|
|
Packit |
577717 |
.pmc = 6,
|
|
Packit |
577717 |
.allowed_cccrs = { 0, 9, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BSU_ESCR0",
|
|
Packit |
577717 |
.pmc = 7,
|
|
Packit |
577717 |
.allowed_cccrs = { 0, 9, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_ESCR0",
|
|
Packit |
577717 |
.pmc = 8,
|
|
Packit |
577717 |
.allowed_cccrs = { 2, 11, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TC_ESCR0",
|
|
Packit |
577717 |
.pmc = 9,
|
|
Packit |
577717 |
.allowed_cccrs = { 2, 11, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TBPU_ESCR0",
|
|
Packit |
577717 |
.pmc = 10,
|
|
Packit |
577717 |
.allowed_cccrs = { 2, 11, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_ESCR0",
|
|
Packit |
577717 |
.pmc = 11,
|
|
Packit |
577717 |
.allowed_cccrs = { 4, 13, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FIRM_ESCR0",
|
|
Packit |
577717 |
.pmc = 12,
|
|
Packit |
577717 |
.allowed_cccrs = { 4, 13, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "SAAT_ESCR0",
|
|
Packit |
577717 |
.pmc = 13,
|
|
Packit |
577717 |
.allowed_cccrs = { 4, 13, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "U2L_ESCR0",
|
|
Packit |
577717 |
.pmc = 14,
|
|
Packit |
577717 |
.allowed_cccrs = { 4, 13, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DAC_ESCR0",
|
|
Packit |
577717 |
.pmc = 15,
|
|
Packit |
577717 |
.allowed_cccrs = { 4, 13, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_ESCR0",
|
|
Packit |
577717 |
.pmc = 16,
|
|
Packit |
577717 |
.allowed_cccrs = { 6, 8, 15, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ALF_ESCR0",
|
|
Packit |
577717 |
.pmc = 17,
|
|
Packit |
577717 |
.allowed_cccrs = { 6, 8, 15, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RAT_ESCR0",
|
|
Packit |
577717 |
.pmc = 18,
|
|
Packit |
577717 |
.allowed_cccrs = { 6, 8, 15, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "SSU_ESCR0",
|
|
Packit |
577717 |
.pmc = 19,
|
|
Packit |
577717 |
.allowed_cccrs = { 6, 8, 15, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR0",
|
|
Packit |
577717 |
.pmc = 20,
|
|
Packit |
577717 |
.allowed_cccrs = { 6, 8, 15, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR2",
|
|
Packit |
577717 |
.pmc = 21,
|
|
Packit |
577717 |
.allowed_cccrs = { 6, 8, 15, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR4",
|
|
Packit |
577717 |
.pmc = 22,
|
|
Packit |
577717 |
.allowed_cccrs = { 6, 8, 15, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BPU_ESCR1",
|
|
Packit |
577717 |
.pmc = 32,
|
|
Packit |
577717 |
.allowed_cccrs = { 1, 10, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IS_ESCR1",
|
|
Packit |
577717 |
.pmc = 33,
|
|
Packit |
577717 |
.allowed_cccrs = { 1, 10, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MOB_ESCR1",
|
|
Packit |
577717 |
.pmc = 34,
|
|
Packit |
577717 |
.allowed_cccrs = { 1, 10, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ITLB_ESCR1",
|
|
Packit |
577717 |
.pmc = 35,
|
|
Packit |
577717 |
.allowed_cccrs = { 1, 10, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "PMH_ESCR1",
|
|
Packit |
577717 |
.pmc = 36,
|
|
Packit |
577717 |
.allowed_cccrs = { 1, 10, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IX_ESCR1",
|
|
Packit |
577717 |
.pmc = 37,
|
|
Packit |
577717 |
.allowed_cccrs = { 1, 10, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FSB_ESCR1",
|
|
Packit |
577717 |
.pmc = 38,
|
|
Packit |
577717 |
.allowed_cccrs = { 1, 10, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BSU_ESCR1",
|
|
Packit |
577717 |
.pmc = 39,
|
|
Packit |
577717 |
.allowed_cccrs = { 1, 10, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_ESCR1",
|
|
Packit |
577717 |
.pmc = 40,
|
|
Packit |
577717 |
.allowed_cccrs = { 3, 12, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TC_ESCR1",
|
|
Packit |
577717 |
.pmc = 41,
|
|
Packit |
577717 |
.allowed_cccrs = { 3, 12, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TBPU_ESCR1",
|
|
Packit |
577717 |
.pmc = 42,
|
|
Packit |
577717 |
.allowed_cccrs = { 3, 12, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_ESCR1",
|
|
Packit |
577717 |
.pmc = 43,
|
|
Packit |
577717 |
.allowed_cccrs = { 5, 14, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FIRM_ESCR1",
|
|
Packit |
577717 |
.pmc = 44,
|
|
Packit |
577717 |
.allowed_cccrs = { 5, 14, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "SAAT_ESCR1",
|
|
Packit |
577717 |
.pmc = 45,
|
|
Packit |
577717 |
.allowed_cccrs = { 5, 14, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "U2L_ESCR1",
|
|
Packit |
577717 |
.pmc = 46,
|
|
Packit |
577717 |
.allowed_cccrs = { 5, 14, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DAC_ESCR1",
|
|
Packit |
577717 |
.pmc = 47,
|
|
Packit |
577717 |
.allowed_cccrs = { 5, 14, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_ESCR1",
|
|
Packit |
577717 |
.pmc = 48,
|
|
Packit |
577717 |
.allowed_cccrs = { 7, 16, 17, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ALF_ESCR1",
|
|
Packit |
577717 |
.pmc = 49,
|
|
Packit |
577717 |
.allowed_cccrs = { 7, 16, 17, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RAT_ESCR1",
|
|
Packit |
577717 |
.pmc = 50,
|
|
Packit |
577717 |
.allowed_cccrs = { 7, 16, 17, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR1",
|
|
Packit |
577717 |
.pmc = 51,
|
|
Packit |
577717 |
.allowed_cccrs = { 7, 16, 17, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR3",
|
|
Packit |
577717 |
.pmc = 52,
|
|
Packit |
577717 |
.allowed_cccrs = { 7, 16, 17, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR5",
|
|
Packit |
577717 |
.pmc = 53,
|
|
Packit |
577717 |
.allowed_cccrs = { 7, 16, 17, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
};
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define PENTIUM4_NUM_ESCRS (sizeof(pentium4_escrs)/sizeof(pentium4_escrs[0]))
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/**
|
|
Packit |
577717 |
* pentium4_cccrs
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* Array of counter-configuration-control registers that are available
|
|
Packit |
577717 |
* on Pentium4.
|
|
Packit |
577717 |
**/
|
|
Packit |
577717 |
pentium4_cccr_reg_t pentium4_cccrs[] = {
|
|
Packit |
577717 |
{.name = "BPU_CCCR0",
|
|
Packit |
577717 |
.pmc = 23,
|
|
Packit |
577717 |
.pmd = 0,
|
|
Packit |
577717 |
.allowed_escrs = { 0, 1, 2, 3, 4, 5, 6, 7 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BPU_CCCR2",
|
|
Packit |
577717 |
.pmc = 24,
|
|
Packit |
577717 |
.pmd = 9,
|
|
Packit |
577717 |
.allowed_escrs = { 23, 24, 25, 26, 27, 28, 29, 30 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_CCCR0",
|
|
Packit |
577717 |
.pmc = 25,
|
|
Packit |
577717 |
.pmd = 2,
|
|
Packit |
577717 |
.allowed_escrs = { 8, 9, 10, -1, -1, -1, -1, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_CCCR2",
|
|
Packit |
577717 |
.pmc = 56,
|
|
Packit |
577717 |
.pmd = 11,
|
|
Packit |
577717 |
.allowed_escrs = { 31, 32, 33, -1, -1, -1, -1, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_CCCR0",
|
|
Packit |
577717 |
.pmc = 27,
|
|
Packit |
577717 |
.pmd = 4,
|
|
Packit |
577717 |
.allowed_escrs = { 11, 12, 13, 14, -1, 15, -1, -1 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_CCCR2",
|
|
Packit |
577717 |
.pmc = 58,
|
|
Packit |
577717 |
.pmd = 13,
|
|
Packit |
577717 |
.allowed_escrs = { 34, 35, 36, 37, -1, 38, -1, -1 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR0",
|
|
Packit |
577717 |
.pmc = 29,
|
|
Packit |
577717 |
.pmd = 6,
|
|
Packit |
577717 |
.allowed_escrs = { 16, 17, 18, 19, 20, 21, 22, -1 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR2",
|
|
Packit |
577717 |
.pmc = 60,
|
|
Packit |
577717 |
.pmd = 15,
|
|
Packit |
577717 |
.allowed_escrs = { 39, 40, 41, -1, 42, 43, 44, -1 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR4",
|
|
Packit |
577717 |
.pmc = 31,
|
|
Packit |
577717 |
.pmd = 8,
|
|
Packit |
577717 |
.allowed_escrs = { 16, 17, 18, 19, 20, 21, 22, -1 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BPU_CCCR1",
|
|
Packit |
577717 |
.pmc = 24,
|
|
Packit |
577717 |
.pmd = 1,
|
|
Packit |
577717 |
.allowed_escrs = { 0, 1, 2, 3, 4, 5, 6, 7 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BPU_CCCR3",
|
|
Packit |
577717 |
.pmc = 55,
|
|
Packit |
577717 |
.pmd = 10,
|
|
Packit |
577717 |
.allowed_escrs = { 23, 24, 25, 26, 27, 28, 29, 30 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_CCCR1",
|
|
Packit |
577717 |
.pmc = 26,
|
|
Packit |
577717 |
.pmd = 3,
|
|
Packit |
577717 |
.allowed_escrs = { 8, 9, 10, -1, -1, -1, -1, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_CCCR3",
|
|
Packit |
577717 |
.pmc = 57,
|
|
Packit |
577717 |
.pmd = 12,
|
|
Packit |
577717 |
.allowed_escrs = { 31, 32, 33, -1, -1, -1, -1, -1, },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_CCCR1",
|
|
Packit |
577717 |
.pmc = 28,
|
|
Packit |
577717 |
.pmd = 5,
|
|
Packit |
577717 |
.allowed_escrs = { 11, 12, 13, 14, -1, 15, -1, -1 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_CCCR3",
|
|
Packit |
577717 |
.pmc = 59,
|
|
Packit |
577717 |
.pmd = 14,
|
|
Packit |
577717 |
.allowed_escrs = { 34, 35, 36, 37, -1, 38, -1, -1 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR1",
|
|
Packit |
577717 |
.pmc = 30,
|
|
Packit |
577717 |
.pmd = 7,
|
|
Packit |
577717 |
.allowed_escrs = { 16, 17, 18, 19, 20, 21, 22, -1 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR3",
|
|
Packit |
577717 |
.pmc = 61,
|
|
Packit |
577717 |
.pmd = 16,
|
|
Packit |
577717 |
.allowed_escrs = { 39, 40, 41, -1, 42, 43, 44, -1 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR5",
|
|
Packit |
577717 |
.pmc = 62,
|
|
Packit |
577717 |
.pmd = 17,
|
|
Packit |
577717 |
.allowed_escrs = { 39, 40, 41, -1, 42, 43, 44, -1 },
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
};
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define PENTIUM4_NUM_CCCRS (sizeof(pentium4_cccrs)/sizeof(pentium4_cccrs[0]))
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#define PENTIUM4_NUM_PMCS (PENTIUM4_NUM_CCCRS + PENTIUM4_NUM_ESCRS)
|
|
Packit |
577717 |
#define PENTIUM4_NUM_PMDS PENTIUM4_NUM_CCCRS
|
|
Packit |
577717 |
#define PENTIUM4_COUNTER_WIDTH 40
|
|
Packit |
577717 |
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/**
|
|
Packit |
577717 |
* pentium4_pmcs
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* Array of PMCs on the Pentium4, showing how they map to the ESCRs and CCCRs.
|
|
Packit |
577717 |
**/
|
|
Packit |
577717 |
pentium4_pmc_t pentium4_pmcs[PENTIUM4_NUM_PMCS] = {
|
|
Packit |
577717 |
{.name = "BPU_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IS_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MOB_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ITLB_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "PMH_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IX_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FSB_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 6,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BSU_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 7,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 8,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TC_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 9,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TBPU_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 10,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 11,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FIRM_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 12,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "SAAT_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 13,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "U2L_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 14,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DAC_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 16,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ALF_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 17,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RAT_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 18,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "SSU_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 19,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 20,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR2",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 21,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR4",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 22,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BPU_CCCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BPU_CCCR2",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_CCCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_CCCR2",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_CCCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_CCCR2",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR0",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 6,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR2",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 7,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR4",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 8,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BPU_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 23,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IS_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 24,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MOB_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 25,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ITLB_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 26,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "PMH_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 27,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IX_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 28,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FSB_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 29,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BSU_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 30,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 31,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TC_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 32,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TBPU_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 33,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 34,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FIRM_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 35,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "SAAT_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 36,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "U2L_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 37,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DAC_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 38,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 39,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ALF_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 40,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RAT_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 41,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 42,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR3",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 43,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CRU_ESCR5",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_ESCR,
|
|
Packit |
577717 |
.index = 44,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BPU_CCCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 9,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BPU_CCCR3",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 10,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_CCCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 11,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MS_CCCR3",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 12,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_CCCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 13,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FLAME_CCCR3",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 14,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR1",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR3",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 16,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IQ_CCCR5",
|
|
Packit |
577717 |
.type = PENTIUM4_PMC_TYPE_CCCR,
|
|
Packit |
577717 |
.index = 17,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
};
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/**
|
|
Packit |
577717 |
* pentium4_events
|
|
Packit |
577717 |
*
|
|
Packit |
577717 |
* Array of events that can be counted on Pentium4.
|
|
Packit |
577717 |
**/
|
|
Packit |
577717 |
pentium4_event_t pentium4_events[] = {
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 0 */
|
|
Packit |
577717 |
{.name = "TC_deliver_mode",
|
|
Packit |
577717 |
.desc = "The duration (in clock cycles) of the operating modes of "
|
|
Packit |
577717 |
"the trace cache and decode engine in the processor package.",
|
|
Packit |
577717 |
.event_select = 0x1,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 9, 32 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "DD",
|
|
Packit |
577717 |
.desc = "Both logical CPUs in deliver mode.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DB",
|
|
Packit |
577717 |
.desc = "Logical CPU 0 in deliver mode and "
|
|
Packit |
577717 |
"logical CPU 1 in build mode.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DI",
|
|
Packit |
577717 |
.desc = "Logical CPU 0 in deliver mode and logical CPU 1 "
|
|
Packit |
577717 |
"either halted, under machine clear condition, or "
|
|
Packit |
577717 |
"transitioning to a long microcode flow.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BD",
|
|
Packit |
577717 |
.desc = "Logical CPU 0 in build mode and "
|
|
Packit |
577717 |
"logical CPU 1 is in deliver mode.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BB",
|
|
Packit |
577717 |
.desc = "Both logical CPUs in build mode.",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BI",
|
|
Packit |
577717 |
.desc = "Logical CPU 0 in build mode and logical CPU 1 "
|
|
Packit |
577717 |
"either halted, under machine clear condition, or "
|
|
Packit |
577717 |
"transitioning to a long microcode flow.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ID",
|
|
Packit |
577717 |
.desc = "Logical CPU 0 either halted, under machine clear "
|
|
Packit |
577717 |
"condition, or transitioning to a long microcode "
|
|
Packit |
577717 |
"flow, and logical CPU 1 in deliver mode.",
|
|
Packit |
577717 |
.bit = 6,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "IB",
|
|
Packit |
577717 |
.desc = "Logical CPU 0 either halted, under machine clear "
|
|
Packit |
577717 |
"condition, or transitioning to a long microcode "
|
|
Packit |
577717 |
"flow, and logical CPU 1 in build mode.",
|
|
Packit |
577717 |
.bit = 7,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 1 */
|
|
Packit |
577717 |
{.name = "BPU_fetch_request",
|
|
Packit |
577717 |
.desc = "Instruction fetch requests by the Branch Prediction Unit.",
|
|
Packit |
577717 |
.event_select = 0x3,
|
|
Packit |
577717 |
.escr_select = 0x0,
|
|
Packit |
577717 |
.allowed_escrs = { 0, 23 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "TCMISS",
|
|
Packit |
577717 |
.desc = "Trace cache lookup miss.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 2 */
|
|
Packit |
577717 |
{.name = "ITLB_reference",
|
|
Packit |
577717 |
.desc = "Translations using the Instruction "
|
|
Packit |
577717 |
"Translation Look-Aside Buffer.",
|
|
Packit |
577717 |
.event_select = 0x18,
|
|
Packit |
577717 |
.escr_select = 0x3,
|
|
Packit |
577717 |
.allowed_escrs = { 3, 26 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "HIT",
|
|
Packit |
577717 |
.desc = "ITLB hit.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MISS",
|
|
Packit |
577717 |
.desc = "ITLB miss.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "HIT_UC",
|
|
Packit |
577717 |
.desc = "Uncacheable ITLB hit.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 3 */
|
|
Packit |
577717 |
{.name = "memory_cancel",
|
|
Packit |
577717 |
.desc = "Canceling of various types of requests in the "
|
|
Packit |
577717 |
"Data cache Address Control unit (DAC).",
|
|
Packit |
577717 |
.event_select = 0x2,
|
|
Packit |
577717 |
.escr_select = 0x5,
|
|
Packit |
577717 |
.allowed_escrs = { 15, 38 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "ST_RB_FULL",
|
|
Packit |
577717 |
.desc = "Replayed because no store request "
|
|
Packit |
577717 |
"buffer is available.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "64K_CONF",
|
|
Packit |
577717 |
.desc = "Conflicts due to 64K aliasing.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 4 */
|
|
Packit |
577717 |
{.name = "memory_complete",
|
|
Packit |
577717 |
.desc = "Completions of a load split, store split, "
|
|
Packit |
577717 |
"uncacheable (UC) split, or UC load.",
|
|
Packit |
577717 |
.event_select = 0x8,
|
|
Packit |
577717 |
.escr_select = 0x2,
|
|
Packit |
577717 |
.allowed_escrs = { 13, 36 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "LSC",
|
|
Packit |
577717 |
.desc = "Load split completed, excluding UC/WC loads.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "SSC",
|
|
Packit |
577717 |
.desc = "Any split stores completed.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 5 */
|
|
Packit |
577717 |
{.name = "load_port_replay",
|
|
Packit |
577717 |
.desc = "Replayed events at the load port.",
|
|
Packit |
577717 |
.event_select = 0x4,
|
|
Packit |
577717 |
.escr_select = 0x2,
|
|
Packit |
577717 |
.allowed_escrs = { 13, 36 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "SPLIT_LD",
|
|
Packit |
577717 |
.desc = "Split load.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 6 */
|
|
Packit |
577717 |
{.name = "store_port_replay",
|
|
Packit |
577717 |
.desc = "Replayed events at the store port.",
|
|
Packit |
577717 |
.event_select = 0x5,
|
|
Packit |
577717 |
.escr_select = 0x2,
|
|
Packit |
577717 |
.allowed_escrs = { 13, 36 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "SPLIT_ST",
|
|
Packit |
577717 |
.desc = "Split store.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 7 */
|
|
Packit |
577717 |
{.name = "MOB_load_replay",
|
|
Packit |
577717 |
.desc = "Count of times the memory order buffer (MOB) "
|
|
Packit |
577717 |
"caused a load operation to be replayed.",
|
|
Packit |
577717 |
.event_select = 0x3,
|
|
Packit |
577717 |
.escr_select = 0x2,
|
|
Packit |
577717 |
.allowed_escrs = { 2, 25 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "NO_STA",
|
|
Packit |
577717 |
.desc = "Replayed because of unknown store address.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "NO_STD",
|
|
Packit |
577717 |
.desc = "Replayed because of unknown store data.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "PARTIAL_DATA",
|
|
Packit |
577717 |
.desc = "Replayed because of partially overlapped data "
|
|
Packit |
577717 |
"access between the load and store operations.",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "UNALGN_ADDR",
|
|
Packit |
577717 |
.desc = "Replayed because the lower 4 bits of the "
|
|
Packit |
577717 |
"linear address do not match between the "
|
|
Packit |
577717 |
"load and store operations.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 8 */
|
|
Packit |
577717 |
{.name = "page_walk_type",
|
|
Packit |
577717 |
.desc = "Page walks that the page miss handler (PMH) performs.",
|
|
Packit |
577717 |
.event_select = 0x1,
|
|
Packit |
577717 |
.escr_select = 0x4,
|
|
Packit |
577717 |
.allowed_escrs = { 4, 27 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "DTMISS",
|
|
Packit |
577717 |
.desc = "Page walk for a data TLB miss (load or store)",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ITMISS",
|
|
Packit |
577717 |
.desc = "Page walk for an instruction TLB miss",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 9 */
|
|
Packit |
577717 |
{.name = "BSQ_cache_reference",
|
|
Packit |
577717 |
.desc = "Cache references (2nd or 3rd level caches) as seen by the "
|
|
Packit |
577717 |
"bus unit. Read types include both load and RFO, and write "
|
|
Packit |
577717 |
"types include writebacks and evictions.",
|
|
Packit |
577717 |
.event_select = 0xC,
|
|
Packit |
577717 |
.escr_select = 0x7,
|
|
Packit |
577717 |
.allowed_escrs = { 7, 30 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "RD_2ndL_HITS",
|
|
Packit |
577717 |
.desc = "Read 2nd level cache hit Shared.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RD_2ndL_HITE",
|
|
Packit |
577717 |
.desc = "Read 2nd level cache hit Exclusive.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RD_2ndL_HITM",
|
|
Packit |
577717 |
.desc = "Read 2nd level cache hit Modified.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RD_3rdL_HITS",
|
|
Packit |
577717 |
.desc = "Read 3rd level cache hit Shared.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RD_3rdL_HITE",
|
|
Packit |
577717 |
.desc = "Read 3rd level cache hit Exclusive.",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RD_3rdL_HITM",
|
|
Packit |
577717 |
.desc = "Read 3rd level cache hit Modified.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RD_2ndL_MISS",
|
|
Packit |
577717 |
.desc = "Read 2nd level cache miss.",
|
|
Packit |
577717 |
.bit = 8,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RD_3rdL_MISS",
|
|
Packit |
577717 |
.desc = "Read 3rd level cache miss.",
|
|
Packit |
577717 |
.bit = 9,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "WR_2ndL_MISS",
|
|
Packit |
577717 |
.desc = "A writeback lookup from DAC misses the 2nd "
|
|
Packit |
577717 |
"level cache (unlikely to happen)",
|
|
Packit |
577717 |
.bit = 10,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 10 */
|
|
Packit |
577717 |
{.name = "IOQ_allocation",
|
|
Packit |
577717 |
.desc = "Count of various types of transactions on the bus. A count "
|
|
Packit |
577717 |
"is generated each time a transaction is allocated into the "
|
|
Packit |
577717 |
"IOQ that matches the specified mask bits. An allocated entry "
|
|
Packit |
577717 |
"can be a sector (64 bytes) or a chunk of 8 bytes. Requests "
|
|
Packit |
577717 |
"are counted once per retry. All 'TYPE_BIT*' event-masks "
|
|
Packit |
577717 |
"together are treated as a single 5-bit value.",
|
|
Packit |
577717 |
.event_select = 0x3,
|
|
Packit |
577717 |
.escr_select = 0x6,
|
|
Packit |
577717 |
.allowed_escrs = { 6, 29 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "TYPE_BIT0",
|
|
Packit |
577717 |
.desc = "Bus request type (bit 0).",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TYPE_BIT1",
|
|
Packit |
577717 |
.desc = "Bus request type (bit 1).",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TYPE_BIT2",
|
|
Packit |
577717 |
.desc = "Bus request type (bit 2).",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TYPE_BIT3",
|
|
Packit |
577717 |
.desc = "Bus request type (bit 3).",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TYPE_BIT4",
|
|
Packit |
577717 |
.desc = "Bus request type (bit 4).",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ALL_READ",
|
|
Packit |
577717 |
.desc = "Count read entries.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ALL_WRITE",
|
|
Packit |
577717 |
.desc = "Count write entries.",
|
|
Packit |
577717 |
.bit = 6,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_UC",
|
|
Packit |
577717 |
.desc = "Count UC memory access entries.",
|
|
Packit |
577717 |
.bit = 7,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_WC",
|
|
Packit |
577717 |
.desc = "Count WC memory access entries.",
|
|
Packit |
577717 |
.bit = 8,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_WT",
|
|
Packit |
577717 |
.desc = "Count write-through (WT) memory access entries.",
|
|
Packit |
577717 |
.bit = 9,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_WP",
|
|
Packit |
577717 |
.desc = "Count write-protected (WP) memory access entries.",
|
|
Packit |
577717 |
.bit = 10,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_WB",
|
|
Packit |
577717 |
.desc = "Count WB memory access entries.",
|
|
Packit |
577717 |
.bit = 11,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "OWN",
|
|
Packit |
577717 |
.desc = "Count all store requests driven by processor, as "
|
|
Packit |
577717 |
"opposed to other processor or DMA.",
|
|
Packit |
577717 |
.bit = 13,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "OTHER",
|
|
Packit |
577717 |
.desc = "Count all requests driven by other "
|
|
Packit |
577717 |
"processors or DMA.",
|
|
Packit |
577717 |
.bit = 14,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "PREFETCH",
|
|
Packit |
577717 |
.desc = "Include HW and SW prefetch requests in the count.",
|
|
Packit |
577717 |
.bit = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 11 */
|
|
Packit |
577717 |
{.name = "IOQ_active_entries",
|
|
Packit |
577717 |
.desc = "Number of entries (clipped at 15) in the IOQ that are "
|
|
Packit |
577717 |
"active. An allocated entry can be a sector (64 bytes) "
|
|
Packit |
577717 |
"or a chunk of 8 bytes. This event must be programmed in "
|
|
Packit |
577717 |
"conjuction with IOQ_allocation. All 'TYPE_BIT*' event-masks "
|
|
Packit |
577717 |
"together are treated as a single 5-bit value.",
|
|
Packit |
577717 |
.event_select = 0x1A,
|
|
Packit |
577717 |
.escr_select = 0x6,
|
|
Packit |
577717 |
.allowed_escrs = { 29, -1 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "TYPE_BIT0",
|
|
Packit |
577717 |
.desc = "Bus request type (bit 0).",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TYPE_BIT1",
|
|
Packit |
577717 |
.desc = "Bus request type (bit 1).",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TYPE_BIT2",
|
|
Packit |
577717 |
.desc = "Bus request type (bit 2).",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TYPE_BIT3",
|
|
Packit |
577717 |
.desc = "Bus request type (bit 3).",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TYPE_BIT4",
|
|
Packit |
577717 |
.desc = "Bus request type (bit 4).",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ALL_READ",
|
|
Packit |
577717 |
.desc = "Count read entries.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "ALL_WRITE",
|
|
Packit |
577717 |
.desc = "Count write entries.",
|
|
Packit |
577717 |
.bit = 6,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_UC",
|
|
Packit |
577717 |
.desc = "Count UC memory access entries.",
|
|
Packit |
577717 |
.bit = 7,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_WC",
|
|
Packit |
577717 |
.desc = "Count WC memory access entries.",
|
|
Packit |
577717 |
.bit = 8,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_WT",
|
|
Packit |
577717 |
.desc = "Count write-through (WT) memory access entries.",
|
|
Packit |
577717 |
.bit = 9,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_WP",
|
|
Packit |
577717 |
.desc = "Count write-protected (WP) memory access entries.",
|
|
Packit |
577717 |
.bit = 10,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_WB",
|
|
Packit |
577717 |
.desc = "Count WB memory access entries.",
|
|
Packit |
577717 |
.bit = 11,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "OWN",
|
|
Packit |
577717 |
.desc = "Count all store requests driven by processor, as "
|
|
Packit |
577717 |
"opposed to other processor or DMA.",
|
|
Packit |
577717 |
.bit = 13,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "OTHER",
|
|
Packit |
577717 |
.desc = "Count all requests driven by other "
|
|
Packit |
577717 |
"processors or DMA.",
|
|
Packit |
577717 |
.bit = 14,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "PREFETCH",
|
|
Packit |
577717 |
.desc = "Include HW and SW prefetch requests in the count.",
|
|
Packit |
577717 |
.bit = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 12 */
|
|
Packit |
577717 |
{.name = "FSB_data_activity",
|
|
Packit |
577717 |
.desc = "Count of DRDY or DBSY events that "
|
|
Packit |
577717 |
"occur on the front side bus.",
|
|
Packit |
577717 |
.event_select = 0x17,
|
|
Packit |
577717 |
.escr_select = 0x6,
|
|
Packit |
577717 |
.allowed_escrs = { 6, 29 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "DRDY_DRV",
|
|
Packit |
577717 |
.desc = "Count when this processor drives data onto the bus. "
|
|
Packit |
577717 |
"Includes writes and implicit writebacks.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DRDY_OWN",
|
|
Packit |
577717 |
.desc = "Count when this processor reads data from the bus. "
|
|
Packit |
577717 |
"Includes loads and some PIC transactions. Count "
|
|
Packit |
577717 |
"DRDY events that we drive. Count DRDY events sampled "
|
|
Packit |
577717 |
"that we own.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DRDY_OTHER",
|
|
Packit |
577717 |
.desc = "Count when data is on the bus but not being sampled "
|
|
Packit |
577717 |
"by the processor. It may or may not be driven by "
|
|
Packit |
577717 |
"this processor.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DBSY_DRV",
|
|
Packit |
577717 |
.desc = "Count when this processor reserves the bus for use "
|
|
Packit |
577717 |
"in the next bus cycle in order to drive data.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DBSY_OWN",
|
|
Packit |
577717 |
.desc = "Count when some agent reserves the bus for use in "
|
|
Packit |
577717 |
"the next bus cycle to drive data that this processor "
|
|
Packit |
577717 |
"will sample.",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DBSY_OTHER",
|
|
Packit |
577717 |
.desc = "Count when some agent reserves the bus for use in "
|
|
Packit |
577717 |
"the next bus cycle to drive data that this processor "
|
|
Packit |
577717 |
"will NOT sample. It may or may not be being driven "
|
|
Packit |
577717 |
"by this processor.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 13 */
|
|
Packit |
577717 |
{.name = "BSQ_allocation",
|
|
Packit |
577717 |
.desc = "Allocations in the Bus Sequence Unit (BSQ). The event mask "
|
|
Packit |
577717 |
"bits consist of four sub-groups: request type, request "
|
|
Packit |
577717 |
"length, memory type, and a sub-group consisting mostly of "
|
|
Packit |
577717 |
"independent bits (5 through 10). Must specify a mask for "
|
|
Packit |
577717 |
"each sub-group.",
|
|
Packit |
577717 |
.event_select = 0x5,
|
|
Packit |
577717 |
.escr_select = 0x7,
|
|
Packit |
577717 |
.allowed_escrs = { 7, -1 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "REQ_TYPE0",
|
|
Packit |
577717 |
.desc = "Along with REQ_TYPE1, request type encodings are: "
|
|
Packit |
577717 |
"0 - Read (excludes read invalidate), 1 - Read "
|
|
Packit |
577717 |
"invalidate, 2 - Write (other than writebacks), 3 - "
|
|
Packit |
577717 |
"Writeback (evicted from cache).",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_TYPE1",
|
|
Packit |
577717 |
.desc = "Along with REQ_TYPE0, request type encodings are: "
|
|
Packit |
577717 |
"0 - Read (excludes read invalidate), 1 - Read "
|
|
Packit |
577717 |
"invalidate, 2 - Write (other than writebacks), 3 - "
|
|
Packit |
577717 |
"Writeback (evicted from cache).",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_LEN0",
|
|
Packit |
577717 |
.desc = "Along with REQ_LEN1, request length encodings are: "
|
|
Packit |
577717 |
"0 - zero chunks, 1 - one chunk, 3 - eight chunks.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_LEN1",
|
|
Packit |
577717 |
.desc = "Along with REQ_LEN0, request length encodings are: "
|
|
Packit |
577717 |
"0 - zero chunks, 1 - one chunk, 3 - eight chunks.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_IO_TYPE",
|
|
Packit |
577717 |
.desc = "Request type is input or output.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_LOCK_TYPE",
|
|
Packit |
577717 |
.desc = "Request type is bus lock.",
|
|
Packit |
577717 |
.bit = 6,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_CACHE_TYPE",
|
|
Packit |
577717 |
.desc = "Request type is cacheable.",
|
|
Packit |
577717 |
.bit = 7,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_SPLIT_TYPE",
|
|
Packit |
577717 |
.desc = "Request type is a bus 8-byte chunk split across "
|
|
Packit |
577717 |
"an 8-byte boundary.",
|
|
Packit |
577717 |
.bit = 8,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_DEM_TYPE",
|
|
Packit |
577717 |
.desc = "0: Request type is HW.SW prefetch. "
|
|
Packit |
577717 |
"1: Request type is a demand.",
|
|
Packit |
577717 |
.bit = 9,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_ORD_TYPE",
|
|
Packit |
577717 |
.desc = "Request is an ordered type.",
|
|
Packit |
577717 |
.bit = 10,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_TYPE0",
|
|
Packit |
577717 |
.desc = "Along with MEM_TYPE1 and MEM_TYPE2, "
|
|
Packit |
577717 |
"memory type encodings are: 0 - UC, "
|
|
Packit |
577717 |
"1 - USWC, 4- WT, 5 - WP, 6 - WB",
|
|
Packit |
577717 |
.bit = 11,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_TYPE1",
|
|
Packit |
577717 |
.desc = "Along with MEM_TYPE0 and MEM_TYPE2, "
|
|
Packit |
577717 |
"memory type encodings are: 0 - UC, "
|
|
Packit |
577717 |
"1 - USWC, 4- WT, 5 - WP, 6 - WB",
|
|
Packit |
577717 |
.bit = 12,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_TYPE2",
|
|
Packit |
577717 |
.desc = "Along with MEM_TYPE0 and MEM_TYPE1, "
|
|
Packit |
577717 |
"memory type encodings are: 0 - UC, "
|
|
Packit |
577717 |
"1 - USWC, 4- WT, 5 - WP, 6 - WB",
|
|
Packit |
577717 |
.bit = 13,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 14 */
|
|
Packit |
577717 |
{.name = "BSQ_active_entries",
|
|
Packit |
577717 |
.desc = "Number of BSQ entries (clipped at 15) currently active "
|
|
Packit |
577717 |
"(valid) which meet the subevent mask criteria during "
|
|
Packit |
577717 |
"allocation in the BSQ. Active request entries are allocated "
|
|
Packit |
577717 |
"on the BSQ until de-allocated. De-allocation of an entry "
|
|
Packit |
577717 |
"does not necessarily imply the request is filled. This "
|
|
Packit |
577717 |
"event must be programmed in conjunction with BSQ_allocation.",
|
|
Packit |
577717 |
.event_select = 0x6,
|
|
Packit |
577717 |
.escr_select = 0x7,
|
|
Packit |
577717 |
.allowed_escrs = { 30, -1 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "REQ_TYPE0",
|
|
Packit |
577717 |
.desc = "Along with REQ_TYPE1, request type encodings are: "
|
|
Packit |
577717 |
"0 - Read (excludes read invalidate), 1 - Read "
|
|
Packit |
577717 |
"invalidate, 2 - Write (other than writebacks), 3 - "
|
|
Packit |
577717 |
"Writeback (evicted from cache).",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_TYPE1",
|
|
Packit |
577717 |
.desc = "Along with REQ_TYPE0, request type encodings are: "
|
|
Packit |
577717 |
"0 - Read (excludes read invalidate), 1 - Read "
|
|
Packit |
577717 |
"invalidate, 2 - Write (other than writebacks), 3 - "
|
|
Packit |
577717 |
"Writeback (evicted from cache).",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_LEN0",
|
|
Packit |
577717 |
.desc = "Along with REQ_LEN1, request length encodings are: "
|
|
Packit |
577717 |
"0 - zero chunks, 1 - one chunk, 3 - eight chunks.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_LEN1",
|
|
Packit |
577717 |
.desc = "Along with REQ_LEN0, request length encodings are: "
|
|
Packit |
577717 |
"0 - zero chunks, 1 - one chunk, 3 - eight chunks.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_IO_TYPE",
|
|
Packit |
577717 |
.desc = "Request type is input or output.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_LOCK_TYPE",
|
|
Packit |
577717 |
.desc = "Request type is bus lock.",
|
|
Packit |
577717 |
.bit = 6,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_CACHE_TYPE",
|
|
Packit |
577717 |
.desc = "Request type is cacheable.",
|
|
Packit |
577717 |
.bit = 7,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_SPLIT_TYPE",
|
|
Packit |
577717 |
.desc = "Request type is a bus 8-byte chunk split across "
|
|
Packit |
577717 |
"an 8-byte boundary.",
|
|
Packit |
577717 |
.bit = 8,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_DEM_TYPE",
|
|
Packit |
577717 |
.desc = "0: Request type is HW.SW prefetch. "
|
|
Packit |
577717 |
"1: Request type is a demand.",
|
|
Packit |
577717 |
.bit = 9,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "REQ_ORD_TYPE",
|
|
Packit |
577717 |
.desc = "Request is an ordered type.",
|
|
Packit |
577717 |
.bit = 10,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_TYPE0",
|
|
Packit |
577717 |
.desc = "Along with MEM_TYPE1 and MEM_TYPE2, "
|
|
Packit |
577717 |
"memory type encodings are: 0 - UC, "
|
|
Packit |
577717 |
"1 - USWC, 4- WT, 5 - WP, 6 - WB",
|
|
Packit |
577717 |
.bit = 11,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_TYPE1",
|
|
Packit |
577717 |
.desc = "Along with MEM_TYPE0 and MEM_TYPE2, "
|
|
Packit |
577717 |
"memory type encodings are: 0 - UC, "
|
|
Packit |
577717 |
"1 - USWC, 4- WT, 5 - WP, 6 - WB",
|
|
Packit |
577717 |
.bit = 12,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MEM_TYPE2",
|
|
Packit |
577717 |
.desc = "Along with MEM_TYPE0 and MEM_TYPE1, "
|
|
Packit |
577717 |
"memory type encodings are: 0 - UC, "
|
|
Packit |
577717 |
"1 - USWC, 4- WT, 5 - WP, 6 - WB",
|
|
Packit |
577717 |
.bit = 13,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 15 */
|
|
Packit |
577717 |
{.name = "SSE_input_assist",
|
|
Packit |
577717 |
.desc = "Number of times an assist is requested to handle problems "
|
|
Packit |
577717 |
"with input operands for SSE/SSE2/SSE3 operations; most "
|
|
Packit |
577717 |
"notably denormal source operands when the DAZ bit isn't set.",
|
|
Packit |
577717 |
.event_select = 0x34,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 12, 35 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "ALL",
|
|
Packit |
577717 |
.desc = "Count assists for SSE/SSE2/SSE3 uops.",
|
|
Packit |
577717 |
.bit = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 16 */
|
|
Packit |
577717 |
{.name = "packed_SP_uop",
|
|
Packit |
577717 |
.desc = "Number of packed single-precision uops.",
|
|
Packit |
577717 |
.event_select = 0x8,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 12, 35 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "ALL",
|
|
Packit |
577717 |
.desc = "Count all uops operating on packed "
|
|
Packit |
577717 |
"single-precisions operands.",
|
|
Packit |
577717 |
.bit = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG0",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 0 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 16,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG1",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 1 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 17,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG2",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 2 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 18,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG3",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 3 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 19,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 17 */
|
|
Packit |
577717 |
{.name = "packed_DP_uop",
|
|
Packit |
577717 |
.desc = "Number of packed double-precision uops.",
|
|
Packit |
577717 |
.event_select = 0xC,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 12, 35 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "ALL",
|
|
Packit |
577717 |
.desc = "Count all uops operating on packed "
|
|
Packit |
577717 |
"double-precisions operands.",
|
|
Packit |
577717 |
.bit = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG0",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 0 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 16,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG1",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 1 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 17,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG2",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 2 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 18,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG3",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 3 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 19,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 18 */
|
|
Packit |
577717 |
{.name = "scalar_SP_uop",
|
|
Packit |
577717 |
.desc = "Number of scalar single-precision uops.",
|
|
Packit |
577717 |
.event_select = 0xA,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 12, 35 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "ALL",
|
|
Packit |
577717 |
.desc = "Count all uops operating on scalar "
|
|
Packit |
577717 |
"single-precisions operands.",
|
|
Packit |
577717 |
.bit = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG0",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 0 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 16,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG1",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 1 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 17,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG2",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 2 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 18,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG3",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 3 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 19,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 19 */
|
|
Packit |
577717 |
{.name = "scalar_DP_uop",
|
|
Packit |
577717 |
.desc = "Number of scalar double-precision uops.",
|
|
Packit |
577717 |
.event_select = 0xE,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 12, 35 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "ALL",
|
|
Packit |
577717 |
.desc = "Count all uops operating on scalar "
|
|
Packit |
577717 |
"double-precisions operands.",
|
|
Packit |
577717 |
.bit = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG0",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 0 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 16,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG1",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 1 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 17,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG2",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 2 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 18,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG3",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 3 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 19,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 20 */
|
|
Packit |
577717 |
{.name = "64bit_MMX_uop",
|
|
Packit |
577717 |
.desc = "Number of MMX instructions which "
|
|
Packit |
577717 |
"operate on 64-bit SIMD operands.",
|
|
Packit |
577717 |
.event_select = 0x2,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 12, 35 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "ALL",
|
|
Packit |
577717 |
.desc = "Count all uops operating on 64-bit SIMD integer "
|
|
Packit |
577717 |
"operands in memory or MMX registers.",
|
|
Packit |
577717 |
.bit = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG0",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 0 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 16,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG1",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 1 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 17,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG2",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 2 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 18,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG3",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 3 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 19,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 21 */
|
|
Packit |
577717 |
{.name = "128bit_MMX_uop",
|
|
Packit |
577717 |
.desc = "Number of MMX instructions which "
|
|
Packit |
577717 |
"operate on 128-bit SIMD operands.",
|
|
Packit |
577717 |
.event_select = 0x1A,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 12, 35 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "ALL",
|
|
Packit |
577717 |
.desc = "Count all uops operating on 128-bit SIMD integer "
|
|
Packit |
577717 |
"operands in memory or MMX registers.",
|
|
Packit |
577717 |
.bit = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG0",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 0 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 16,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG1",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 1 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 17,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG2",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 2 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 18,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG3",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 3 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 19,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 22 */
|
|
Packit |
577717 |
{.name = "x87_FP_uop",
|
|
Packit |
577717 |
.desc = "Number of x87 floating-point uops.",
|
|
Packit |
577717 |
.event_select = 0x4,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 12, 35 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "ALL",
|
|
Packit |
577717 |
.desc = "Count all x87 FP uops.",
|
|
Packit |
577717 |
.bit = 15,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG0",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 0 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 16,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG1",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 1 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 17,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG2",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 2 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 18,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAG3",
|
|
Packit |
577717 |
.desc = "Tag this event with tag bit 3 "
|
|
Packit |
577717 |
"for retirement counting with execution_event.",
|
|
Packit |
577717 |
.bit = 19,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 23 */
|
|
Packit |
577717 |
{.name = "TC_misc",
|
|
Packit |
577717 |
.desc = "Miscellaneous events detected by the TC. The counter will "
|
|
Packit |
577717 |
"count twice for each occurrence.",
|
|
Packit |
577717 |
.event_select = 0x6,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 9, 32 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "FLUSH",
|
|
Packit |
577717 |
.desc = "Number of flushes",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 24 */
|
|
Packit |
577717 |
{.name = "global_power_events",
|
|
Packit |
577717 |
.desc = "Counts the time during which a processor is not stopped.",
|
|
Packit |
577717 |
.event_select = 0x13,
|
|
Packit |
577717 |
.escr_select = 0x6,
|
|
Packit |
577717 |
.allowed_escrs = { 6, 29 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "RUNNING",
|
|
Packit |
577717 |
.desc = "The processor is active (includes the "
|
|
Packit |
577717 |
"handling of HLT STPCLK and throttling.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 25 */
|
|
Packit |
577717 |
{.name = "tc_ms_xfer",
|
|
Packit |
577717 |
.desc = "Number of times that uop delivery changed from TC to MS ROM.",
|
|
Packit |
577717 |
.event_select = 0x5,
|
|
Packit |
577717 |
.escr_select = 0x0,
|
|
Packit |
577717 |
.allowed_escrs = { 8, 31 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "CISC",
|
|
Packit |
577717 |
.desc = "A TC to MS transfer occurred.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 26 */
|
|
Packit |
577717 |
{.name = "uop_queue_writes",
|
|
Packit |
577717 |
.desc = "Number of valid uops written to the uop queue.",
|
|
Packit |
577717 |
.event_select = 0x9,
|
|
Packit |
577717 |
.escr_select = 0x0,
|
|
Packit |
577717 |
.allowed_escrs = { 8, 31 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "FROM_TC_BUILD",
|
|
Packit |
577717 |
.desc = "The uops being written are from TC build mode.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FROM_TC_DELIVER",
|
|
Packit |
577717 |
.desc = "The uops being written are from TC deliver mode.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FROM_ROM",
|
|
Packit |
577717 |
.desc = "The uops being written are from microcode ROM.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 27 */
|
|
Packit |
577717 |
{.name = "retired_mispred_branch_type",
|
|
Packit |
577717 |
.desc = "Number of retiring mispredicted branches by type.",
|
|
Packit |
577717 |
.event_select = 0x5,
|
|
Packit |
577717 |
.escr_select = 0x2,
|
|
Packit |
577717 |
.allowed_escrs = { 10, 33 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "CONDITIONAL",
|
|
Packit |
577717 |
.desc = "Conditional jumps.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CALL",
|
|
Packit |
577717 |
.desc = "Indirect call branches.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RETURN",
|
|
Packit |
577717 |
.desc = "Return branches.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "INDIRECT",
|
|
Packit |
577717 |
.desc = "Returns, indirect calls, or indirect jumps.",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 28 */
|
|
Packit |
577717 |
{.name = "retired_branch_type",
|
|
Packit |
577717 |
.desc = "Number of retiring branches by type.",
|
|
Packit |
577717 |
.event_select = 0x4,
|
|
Packit |
577717 |
.escr_select = 0x2,
|
|
Packit |
577717 |
.allowed_escrs = { 10, 33 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "CONDITIONAL",
|
|
Packit |
577717 |
.desc = "Conditional jumps.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "CALL",
|
|
Packit |
577717 |
.desc = "Indirect call branches.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "RETURN",
|
|
Packit |
577717 |
.desc = "Return branches.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "INDIRECT",
|
|
Packit |
577717 |
.desc = "Returns, indirect calls, or indirect jumps.",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 29 */
|
|
Packit |
577717 |
{.name = "resource_stall",
|
|
Packit |
577717 |
.desc = "Occurrences of latency or stalls in the Allocator.",
|
|
Packit |
577717 |
.event_select = 0x1,
|
|
Packit |
577717 |
.escr_select = 0x1,
|
|
Packit |
577717 |
.allowed_escrs = { 17, 40 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "SBFULL",
|
|
Packit |
577717 |
.desc = "A stall due to lack of store buffers.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 30 */
|
|
Packit |
577717 |
{.name = "WC_Buffer",
|
|
Packit |
577717 |
.desc = "Number of Write Combining Buffer operations.",
|
|
Packit |
577717 |
.event_select = 0x5,
|
|
Packit |
577717 |
.escr_select = 0x5,
|
|
Packit |
577717 |
.allowed_escrs = { 15, 38 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "WCB_EVICTS",
|
|
Packit |
577717 |
.desc = "WC Buffer evictions of all causes.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "WCB_FULL_EVICT",
|
|
Packit |
577717 |
.desc = "WC Buffer eviction; no WC buffer is available.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 31 */
|
|
Packit |
577717 |
{.name = "b2b_cycles",
|
|
Packit |
577717 |
.desc = "Number of back-to-back bus cycles",
|
|
Packit |
577717 |
.event_select = 0x16,
|
|
Packit |
577717 |
.escr_select = 0x3,
|
|
Packit |
577717 |
.allowed_escrs = { 6, 29 },
|
|
Packit |
577717 |
/* FIXME: Appendix A is missing event-mask info.
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name =
|
|
Packit |
577717 |
.desc =
|
|
Packit |
577717 |
.bit =
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
*/
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
/* 32 */
|
|
Packit |
577717 |
{.name = "bnr",
|
|
Packit |
577717 |
.desc = "Number of bus-not-ready conditions.",
|
|
Packit |
577717 |
.event_select = 0x8,
|
|
Packit |
577717 |
.escr_select = 0x3,
|
|
Packit |
577717 |
.allowed_escrs = { 6, 29 },
|
|
Packit |
577717 |
/* FIXME: Appendix A is missing event-mask info.
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name =
|
|
Packit |
577717 |
.desc =
|
|
Packit |
577717 |
.bit =
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
*/
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 33 */
|
|
Packit |
577717 |
{.name = "snoop",
|
|
Packit |
577717 |
.desc = "Number of snoop hit modified bus traffic.",
|
|
Packit |
577717 |
.event_select = 0x6,
|
|
Packit |
577717 |
.escr_select = 0x3,
|
|
Packit |
577717 |
.allowed_escrs = { 6, 29 },
|
|
Packit |
577717 |
/* FIXME: Appendix A is missing event-mask info.
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name =
|
|
Packit |
577717 |
.desc =
|
|
Packit |
577717 |
.bit =
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
*/
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 34 */
|
|
Packit |
577717 |
{.name = "response",
|
|
Packit |
577717 |
.desc = "Count of different types of responses.",
|
|
Packit |
577717 |
.event_select = 0x4,
|
|
Packit |
577717 |
.escr_select = 0x3,
|
|
Packit |
577717 |
.allowed_escrs = { 6, 29 },
|
|
Packit |
577717 |
/* FIXME: Appendix A is missing event-mask info.
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name =
|
|
Packit |
577717 |
.desc =
|
|
Packit |
577717 |
.bit =
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
*/
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 35 */
|
|
Packit |
577717 |
{.name = "front_end_event",
|
|
Packit |
577717 |
.desc = "Number of retirements of tagged uops which are specified "
|
|
Packit |
577717 |
"through the front-end tagging mechanism.",
|
|
Packit |
577717 |
.event_select = 0x8,
|
|
Packit |
577717 |
.escr_select = 0x5,
|
|
Packit |
577717 |
.allowed_escrs = { 21, 43 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "NBOGUS",
|
|
Packit |
577717 |
.desc = "The marked uops are not bogus.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BOGUS",
|
|
Packit |
577717 |
.desc = "The marked uops are bogus.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 36 */
|
|
Packit |
577717 |
{.name = "execution_event",
|
|
Packit |
577717 |
.desc = "Number of retirements of tagged uops which are specified "
|
|
Packit |
577717 |
"through the execution tagging mechanism. The event-mask "
|
|
Packit |
577717 |
"allows from one to four types of uops to be tagged.",
|
|
Packit |
577717 |
.event_select = 0xC,
|
|
Packit |
577717 |
.escr_select = 0x5,
|
|
Packit |
577717 |
.allowed_escrs = { 21, 43 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "NBOGUS0",
|
|
Packit |
577717 |
.desc = "The marked uops are not bogus.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "NBOGUS1",
|
|
Packit |
577717 |
.desc = "The marked uops are not bogus.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "NBOGUS2",
|
|
Packit |
577717 |
.desc = "The marked uops are not bogus.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "NBOGUS3",
|
|
Packit |
577717 |
.desc = "The marked uops are not bogus.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BOGUS0",
|
|
Packit |
577717 |
.desc = "The marked uops are bogus.",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BOGUS1",
|
|
Packit |
577717 |
.desc = "The marked uops are bogus.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BOGUS2",
|
|
Packit |
577717 |
.desc = "The marked uops are bogus.",
|
|
Packit |
577717 |
.bit = 6,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BOGUS3",
|
|
Packit |
577717 |
.desc = "The marked uops are bogus.",
|
|
Packit |
577717 |
.bit = 7,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 37 */
|
|
Packit |
577717 |
{.name = "replay_event",
|
|
Packit |
577717 |
.desc = "Number of retirements of tagged uops which are specified "
|
|
Packit |
577717 |
"through the replay tagging mechanism.",
|
|
Packit |
577717 |
.event_select = 0x9,
|
|
Packit |
577717 |
.escr_select = 0x5,
|
|
Packit |
577717 |
.allowed_escrs = { 21, 43 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "NBOGUS",
|
|
Packit |
577717 |
.desc = "The marked uops are not bogus.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BOGUS",
|
|
Packit |
577717 |
.desc = "The marked uops are bogus.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "L1_LD_MISS",
|
|
Packit |
577717 |
.desc = "Virtual mask for L1 cache load miss replays.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "L2_LD_MISS",
|
|
Packit |
577717 |
.desc = "Virtual mask for L2 cache load miss replays.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DTLB_LD_MISS",
|
|
Packit |
577717 |
.desc = "Virtual mask for DTLB load miss replays.",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DTLB_ST_MISS",
|
|
Packit |
577717 |
.desc = "Virtual mask for DTLB store miss replays.",
|
|
Packit |
577717 |
.bit = 5,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "DTLB_ALL_MISS",
|
|
Packit |
577717 |
.desc = "Virtual mask for all DTLB miss replays.",
|
|
Packit |
577717 |
.bit = 6,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BR_MSP",
|
|
Packit |
577717 |
.desc = "Virtual mask for tagged mispredicted branch replays.",
|
|
Packit |
577717 |
.bit = 7,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MOB_LD_REPLAY",
|
|
Packit |
577717 |
.desc = "Virtual mask for MOB load replays.",
|
|
Packit |
577717 |
.bit = 8,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "SP_LD_RET",
|
|
Packit |
577717 |
.desc = "Virtual mask for split load replays. Use with load_port_replay event.",
|
|
Packit |
577717 |
.bit = 9,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "SP_ST_RET",
|
|
Packit |
577717 |
.desc = "Virtual mask for split store replays. Use with store_port_replay event.",
|
|
Packit |
577717 |
.bit = 10,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 38 */
|
|
Packit |
577717 |
{.name = "instr_retired",
|
|
Packit |
577717 |
.desc = "Number of instructions retired during a clock cycle.",
|
|
Packit |
577717 |
.event_select = 0x2,
|
|
Packit |
577717 |
.escr_select = 0x4,
|
|
Packit |
577717 |
.allowed_escrs = { 20, 42 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "NBOGUSNTAG",
|
|
Packit |
577717 |
.desc = "Non-bogus instructions that are not tagged.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "NBOGUSTAG",
|
|
Packit |
577717 |
.desc = "Non-bogus instructions that are tagged.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BOGUSNTAG",
|
|
Packit |
577717 |
.desc = "Bogus instructions that are not tagged.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BOGUSTAG",
|
|
Packit |
577717 |
.desc = "Bogus instructions that are tagged.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 39 */
|
|
Packit |
577717 |
{.name = "uops_retired",
|
|
Packit |
577717 |
.desc = "Number of uops retired during a clock cycle.",
|
|
Packit |
577717 |
.event_select = 0x1,
|
|
Packit |
577717 |
.escr_select = 0x4,
|
|
Packit |
577717 |
.allowed_escrs = { 20, 42 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "NBOGUS",
|
|
Packit |
577717 |
.desc = "The marked uops are not bogus.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BOGUS",
|
|
Packit |
577717 |
.desc = "The marked uops are bogus.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 40 */
|
|
Packit |
577717 |
{.name = "uops_type",
|
|
Packit |
577717 |
.desc = "This event is used in conjunction with with the front-end "
|
|
Packit |
577717 |
"mechanism to tag load and store uops.",
|
|
Packit |
577717 |
.event_select = 0x2,
|
|
Packit |
577717 |
.escr_select = 0x2,
|
|
Packit |
577717 |
.allowed_escrs = { 18, 41 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "TAGLOADS",
|
|
Packit |
577717 |
.desc = "The uop is a load operation.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "TAGSTORES",
|
|
Packit |
577717 |
.desc = "The uop is a store operation.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 41 */
|
|
Packit |
577717 |
{.name = "branch_retired",
|
|
Packit |
577717 |
.desc = "Number of retirements of a branch.",
|
|
Packit |
577717 |
.event_select = 0x6,
|
|
Packit |
577717 |
.escr_select = 0x5,
|
|
Packit |
577717 |
.allowed_escrs = { 21, 43 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "MMNP",
|
|
Packit |
577717 |
.desc = "Branch not-taken predicted.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MMNM",
|
|
Packit |
577717 |
.desc = "Branch not-taken mispredicted.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MMTP",
|
|
Packit |
577717 |
.desc = "Branch taken predicted.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MMTM",
|
|
Packit |
577717 |
.desc = "Branch taken mispredicted.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 42 */
|
|
Packit |
577717 |
{.name = "mispred_branch_retired",
|
|
Packit |
577717 |
.desc = "Number of retirements of mispredicted "
|
|
Packit |
577717 |
"IA-32 branch instructions",
|
|
Packit |
577717 |
.event_select = 0x3,
|
|
Packit |
577717 |
.escr_select = 0x4,
|
|
Packit |
577717 |
.allowed_escrs = { 20, 42 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "BOGUS",
|
|
Packit |
577717 |
.desc = "The retired instruction is not bogus.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 43 */
|
|
Packit |
577717 |
{.name = "x87_assist",
|
|
Packit |
577717 |
.desc = "Number of retirements of x87 instructions that required "
|
|
Packit |
577717 |
"special handling.",
|
|
Packit |
577717 |
.event_select = 0x3,
|
|
Packit |
577717 |
.escr_select = 0x5,
|
|
Packit |
577717 |
.allowed_escrs = { 21, 43 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "FPSU",
|
|
Packit |
577717 |
.desc = "Handle FP stack underflow.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "FPSO",
|
|
Packit |
577717 |
.desc = "Handle FP stack overflow.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "POAO",
|
|
Packit |
577717 |
.desc = "Handle x87 output overflow.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "POAU",
|
|
Packit |
577717 |
.desc = "Handle x87 output underflow.",
|
|
Packit |
577717 |
.bit = 3,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "PREA",
|
|
Packit |
577717 |
.desc = "Handle x87 input assist.",
|
|
Packit |
577717 |
.bit = 4,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 44 */
|
|
Packit |
577717 |
{.name = "machine_clear",
|
|
Packit |
577717 |
.desc = "Number of occurances when the entire "
|
|
Packit |
577717 |
"pipeline of the machine is cleared.",
|
|
Packit |
577717 |
.event_select = 0x2,
|
|
Packit |
577717 |
.escr_select = 0x5,
|
|
Packit |
577717 |
.allowed_escrs = { 21, 43 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "CLEAR",
|
|
Packit |
577717 |
.desc = "Counts for a portion of the many cycles while the "
|
|
Packit |
577717 |
"machine is cleared for any cause. Use edge-"
|
|
Packit |
577717 |
"triggering for this bit only to get a count of "
|
|
Packit |
577717 |
"occurances versus a duration.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "MOCLEAR",
|
|
Packit |
577717 |
.desc = "Increments each time the machine is cleared due to "
|
|
Packit |
577717 |
"memory ordering issues.",
|
|
Packit |
577717 |
.bit = 2,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "SMCLEAR",
|
|
Packit |
577717 |
.desc = "Increments each time the machine is cleared due to "
|
|
Packit |
577717 |
"self-modifying code issues.",
|
|
Packit |
577717 |
.bit = 6,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* 45 */
|
|
Packit |
577717 |
{.name = "instr_completed",
|
|
Packit |
577717 |
.desc = "Instructions that have completed and "
|
|
Packit |
577717 |
"retired during a clock cycle. Supported on models 3, 4, 6 only",
|
|
Packit |
577717 |
.event_select = 0x7,
|
|
Packit |
577717 |
.escr_select = 0x5,
|
|
Packit |
577717 |
.allowed_escrs = { 21, 42 },
|
|
Packit |
577717 |
.event_masks = {
|
|
Packit |
577717 |
{.name = "NBOGUS",
|
|
Packit |
577717 |
.desc = "Non-bogus instructions.",
|
|
Packit |
577717 |
.bit = 0,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
{.name = "BOGUS",
|
|
Packit |
577717 |
.desc = "Bogus instructions.",
|
|
Packit |
577717 |
.bit = 1,
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
},
|
|
Packit |
577717 |
};
|
|
Packit |
577717 |
#define PME_INSTR_COMPLETED 45
|
|
Packit |
577717 |
#define PME_REPLAY_EVENT 37
|
|
Packit |
577717 |
#define PENTIUM4_EVENT_COUNT (sizeof(pentium4_events)/sizeof(pentium4_events[0]))
|
|
Packit |
577717 |
|
|
Packit |
577717 |
/* CPU_CLK_UNHALTED uses the global_power_events event.
|
|
Packit |
577717 |
* INST_RETIRED uses the instr_retired event.
|
|
Packit |
577717 |
*/
|
|
Packit |
577717 |
#define PENTIUM4_CPU_CLK_UNHALTED 24
|
|
Packit |
577717 |
#define PENTIUM4_INST_RETIRED 38
|
|
Packit |
577717 |
|
|
Packit |
577717 |
#endif
|
|
Packit |
577717 |
|