# =======================================================================================
#
#      Filename:  perfmon_silvermont_events.txt
#
#      Description:  Event list for Intel Atom (Silvermont)
#
#      Version:   4.1
#      Released:  8.8.2016
#
#      Author:   Thomas Roehl (tr), thomas.roehl@googlemail.com
#      Project:  likwid
#
#      Copyright (C) 2016 RRZE, University Erlangen-Nuremberg
#
#      This program is free software: you can redistribute it and/or modify it under
#      the terms of the GNU General Public License as published by the Free Software
#      Foundation, either version 3 of the License, or (at your option) any later
#      version.
#
#      This program is distributed in the hope that it will be useful, but WITHOUT ANY
#      WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
#      PARTICULAR PURPOSE.  See the GNU General Public License for more details.
#
#      You should have received a copy of the GNU General Public License along with
#      this program.  If not, see <http://www.gnu.org/licenses/>.
#
# =======================================================================================

EVENT_TEMP_CORE          0x00   TMP0
UMASK_TEMP_CORE          0x00

EVENT_PWR_PKG_ENERGY          0x00   PWR0
UMASK_PWR_PKG_ENERGY          0x00

EVENT_PWR_PP0_ENERGY          0x00   PWR1
UMASK_PWR_PP0_ENERGY          0x00

EVENT_INSTR_RETIRED              0x00   FIXC0
UMASK_INSTR_RETIRED_ANY          0x00

EVENT_CPU_CLK_UNHALTED           0x00   FIXC1
UMASK_CPU_CLK_UNHALTED_CORE      0x00

EVENT_CPU_CLK_UNHALTED           0x00   FIXC2
UMASK_CPU_CLK_UNHALTED_REF       0x00

EVENT_REHABQ                    0x03  PMC
UMASK_REHABQ_LD_BLOCK_ST_FORWARD    0x01
UMASK_REHABQ_LD_BLOCK_STD_NOTREADY  0x02
UMASK_REHABQ_ST_SPLITS              0x04
UMASK_REHABQ_LD_SPLITS              0x08
UMASK_REHABQ_LOCK                   0x10
UMASK_REHABQ_STA_FULL               0x20
UMASK_REHABQ_ANY_LD                 0x40
UMASK_REHABQ_ANY_ST                 0x80

EVENT_MEM_UOPS_RETIRED            0x04  PMC
UMASK_MEM_UOPS_RETIRED_L1_MISS_LOADS 0x01
UMASK_MEM_UOPS_RETIRED_L2_HIT_LOADS 0x02
UMASK_MEM_UOPS_RETIRED_L2_MISS_LOADS 0x04
UMASK_MEM_UOPS_RETIRED_DTLB_MISS_LOADS 0x08
UMASK_MEM_UOPS_RETIRED_UTLB_MISS    0x10
UMASK_MEM_UOPS_RETIRED_HITM         0x20
UMASK_MEM_UOPS_RETIRED_ALL_LOADS    0x40
UMASK_MEM_UOPS_RETIRED_ALL_STORES   0x80

EVENT_PAGE_WALKS                    0x05  PMC
UMASK_PAGE_WALKS_DTLB_COUNT         0x01 0x04 0x00
UMASK_PAGE_WALKS_DTLB_CYCLES        0x01
UMASK_PAGE_WALKS_ITLB_COUNT         0x02 0x04 0x00
UMASK_PAGE_WALKS_ITLB_CYCLES        0x02
UMASK_PAGE_WALKS_COUNT              0x03 0x04 0x00
UMASK_PAGE_WALKS_CYCLES             0x03


EVENT_LONGEST_LAT_CACHE             0x2E  PMC
UMASK_LONGEST_LAT_CACHE_MISS        0x41
UMASK_LONGEST_LAT_CACHE_REFERENCE   0x4F

EVENT_L2_REJECT_XQ                  0x30 PMC
UMASK_L2_REJECT_XQ_ALL              0x00

EVENT_CORE_REJECT_L2Q               0x31 PMC
UMASK_CORE_REJECT_L2Q_ALL           0x00

EVENT_CPU_CLK_UNHALTED              0x3C PMC
UMASK_CPU_CLK_UNHALTED_CORE_P       0x00
UMASK_CPU_CLK_UNHALTED_REF_P        0x01

EVENT_ICACHE                  0x80   PMC
UMASK_ICACHE_HITS             0x01
UMASK_ICACHE_MISSES             0x02
UMASK_ICACHE_ACCESSES           0x03
UMASK_ICACHE_IFETCH_STALL       0x04

EVENT_NIP_STALL                     0xB6 PMC
UMASK_NIP_STALL_ICACHE_MISS         0x04

EVENT_INST_RETIRED                  0xC0 PMC
UMASK_INST_RETIRED_ANY_P            0x00

EVENT_UOPS_RETIRED                  0xC2 PMC
UMASK_UOPS_RETIRED_MS               0x01
UMASK_UOPS_RETIRED_ALL              0x10

EVENT_MACHINE_CLEARS                0xC3 PMC
UMASK_MACHINE_CLEARS_SMC               0x01
UMASK_MACHINE_CLEARS_MEMORY_ORDERING   0x02
UMASK_MACHINE_CLEARS_FP_ASSIST         0x04
UMASK_MACHINE_CLEARS_ALL               0x08


EVENT_BR_INST_RETIRED                0xC4  PMC
UMASK_BR_INST_RETIRED_ALL_BRANCHES   0x00
UMASK_BR_INST_RETIRED_JCC            0x7E
UMASK_BR_INST_RETIRED_TAKEN_JCC      0xFE
UMASK_BR_INST_RETIRED_FAR_BRANCH     0xBF
UMASK_BR_INST_RETIRED_NON_RETURN_IND 0xEB
UMASK_BR_INST_RETIRED_RETURN         0xF7
UMASK_BR_INST_RETIRED_CALL           0xF9
UMASK_BR_INST_RETIRED_IND_CALL       0xFB
UMASK_BR_INST_RETIRED_REL_CALL       0xFD

EVENT_BR_MISP_RETIRED                0xC5  PMC
UMASK_BR_MISP_RETIRED_ALL_BRANCHES   0x00
UMASK_BR_MISP_RETIRED_JCC            0x7E
UMASK_BR_MISP_RETIRED_TAKEN_JCC      0xFE
UMASK_BR_MISP_RETIRED_FAR_BRANCH     0xBF
UMASK_BR_MISP_RETIRED_NON_RETURN_IND 0xEB
UMASK_BR_MISP_RETIRED_RETURN         0xF7
UMASK_BR_MISP_RETIRED_CALL           0xF9
UMASK_BR_MISP_RETIRED_IND_CALL       0xFB
UMASK_BR_MISP_RETIRED_REL_CALL       0xFD

EVENT_NO_ALLOC_CYCLES               0xCA PMC
UMASK_NO_ALLOC_CYCLES_ROB_FULL      0x01
UMASK_NO_ALLOC_CYCLES_RAT_STALL     0x20
UMASK_NO_ALLOC_CYCLES_ALL           0x3F
UMASK_NO_ALLOC_CYCLES_NOT_DELIVERED 0x50

EVENT_RS_FULL_STALL                 0xCB PMC
UMASK_RS_FULL_STALL_MEC             0x01
UMASK_RS_FULL_STALL_ALL             0x1F

EVENT_CYCLES_DIV_BUSY               0xCD PMC
UMASK_CYCLES_DIV_BUSY_ANY           0x01

EVENT_BACLEARS                      0xE6  PMC
UMASK_BACLEARS_ALL                  0x01
UMASK_BACLEARS_RETURN               0x08
UMASK_BACLEARS_COND                 0x10

EVENT_MS_DECODED                    0xE7 PMC
UMASK_MS_DECODED_MS_ENTRY           0x01

EVENT_OFFCORE_RESPONSE_0              0xB7 PMC
OPTIONS_OFFCORE_RESPONSE_0_OPTIONS  EVENT_OPTION_MATCH0_MASK|EVENT_OPTION_MATCH1_MASK
UMASK_OFFCORE_RESPONSE_0_OPTIONS                    0x01 0xFF 0xFF
UMASK_OFFCORE_RESPONSE_0_DMND_DATA_RD_ANY           0x01 0x00 0x10
UMASK_OFFCORE_RESPONSE_0_DMND_RFO_ANY               0x01 0x01 0x10
UMASK_OFFCORE_RESPONSE_0_DMND_CODE_RD_ANY           0x01 0x02 0x10
UMASK_OFFCORE_RESPONSE_0_WB_ANY                     0x01 0x03 0x10
UMASK_OFFCORE_RESPONSE_0_PF_L2_DATA_RD_ANY          0x01 0x04 0x10
UMASK_OFFCORE_RESPONSE_0_PF_L2_RFO_ANY              0x01 0x05 0x10
UMASK_OFFCORE_RESPONSE_0_PF_L2_CODE_RD_ANY          0x01 0x06 0x10
UMASK_OFFCORE_RESPONSE_0_PARTIAL_READ_ANY           0x01 0x07 0x10
UMASK_OFFCORE_RESPONSE_0_PARTIAL_WRITE_ANY          0x01 0x08 0x10
UMASK_OFFCORE_RESPONSE_0_UC_CODE_RD_ANY             0x01 0x09 0x10
UMASK_OFFCORE_RESPONSE_0_BUS_LOCKS_ANY              0x01 0x0A 0x10
UMASK_OFFCORE_RESPONSE_0_STREAMING_STORES_ANY       0x01 0x0B 0x10
UMASK_OFFCORE_RESPONSE_0_SW_PREFETCH_ANY            0x01 0x0C 0x10
UMASK_OFFCORE_RESPONSE_0_PF_L1_DATA_RD_ANY          0x01 0x0D 0x10
UMASK_OFFCORE_RESPONSE_0_PARTIAL_STREAMING_STORES_ANY 0x01 0x0E 0x10
UMASK_OFFCORE_RESPONSE_0_ANY_ANY                    0x01 0x0F 0x10

EVENT_OFFCORE_RESPONSE_1              0xB7 PMC
OPTIONS_OFFCORE_RESPONSE_1_OPTIONS  EVENT_OPTION_MATCH0_MASK|EVENT_OPTION_MATCH1_MASK
UMASK_OFFCORE_RESPONSE_1_OPTIONS                    0x02 0xFF 0xFF
UMASK_OFFCORE_RESPONSE_1_DMND_DATA_RD_ANY           0x02 0x00 0x10
UMASK_OFFCORE_RESPONSE_1_DMND_RFO_ANY               0x02 0x01 0x10
UMASK_OFFCORE_RESPONSE_1_DMND_CODE_RD_ANY           0x02 0x02 0x10
UMASK_OFFCORE_RESPONSE_1_WB_ANY                     0x02 0x03 0x10
UMASK_OFFCORE_RESPONSE_1_PF_L2_DATA_RD_ANY          0x02 0x04 0x10
UMASK_OFFCORE_RESPONSE_1_PF_L2_RFO_ANY              0x02 0x05 0x10
UMASK_OFFCORE_RESPONSE_1_PF_L2_CODE_RD_ANY          0x02 0x06 0x10
UMASK_OFFCORE_RESPONSE_1_PARTIAL_READ_ANY           0x02 0x07 0x10
UMASK_OFFCORE_RESPONSE_1_PARTIAL_WRITE_ANY          0x02 0x08 0x10
UMASK_OFFCORE_RESPONSE_1_UC_CODE_RD_ANY             0x02 0x09 0x10
UMASK_OFFCORE_RESPONSE_1_BUS_LOCKS_ANY              0x02 0x0A 0x10
UMASK_OFFCORE_RESPONSE_1_STREAMING_STORES_ANY       0x02 0x0B 0x10
UMASK_OFFCORE_RESPONSE_1_SW_PREFETCH_ANY            0x02 0x0C 0x10
UMASK_OFFCORE_RESPONSE_1_PF_L1_DATA_RD_ANY          0x02 0x0D 0x10
UMASK_OFFCORE_RESPONSE_1_PARTIAL_STREAMING_STORES_ANY 0x02 0x0E 0x10
UMASK_OFFCORE_RESPONSE_1_ANY_ANY                    0x02 0x0F 0x10




