opd_ibs_macro.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define FETCH_MASK_LATENCY   0x0000ffff
#define FETCH_MASK_COMPLETE   0x00040000
#define FETCH_MASK_IC_MISS   0x00080000
#define FETCH_MASK_PHY_ADDR   0x00100000
#define FETCH_MASK_PG_SIZE   0x00600000
#define FETCH_MASK_L1_MISS   0x00800000
#define FETCH_MASK_L2_MISS   0x01000000
#define FETCH_MASK_KILLED
#define BR_MASK_RETIRE   0x0000ffff
#define MASK_RIP_INVALID   0x00000040
#define BR_MASK_BRN_RET   0x00000020
#define BR_MASK_BRN_MISP   0x00000010
#define BR_MASK_BRN_TAKEN   0x00000008
#define BR_MASK_RETURN   0x00000004
#define BR_MASK_MISP_RETURN   0x00000002
#define BR_MASK_BRN_RESYNC   0x00000001
#define NB_MASK_L3_STATE   0x00000020
#define NB_MASK_REQ_DST_PROC   0x00000010
#define NB_MASK_REQ_DATA_SRC   0x00000007
#define DC_MASK_L2_HIT_1G   0x00080000
#define DC_MASK_PHY_ADDR_VALID   0x00040000
#define DC_MASK_LIN_ADDR_VALID   0x00020000
#define DC_MASK_MAB_HIT   0x00010000
#define DC_MASK_LOCKED_OP   0x00008000
#define DC_MASK_UC_MEM_ACCESS   0x00004000
#define DC_MASK_WC_MEM_ACCESS   0x00002000
#define DC_MASK_ST_TO_LD_CANCEL   0x00001000
#define DC_MASK_ST_TO_LD_FOR   0x00000800
#define DC_MASK_ST_BANK_CONFLICT   0x00000400
#define DC_MASK_LD_BANK_CONFLICT   0x00000200
#define DC_MASK_MISALIGN_ACCESS   0x00000100
#define DC_MASK_DC_MISS   0x00000080
#define DC_MASK_L2_HIT_2M   0x00000040
#define DC_MASK_L1_HIT_1G   0x00000020
#define DC_MASK_L1_HIT_2M   0x00000010
#define DC_MASK_L2_TLB_MISS   0x00000008
#define DC_MASK_L1_TLB_MISS   0x00000004
#define DC_MASK_STORE_OP   0x00000002
#define DC_MASK_LOAD_OP   0x00000001
#define DE_IBS_FETCH_ALL   0xf000
#define DE_IBS_FETCH_KILLED   0xf001
#define DE_IBS_FETCH_ATTEMPTED   0xf002
#define DE_IBS_FETCH_COMPLETED   0xf003
#define DE_IBS_FETCH_ABORTED   0xf004
#define DE_IBS_L1_ITLB_HIT   0xf005
#define DE_IBS_ITLB_L1M_L2H   0xf006
#define DE_IBS_ITLB_L1M_L2M   0xf007
#define DE_IBS_IC_MISS   0xf008
#define DE_IBS_IC_HIT   0xf009
#define DE_IBS_FETCH_4K_PAGE   0xf00a
#define DE_IBS_FETCH_2M_PAGE   0xf00b
#define DE_IBS_FETCH_1G_PAGE   0xf00c
#define DE_IBS_FETCH_XX_PAGE   0xf00d
#define DE_IBS_FETCH_LATENCY   0xf00e
#define IBS_FETCH_BASE   0xf000
#define IBS_FETCH_END   0xf00e
#define IBS_FETCH_MAX   (IBS_FETCH_END - IBS_FETCH_BASE + 1)
#define IS_IBS_FETCH(x)   (IBS_FETCH_BASE <= x && x <= IBS_FETCH_END)
#define IBS_FETCH_OFFSET(x)   (x - IBS_FETCH_BASE)
#define CHECK_FETCH_SELECTED_FLAG(x)   if ( selected_flag & (1 << IBS_FETCH_OFFSET(x)))
#define DE_IBS_OP_ALL   0xf100
#define DE_IBS_OP_TAG_TO_RETIRE   0xf101
#define DE_IBS_OP_COMP_TO_RETIRE   0xf102
#define DE_IBS_BRANCH_RETIRED   0xf103
#define DE_IBS_BRANCH_MISP   0xf104
#define DE_IBS_BRANCH_TAKEN   0xf105
#define DE_IBS_BRANCH_MISP_TAKEN   0xf106
#define DE_IBS_RETURN   0xf107
#define DE_IBS_RETURN_MISP   0xf108
#define DE_IBS_RESYNC   0xf109
#define IBS_OP_BASE   0xf100
#define IBS_OP_END   0xf109
#define IBS_OP_MAX   (IBS_OP_END - IBS_OP_BASE + 1)
#define IS_IBS_OP(x)   (IBS_OP_BASE <= x && x <= IBS_OP_END)
#define IBS_OP_OFFSET(x)   (x - IBS_OP_BASE)
#define CHECK_OP_SELECTED_FLAG(x)   if ( selected_flag & (1 << IBS_OP_OFFSET(x)))
#define DE_IBS_LS_ALL_OP   0xf200
#define DE_IBS_LS_LOAD_OP   0xf201
#define DE_IBS_LS_STORE_OP   0xf202
#define DE_IBS_LS_DTLB_L1H   0xf203
#define DE_IBS_LS_DTLB_L1M_L2H   0xf204
#define DE_IBS_LS_DTLB_L1M_L2M   0xf205
#define DE_IBS_LS_DC_MISS   0xf206
#define DE_IBS_LS_DC_HIT   0xf207
#define DE_IBS_LS_MISALIGNED   0xf208
#define DE_IBS_LS_BNK_CONF_LOAD   0xf209
#define DE_IBS_LS_BNK_CONF_STORE   0xf20a
#define DE_IBS_LS_STL_FORWARDED   0xf20b
#define DE_IBS_LS_STL_CANCELLED   0xf20c
#define DE_IBS_LS_UC_MEM_ACCESS   0xf20d
#define DE_IBS_LS_WC_MEM_ACCESS   0xf20e
#define DE_IBS_LS_LOCKED_OP   0xf20f
#define DE_IBS_LS_MAB_HIT   0xf210
#define DE_IBS_LS_L1_DTLB_4K   0xf211
#define DE_IBS_LS_L1_DTLB_2M   0xf212
#define DE_IBS_LS_L1_DTLB_1G   0xf213
#define DE_IBS_LS_L1_DTLB_RES   0xf214
#define DE_IBS_LS_L2_DTLB_4K   0xf215
#define DE_IBS_LS_L2_DTLB_2M   0xf216
#define DE_IBS_LS_L2_DTLB_1G   0xf217
#define DE_IBS_LS_L2_DTLB_RES2   0xf218
#define DE_IBS_LS_DC_LOAD_LAT   0xf219
#define IBS_OP_LS_BASE   0xf200
#define IBS_OP_LS_END   0xf219
#define IBS_OP_LS_MAX   (IBS_OP_LS_END - IBS_OP_LS_BASE + 1)
#define IS_IBS_OP_LS(x)   (IBS_OP_LS_BASE <= x && x <= IBS_OP_LS_END)
#define IBS_OP_LS_OFFSET(x)   (x - IBS_OP_LS_BASE)
#define CHECK_OP_LS_SELECTED_FLAG(x)   if ( selected_flag & (1 << IBS_OP_LS_OFFSET(x)))
#define DE_IBS_NB_LOCAL   0xf240
#define DE_IBS_NB_REMOTE   0xf241
#define DE_IBS_NB_LOCAL_L3   0xf242
#define DE_IBS_NB_LOCAL_CACHE   0xf243
#define DE_IBS_NB_REMOTE_CACHE   0xf244
#define DE_IBS_NB_LOCAL_DRAM   0xf245
#define DE_IBS_NB_REMOTE_DRAM   0xf246
#define DE_IBS_NB_LOCAL_OTHER   0xf247
#define DE_IBS_NB_REMOTE_OTHER   0xf248
#define DE_IBS_NB_CACHE_STATE_M   0xf249
#define DE_IBS_NB_CACHE_STATE_O   0xf24a
#define DE_IBS_NB_LOCAL_LATENCY   0xf24b
#define DE_IBS_NB_REMOTE_LATENCY   0xf24c
#define IBS_OP_NB_BASE   0xf240
#define IBS_OP_NB_END   0xf24c
#define IBS_OP_NB_MAX   (IBS_OP_NB_END - IBS_OP_NB_BASE + 1)
#define IS_IBS_OP_NB(x)   (IBS_OP_NB_BASE <= x && x <= IBS_OP_NB_END)
#define IBS_OP_NB_OFFSET(x)   (x - IBS_OP_NB_BASE)
#define CHECK_OP_NB_SELECTED_FLAG(x)   if ( selected_flag & (1 << IBS_OP_NB_OFFSET(x)))
#define OP_MAX_IBS_COUNTERS   (IBS_FETCH_MAX + IBS_OP_MAX + IBS_OP_LS_MAX + IBS_OP_NB_MAX)
#define IBS_FETCH_FETCH_LATENCY(x)   ((unsigned short)(x->ibs_fetch_ctl_high & FETCH_MASK_LATENCY))
#define IBS_FETCH_FETCH_COMPLETION(x)   ((x->ibs_fetch_ctl_high & FETCH_MASK_COMPLETE) != 0)
#define IBS_FETCH_INST_CACHE_MISS(x)   ((x->ibs_fetch_ctl_high & FETCH_MASK_IC_MISS) != 0)
#define IBS_FETCH_PHYS_ADDR_VALID(x)   ((x->ibs_fetch_ctl_high & FETCH_MASK_PHY_ADDR) != 0)
#define IBS_FETCH_TLB_PAGE_SIZE(x)   ((unsigned short)((x->ibs_fetch_ctl_high >> 21) & 0x3))
#define IBS_FETCH_TLB_PAGE_SIZE_4K(x)   (IBS_FETCH_TLB_PAGE_SIZE(x) == L1TLB4K)
#define IBS_FETCH_TLB_PAGE_SIZE_2M(x)   (IBS_FETCH_TLB_PAGE_SIZE(x) == L1TLB2M)
#define IBS_FETCH_TLB_PAGE_SIZE_1G(x)   (IBS_FETCH_TLB_PAGE_SIZE(x) == L1TLB1G)
#define IBS_FETCH_M_L1_TLB_MISS(x)   ((x->ibs_fetch_ctl_high & FETCH_MASK_L1_MISS) != 0)
#define IBS_FETCH_L2_TLB_MISS(x)   ((x->ibs_fetch_ctl_high & FETCH_MASK_L2_MISS) != 0)
#define IBS_FETCH_KILLED(x)   ((x->ibs_fetch_ctl_high & FETCH_MASK_KILLED) == 0)
#define IBS_FETCH_INST_CACHE_HIT(x)   (IBS_FETCH_FETCH_COMPLETION(x) && !IBS_FETCH_INST_CACHE_MISS(x))
#define IBS_FETCH_L1_TLB_HIT(x)   (!IBS_FETCH_M_L1_TLB_MISS(x) && IBS_FETCH_PHYS_ADDR_VALID(x))
#define IBS_FETCH_ITLB_L1M_L2H(x)   (IBS_FETCH_M_L1_TLB_MISS(x) && !IBS_FETCH_L2_TLB_MISS(x))
#define IBS_FETCH_ITLB_L1M_L2M(x)   (IBS_FETCH_M_L1_TLB_MISS(x) && IBS_FETCH_L2_TLB_MISS(x))
#define IBS_OP_COM_TO_RETIRE_CYCLES(x)   ((unsigned short)(x->ibs_op_data1_low & BR_MASK_RETIRE))
#define IBS_OP_TAG_TO_RETIRE_CYCLES(x)   ((unsigned short)((x->ibs_op_data1_low >> 16) & BR_MASK_RETIRE))
#define IBS_OP_BRANCH_RESYNC(x)   ((x->ibs_op_data1_high & BR_MASK_BRN_RESYNC) != 0)
#define IBS_OP_MISPREDICT_RETURN(x)   ((x->ibs_op_data1_high & BR_MASK_MISP_RETURN) != 0)
#define IBS_OP_RETURN(x)   ((x->ibs_op_data1_high & BR_MASK_RETURN) != 0)
#define IBS_OP_BRANCH_TAKEN(x)   ((x->ibs_op_data1_high & BR_MASK_BRN_TAKEN) != 0)
#define IBS_OP_BRANCH_MISPREDICT(x)   ((x->ibs_op_data1_high & BR_MASK_BRN_MISP) != 0)
#define IBS_OP_BRANCH_RETIRED(x)   ((x->ibs_op_data1_high & BR_MASK_BRN_RET) != 0)
#define IBS_OP_RIP_INVALID(x)   ((x->ibs_op_data1_high & MASK_RIP_INVALID) != 0)
#define IBS_OP_NB_IBS_CACHE_HIT_ST(x)   ((x->ibs_op_data2_low & NB_MASK_L3_STATE) != 0)
#define IBS_OP_NB_IBS_REQ_DST_PROC(x)   ((x->ibs_op_data2_low & NB_MASK_REQ_DST_PROC) != 0)
#define IBS_OP_NB_IBS_REQ_SRC(x)   ((unsigned char)(x->ibs_op_data2_low & NB_MASK_REQ_DATA_SRC))
#define IBS_OP_NB_IBS_REQ_SRC_01(x)   (IBS_OP_NB_IBS_REQ_SRC(x) == 0x01)
#define IBS_OP_NB_IBS_REQ_SRC_02(x)   (IBS_OP_NB_IBS_REQ_SRC(x) == 0x02)
#define IBS_OP_NB_IBS_REQ_SRC_03(x)   (IBS_OP_NB_IBS_REQ_SRC(x) == 0x03)
#define IBS_OP_NB_IBS_REQ_SRC_07(x)   (IBS_OP_NB_IBS_REQ_SRC(x) == 0x07)
#define IBS_OP_DC_MISS_LATENCY(x)   ((unsigned short)(x->ibs_op_data3_high & 0xffff))
#define IBS_OP_IBS_LD_OP(x)   ((x->ibs_op_data3_low & DC_MASK_LOAD_OP) != 0)
#define IBS_OP_IBS_ST_OP(x)   ((x->ibs_op_data3_low & DC_MASK_STORE_OP) != 0)
#define IBS_OP_IBS_DC_L1_TLB_MISS(x)   ((x->ibs_op_data3_low & DC_MASK_L1_TLB_MISS) != 0)
#define IBS_OP_IBS_DC_L2_TLB_MISS(x)   ((x->ibs_op_data3_low & DC_MASK_L2_TLB_MISS) != 0)
#define IBS_OP_IBS_DC_L1_TLB_HIT_2MB(x)   ((x->ibs_op_data3_low & DC_MASK_L1_HIT_2M) != 0)
#define IBS_OP_IBS_DC_L1_TLB_HIT_1GB(x)   ((x->ibs_op_data3_low & DC_MASK_L1_HIT_1G) != 0)
#define IBS_OP_IBS_DC_L2_TLB_HIT_2MB(x)   ((x->ibs_op_data3_low & DC_MASK_L2_HIT_2M) != 0)
#define IBS_OP_IBS_DC_MISS(x)   ((x->ibs_op_data3_low & DC_MASK_DC_MISS) != 0)
#define IBS_OP_IBS_DC_MISS_ACC(x)   ((x->ibs_op_data3_low & DC_MASK_MISALIGN_ACCESS) != 0)
#define IBS_OP_IBS_DC_LD_BNK_CON(x)   ((x->ibs_op_data3_low & DC_MASK_LD_BANK_CONFLICT) != 0)
#define IBS_OP_IBS_DC_ST_BNK_CON(x)   ((x->ibs_op_data3_low & DC_MASK_ST_BANK_CONFLICT) != 0)
#define IBS_OP_IBS_DC_ST_TO_LD_FWD(x)   ((x->ibs_op_data3_low & DC_MASK_ST_TO_LD_FOR) != 0)
#define IBS_OP_IBS_DC_ST_TO_LD_CAN(x)   ((x->ibs_op_data3_low & DC_MASK_ST_TO_LD_CANCEL) != 0)
#define IBS_OP_IBS_DC_WC_MEM_ACC(x)   ((x->ibs_op_data3_low & DC_MASK_WC_MEM_ACCESS) != 0)
#define IBS_OP_IBS_DC_UC_MEM_ACC(x)   ((x->ibs_op_data3_low & DC_MASK_UC_MEM_ACCESS) != 0)
#define IBS_OP_IBS_LOCKED_OP(x)   ((x->ibs_op_data3_low & DC_MASK_LOCKED_OP) != 0)
#define IBS_OP_IBS_DC_MAB_HIT(x)   ((x->ibs_op_data3_low & DC_MASK_MAB_HIT) != 0)
#define IBS_OP_IBS_DC_LIN_ADDR_VALID(x)   ((x->ibs_op_data3_low & DC_MASK_LIN_ADDR_VALID) != 0)
#define IBS_OP_IBS_DC_PHY_ADDR_VALID(x)   ((x->ibs_op_data3_low & DC_MASK_PHY_ADDR_VALID) != 0)
#define IBS_OP_IBS_DC_L2_TLB_HIT_1GB(x)   ((x->ibs_op_data3_low & DC_MASK_L2_HIT_1G) != 0)
#define AGG_IBS_EVENT(EV)   opd_log_ibs_event(EV, trans)
#define AGG_IBS_COUNT(EV, COUNT)   opd_log_ibs_count(EV, trans, COUNT)

Enumerations

enum  IBSL1PAGESIZE { L1TLB4K = 0, L1TLB2M, L1TLB1G, L1TLB_INVALID }

Detailed Description

AMD Instruction Based Sampling (IBS) related macro.

Remarks:
Copyright 2008-2010 OProfile authors
Read the file COPYING
Author:
Jason Yeh <jason.yeh@amd.com>
Paul Drongowski <paul.drongowski@amd.com>
Suravee Suthikulpanit <suravee.suthikulpanit@amd.com> Copyright (c) 2008 Advanced Micro Devices, Inc.

Definition in file opd_ibs_macro.h.


Define Documentation

#define AGG_IBS_COUNT ( EV,
COUNT   )     opd_log_ibs_count(EV, trans, COUNT)

Aggregate the IBS latency/cycle counts. Increase the derived event count by the specified count value.

Definition at line 395 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch(), trans_ibs_op(), trans_ibs_op_ls(), and trans_ibs_op_nb().

#define AGG_IBS_EVENT ( EV   )     opd_log_ibs_event(EV, trans)

Aggregate the IBS derived event. Increase the derived event count by one.

Definition at line 389 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch(), trans_ibs_op(), trans_ibs_op_ls(), and trans_ibs_op_nb().

#define BR_MASK_BRN_MISP   0x00000010

Definition at line 43 of file opd_ibs_macro.h.

#define BR_MASK_BRN_RESYNC   0x00000001

Definition at line 47 of file opd_ibs_macro.h.

#define BR_MASK_BRN_RET   0x00000020

Definition at line 42 of file opd_ibs_macro.h.

#define BR_MASK_BRN_TAKEN   0x00000008

Definition at line 44 of file opd_ibs_macro.h.

#define BR_MASK_MISP_RETURN   0x00000002

Definition at line 46 of file opd_ibs_macro.h.

#define BR_MASK_RETIRE   0x0000ffff

The following defines are bit masks that are used to select IBS op event flags and values at the MSR level.

Definition at line 40 of file opd_ibs_macro.h.

#define BR_MASK_RETURN   0x00000004

Definition at line 45 of file opd_ibs_macro.h.

#define CHECK_FETCH_SELECTED_FLAG (  )     if ( selected_flag & (1 << IBS_FETCH_OFFSET(x)))

Definition at line 116 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define CHECK_OP_LS_SELECTED_FLAG (  )     if ( selected_flag & (1 << IBS_OP_LS_OFFSET(x)))

Definition at line 178 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define CHECK_OP_NB_SELECTED_FLAG (  )     if ( selected_flag & (1 << IBS_OP_NB_OFFSET(x)))

Definition at line 204 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define CHECK_OP_SELECTED_FLAG (  )     if ( selected_flag & (1 << IBS_OP_OFFSET(x)))

Definition at line 139 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define DC_MASK_DC_MISS   0x00000080

Definition at line 67 of file opd_ibs_macro.h.

#define DC_MASK_L1_HIT_1G   0x00000020

Definition at line 69 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_mask_reserved().

#define DC_MASK_L1_HIT_2M   0x00000010

Definition at line 70 of file opd_ibs_macro.h.

#define DC_MASK_L1_TLB_MISS   0x00000004

Definition at line 72 of file opd_ibs_macro.h.

#define DC_MASK_L2_HIT_1G   0x00080000

Definition at line 55 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_mask_reserved().

#define DC_MASK_L2_HIT_2M   0x00000040

Definition at line 68 of file opd_ibs_macro.h.

#define DC_MASK_L2_TLB_MISS   0x00000008

Definition at line 71 of file opd_ibs_macro.h.

#define DC_MASK_LD_BANK_CONFLICT   0x00000200

Definition at line 65 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_mask_reserved().

#define DC_MASK_LIN_ADDR_VALID   0x00020000

Definition at line 57 of file opd_ibs_macro.h.

#define DC_MASK_LOAD_OP   0x00000001

Definition at line 74 of file opd_ibs_macro.h.

#define DC_MASK_LOCKED_OP   0x00008000

Definition at line 59 of file opd_ibs_macro.h.

#define DC_MASK_MAB_HIT   0x00010000

Definition at line 58 of file opd_ibs_macro.h.

#define DC_MASK_MISALIGN_ACCESS   0x00000100

Definition at line 66 of file opd_ibs_macro.h.

#define DC_MASK_PHY_ADDR_VALID   0x00040000

Definition at line 56 of file opd_ibs_macro.h.

#define DC_MASK_ST_BANK_CONFLICT   0x00000400

Definition at line 64 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_mask_reserved().

#define DC_MASK_ST_TO_LD_CANCEL   0x00001000

Definition at line 62 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_mask_reserved().

#define DC_MASK_ST_TO_LD_FOR   0x00000800

Definition at line 63 of file opd_ibs_macro.h.

#define DC_MASK_STORE_OP   0x00000002

Definition at line 73 of file opd_ibs_macro.h.

#define DC_MASK_UC_MEM_ACCESS   0x00004000

Definition at line 60 of file opd_ibs_macro.h.

#define DC_MASK_WC_MEM_ACCESS   0x00002000

Definition at line 61 of file opd_ibs_macro.h.

#define DE_IBS_BRANCH_MISP   0xf104

Definition at line 127 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define DE_IBS_BRANCH_MISP_TAKEN   0xf106

Definition at line 129 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define DE_IBS_BRANCH_RETIRED   0xf103

Definition at line 126 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define DE_IBS_BRANCH_TAKEN   0xf105

Definition at line 128 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define DE_IBS_FETCH_1G_PAGE   0xf00c

Definition at line 107 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_FETCH_2M_PAGE   0xf00b

Definition at line 106 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_FETCH_4K_PAGE   0xf00a

Definition at line 105 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_FETCH_ABORTED   0xf004

Definition at line 99 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_FETCH_ALL   0xf000

IBS derived events:

IBS derived events are identified by event select values which are similar to the event select values that identify performance monitoring counter (PMC) events. Event select values for IBS derived events begin at 0xf000.

The definitions in this file *must* match definitions of IBS derived events. More information about IBS derived events is given in the Software Oprimization Guide. The following defines associate a 16-bit select value with an IBS derived fetch event.

Definition at line 95 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_FETCH_ATTEMPTED   0xf002

Definition at line 97 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_FETCH_COMPLETED   0xf003

Definition at line 98 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_FETCH_KILLED   0xf001

Definition at line 96 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_FETCH_LATENCY   0xf00e

Definition at line 109 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_FETCH_XX_PAGE   0xf00d

Definition at line 108 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_IC_HIT   0xf009

Definition at line 104 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_IC_MISS   0xf008

Definition at line 103 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_ITLB_L1M_L2H   0xf006

Definition at line 101 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_ITLB_L1M_L2M   0xf007

Definition at line 102 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_L1_ITLB_HIT   0xf005

Definition at line 100 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define DE_IBS_LS_ALL_OP   0xf200

The following defines associate a 16-bit select value with an IBS derived load/store event.

Definition at line 146 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_BNK_CONF_LOAD   0xf209

Definition at line 155 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_BNK_CONF_STORE   0xf20a

Definition at line 156 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_DC_HIT   0xf207

Definition at line 153 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_DC_LOAD_LAT   0xf219

Definition at line 171 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_DC_MISS   0xf206

Definition at line 152 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_DTLB_L1H   0xf203

Definition at line 149 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_DTLB_L1M_L2H   0xf204

Definition at line 150 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_DTLB_L1M_L2M   0xf205

Definition at line 151 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_L1_DTLB_1G   0xf213

Definition at line 165 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_L1_DTLB_2M   0xf212

Definition at line 164 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_L1_DTLB_4K   0xf211

Definition at line 163 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_L1_DTLB_RES   0xf214

Definition at line 166 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_L2_DTLB_1G   0xf217

Definition at line 169 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_L2_DTLB_2M   0xf216

Definition at line 168 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_L2_DTLB_4K   0xf215

Definition at line 167 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_L2_DTLB_RES2   0xf218

Definition at line 170 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_LOAD_OP   0xf201

Definition at line 147 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_LOCKED_OP   0xf20f

Definition at line 161 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_MAB_HIT   0xf210

Definition at line 162 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_MISALIGNED   0xf208

Definition at line 154 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_STL_CANCELLED   0xf20c

Definition at line 158 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_STL_FORWARDED   0xf20b

Definition at line 157 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_STORE_OP   0xf202

Definition at line 148 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_UC_MEM_ACCESS   0xf20d

Definition at line 159 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_LS_WC_MEM_ACCESS   0xf20e

Definition at line 160 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define DE_IBS_NB_CACHE_STATE_M   0xf249

Definition at line 194 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_CACHE_STATE_O   0xf24a

Definition at line 195 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_LOCAL   0xf240

The following defines associate a 16-bit select value with an IBS derived Northbridge (NB) event.

Definition at line 185 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_LOCAL_CACHE   0xf243

Definition at line 188 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_LOCAL_DRAM   0xf245

Definition at line 190 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_LOCAL_L3   0xf242

Definition at line 187 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_LOCAL_LATENCY   0xf24b

Definition at line 196 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_LOCAL_OTHER   0xf247

Definition at line 192 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_REMOTE   0xf241

Definition at line 186 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_REMOTE_CACHE   0xf244

Definition at line 189 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_REMOTE_DRAM   0xf246

Definition at line 191 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_REMOTE_LATENCY   0xf24c

Definition at line 197 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_NB_REMOTE_OTHER   0xf248

Definition at line 193 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define DE_IBS_OP_ALL   0xf100

The following defines associate a 16-bit select value with an IBS derived branch/return macro-op event.

Definition at line 123 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define DE_IBS_OP_COMP_TO_RETIRE   0xf102

Definition at line 125 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define DE_IBS_OP_TAG_TO_RETIRE   0xf101

Definition at line 124 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define DE_IBS_RESYNC   0xf109

Definition at line 132 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define DE_IBS_RETURN   0xf107

Definition at line 130 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define DE_IBS_RETURN_MISP   0xf108

Definition at line 131 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define FETCH_MASK_COMPLETE   0x00040000

Definition at line 23 of file opd_ibs_macro.h.

#define FETCH_MASK_IC_MISS   0x00080000

Definition at line 24 of file opd_ibs_macro.h.

#define FETCH_MASK_KILLED
#define FETCH_MASK_L1_MISS   0x00800000

Definition at line 27 of file opd_ibs_macro.h.

#define FETCH_MASK_L2_MISS   0x01000000

Definition at line 28 of file opd_ibs_macro.h.

#define FETCH_MASK_LATENCY   0x0000ffff

The following defines are bit masks that are used to select IBS fetch event flags and values at the MSRC001_1030 IBS Fetch Control Register (IbsFetchCtl)

Definition at line 22 of file opd_ibs_macro.h.

#define FETCH_MASK_PG_SIZE   0x00600000

Definition at line 26 of file opd_ibs_macro.h.

#define FETCH_MASK_PHY_ADDR   0x00100000

Definition at line 25 of file opd_ibs_macro.h.

#define IBS_FETCH_BASE   0xf000

Definition at line 111 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter().

#define IBS_FETCH_END   0xf00e

Definition at line 112 of file opd_ibs_macro.h.

#define IBS_FETCH_FETCH_COMPLETION (  )     ((x->ibs_fetch_ctl_high & FETCH_MASK_COMPLETE) != 0)

Bit 50 IbsFetchComp: instruction fetch complete.

Definition at line 221 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_FETCH_LATENCY (  )     ((unsigned short)(x->ibs_fetch_ctl_high & FETCH_MASK_LATENCY))

These macro decodes IBS hardware-level event flags and fields. Translation results are either zero (false) or non-zero (true), except the fetch latency, which is a 16-bit cycle count, and the fetch page size field, which is a 2-bit unsigned integer. Bits 47:32 IbsFetchLat: instruction fetch latency

Definition at line 218 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_INST_CACHE_HIT (  )     (IBS_FETCH_FETCH_COMPLETION(x) && !IBS_FETCH_INST_CACHE_MISS(x))

Definition at line 251 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_INST_CACHE_MISS (  )     ((x->ibs_fetch_ctl_high & FETCH_MASK_IC_MISS) != 0)

Bit 51 IbsIcMiss: instruction cache miss.

Definition at line 224 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_ITLB_L1M_L2H (  )     (IBS_FETCH_M_L1_TLB_MISS(x) && !IBS_FETCH_L2_TLB_MISS(x))

Definition at line 255 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_ITLB_L1M_L2M (  )     (IBS_FETCH_M_L1_TLB_MISS(x) && IBS_FETCH_L2_TLB_MISS(x))

Definition at line 257 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_KILLED (  )     ((x->ibs_fetch_ctl_high & FETCH_MASK_KILLED) == 0)

A fetch is a killed fetch if all the masked bits are clear

Definition at line 249 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_L1_TLB_HIT (  )     (!IBS_FETCH_M_L1_TLB_MISS(x) && IBS_FETCH_PHYS_ADDR_VALID(x))

Definition at line 253 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_L2_TLB_MISS (  )     ((x->ibs_fetch_ctl_high & FETCH_MASK_L2_MISS) != 0)

Bit 56 IbsL2TlbMiss: instruction cache L2TLB miss.

Definition at line 246 of file opd_ibs_macro.h.

#define IBS_FETCH_M_L1_TLB_MISS (  )     ((x->ibs_fetch_ctl_high & FETCH_MASK_L1_MISS) != 0)

Bit 55 IbsL1TlbMiss: instruction cache L1TLB miss.

Definition at line 243 of file opd_ibs_macro.h.

#define IBS_FETCH_MAX   (IBS_FETCH_END - IBS_FETCH_BASE + 1)

Definition at line 113 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter().

#define IBS_FETCH_OFFSET (  )     (x - IBS_FETCH_BASE)

Definition at line 115 of file opd_ibs_macro.h.

Referenced by ibs_parse_and_set_events().

#define IBS_FETCH_PHYS_ADDR_VALID (  )     ((x->ibs_fetch_ctl_high & FETCH_MASK_PHY_ADDR) != 0)

Bit 52 IbsPhyAddrValid: instruction fetch physical address valid.

Definition at line 227 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_TLB_PAGE_SIZE (  )     ((unsigned short)((x->ibs_fetch_ctl_high >> 21) & 0x3))

Bits 54:53 IbsL1TlbPgSz: instruction cache L1TLB page size.

Definition at line 237 of file opd_ibs_macro.h.

#define IBS_FETCH_TLB_PAGE_SIZE_1G (  )     (IBS_FETCH_TLB_PAGE_SIZE(x) == L1TLB1G)

Definition at line 240 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_TLB_PAGE_SIZE_2M (  )     (IBS_FETCH_TLB_PAGE_SIZE(x) == L1TLB2M)

Definition at line 239 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_FETCH_TLB_PAGE_SIZE_4K (  )     (IBS_FETCH_TLB_PAGE_SIZE(x) == L1TLB4K)

Definition at line 238 of file opd_ibs_macro.h.

Referenced by trans_ibs_fetch().

#define IBS_OP_BASE   0xf100

Definition at line 134 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter().

#define IBS_OP_BRANCH_MISPREDICT (  )     ((x->ibs_op_data1_high & BR_MASK_BRN_MISP) != 0)

36 IbsOpBrnMisp: mispredicted branch macro-op.

Definition at line 288 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define IBS_OP_BRANCH_RESYNC (  )     ((x->ibs_op_data1_high & BR_MASK_BRN_RESYNC) != 0)

32 op_branch_resync : resync macro-op.

Definition at line 276 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define IBS_OP_BRANCH_RETIRED (  )     ((x->ibs_op_data1_high & BR_MASK_BRN_RET) != 0)

37 IbsOpBrnRet: branch macro-op retired.

Definition at line 291 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define IBS_OP_BRANCH_TAKEN (  )     ((x->ibs_op_data1_high & BR_MASK_BRN_TAKEN) != 0)

35 IbsOpBrnTaken: taken branch macro-op.

Definition at line 285 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define IBS_OP_COM_TO_RETIRE_CYCLES (  )     ((unsigned short)(x->ibs_op_data1_low & BR_MASK_RETIRE))

These macros translates IBS op event data from its hardware-level representation .It hides the MSR layout of IBS op data. MSRC001_1035 IBS OP Data Register (IbsOpData)

15:0 IbsCompToRetCtr: macro-op completion to retire count

Definition at line 270 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define IBS_OP_DC_MISS_LATENCY (  )     ((unsigned short)(x->ibs_op_data3_high & 0xffff))

MSRC001_1037 IBS Op Data3 Register

Bits 47:32 IbsDcMissLat

Definition at line 322 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls(), trans_ibs_op_ls_memaccess(), and trans_ibs_op_nb().

#define IBS_OP_END   0xf109

Definition at line 135 of file opd_ibs_macro.h.

#define IBS_OP_IBS_DC_L1_TLB_HIT_1GB (  )     ((x->ibs_op_data3_low & DC_MASK_L1_HIT_1G) != 0)

5 ibs_dc_l1_tlb_hit_1gb: Data cache L1TLB hit in 1G page

Definition at line 340 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_L1_TLB_HIT_2MB (  )     ((x->ibs_op_data3_low & DC_MASK_L1_HIT_2M) != 0)

4 IbsDcL1tlbHit2M: Data cache L1TLB hit in 2M page

Definition at line 337 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_L1_TLB_MISS (  )     ((x->ibs_op_data3_low & DC_MASK_L1_TLB_MISS) != 0)

2 ibs_dc_l1_tlb_miss: Data cache L1TLB miss

Definition at line 331 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_L2_TLB_HIT_1GB (  )     ((x->ibs_op_data3_low & DC_MASK_L2_HIT_1G) != 0)

19 ibs_dc_l2_tlb_hit_1gb: Data cache L2TLB hit in 1G page

Definition at line 382 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_L2_TLB_HIT_2MB (  )     ((x->ibs_op_data3_low & DC_MASK_L2_HIT_2M) != 0)

6 ibs_dc_l2_tlb_hit_2mb: Data cache L2TLB hit in 2M page

Definition at line 343 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_L2_TLB_MISS (  )     ((x->ibs_op_data3_low & DC_MASK_L2_TLB_MISS) != 0)

3 ibs_dc_l2_tlb_miss: Data cache L2TLB miss

Definition at line 334 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_LD_BNK_CON (  )     ((x->ibs_op_data3_low & DC_MASK_LD_BANK_CONFLICT) != 0)

9 ibs_dc_ld_bnk_con: Bank conflict on load operation

Definition at line 352 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_LIN_ADDR_VALID (  )     ((x->ibs_op_data3_low & DC_MASK_LIN_ADDR_VALID) != 0)

17 IbsDcLinAddrValid: Data cache linear address valid

Definition at line 376 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_MAB_HIT (  )     ((x->ibs_op_data3_low & DC_MASK_MAB_HIT) != 0)

16 ibs_dc_mab_hit : MAB hit

Definition at line 373 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_MISS (  )     ((x->ibs_op_data3_low & DC_MASK_DC_MISS) != 0)

7 ibs_dc_miss: Data cache miss

Definition at line 346 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls(), and trans_ibs_op_nb().

#define IBS_OP_IBS_DC_MISS_ACC (  )     ((x->ibs_op_data3_low & DC_MASK_MISALIGN_ACCESS) != 0)

8 ibs_dc_miss_acc: Misaligned access

Definition at line 349 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_PHY_ADDR_VALID (  )     ((x->ibs_op_data3_low & DC_MASK_PHY_ADDR_VALID) != 0)

18 ibs_dc_phy_addr_valid: Data cache physical address valid

Definition at line 379 of file opd_ibs_macro.h.

#define IBS_OP_IBS_DC_ST_BNK_CON (  )     ((x->ibs_op_data3_low & DC_MASK_ST_BANK_CONFLICT) != 0)

10 ibs_dc_st_bnk_con: Bank conflict on store operation

Definition at line 355 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_ST_TO_LD_CAN (  )     ((x->ibs_op_data3_low & DC_MASK_ST_TO_LD_CANCEL) != 0)

12 ibs_dc_st_to_ld_can: Data forwarding from store to load operation cancelled

Definition at line 361 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_ST_TO_LD_FWD (  )     ((x->ibs_op_data3_low & DC_MASK_ST_TO_LD_FOR) != 0)

11 ibs_dc_st_to_ld_fwd : Data forwarded from store to load operation

Definition at line 358 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_UC_MEM_ACC (  )     ((x->ibs_op_data3_low & DC_MASK_UC_MEM_ACCESS) != 0)

14 ibs_dc_uc_mem_acc : UC memory access

Definition at line 367 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_DC_WC_MEM_ACC (  )     ((x->ibs_op_data3_low & DC_MASK_WC_MEM_ACCESS) != 0)

13 ibs_dc_wc_mem_acc : WC memory access

Definition at line 364 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_LD_OP (  )     ((x->ibs_op_data3_low & DC_MASK_LOAD_OP) != 0)

0 IbsLdOp: Load op

Definition at line 325 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls(), trans_ibs_op_ls_memaccess(), and trans_ibs_op_nb().

#define IBS_OP_IBS_LOCKED_OP (  )     ((x->ibs_op_data3_low & DC_MASK_LOCKED_OP) != 0)

15 ibs_locked_op: Locked operation

Definition at line 370 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_IBS_ST_OP (  )     ((x->ibs_op_data3_low & DC_MASK_STORE_OP) != 0)

1 IbsStOp: Store op

Definition at line 328 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_ls().

#define IBS_OP_LS_BASE   0xf200

Definition at line 173 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter().

#define IBS_OP_LS_END   0xf219

Definition at line 174 of file opd_ibs_macro.h.

#define IBS_OP_LS_MAX   (IBS_OP_LS_END - IBS_OP_LS_BASE + 1)

Definition at line 175 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter().

#define IBS_OP_LS_OFFSET (  )     (x - IBS_OP_LS_BASE)

Definition at line 177 of file opd_ibs_macro.h.

Referenced by ibs_parse_and_set_events().

#define IBS_OP_MAX   (IBS_OP_END - IBS_OP_BASE + 1)

Definition at line 136 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter().

#define IBS_OP_MISPREDICT_RETURN (  )     ((x->ibs_op_data1_high & BR_MASK_MISP_RETURN) != 0)

33 op_mispredict_return : mispredicted return macro-op.

Definition at line 279 of file opd_ibs_macro.h.

#define IBS_OP_NB_BASE   0xf240

Definition at line 199 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter().

#define IBS_OP_NB_END   0xf24c

Definition at line 200 of file opd_ibs_macro.h.

#define IBS_OP_NB_IBS_CACHE_HIT_ST (  )     ((x->ibs_op_data2_low & NB_MASK_L3_STATE) != 0)

MSRC001_1036 IBS Op Data 2 Register (IbsOpData2)

5 NbIbsReqCacheHitSt: IBS L3 cache state

Definition at line 301 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define IBS_OP_NB_IBS_REQ_DST_PROC (  )     ((x->ibs_op_data2_low & NB_MASK_REQ_DST_PROC) != 0)

4 NbIbsReqDstProc: IBS request destination processor

Definition at line 304 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define IBS_OP_NB_IBS_REQ_SRC (  )     ((unsigned char)(x->ibs_op_data2_low & NB_MASK_REQ_DATA_SRC))

2:0 NbIbsReqSrc: Northbridge IBS request data source

Definition at line 307 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define IBS_OP_NB_IBS_REQ_SRC_01 (  )     (IBS_OP_NB_IBS_REQ_SRC(x) == 0x01)

Definition at line 309 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define IBS_OP_NB_IBS_REQ_SRC_02 (  )     (IBS_OP_NB_IBS_REQ_SRC(x) == 0x02)

Definition at line 311 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define IBS_OP_NB_IBS_REQ_SRC_03 (  )     (IBS_OP_NB_IBS_REQ_SRC(x) == 0x03)

Definition at line 313 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define IBS_OP_NB_IBS_REQ_SRC_07 (  )     (IBS_OP_NB_IBS_REQ_SRC(x) == 0x07)

Definition at line 315 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_nb().

#define IBS_OP_NB_MAX   (IBS_OP_NB_END - IBS_OP_NB_BASE + 1)

Definition at line 201 of file opd_ibs_macro.h.

#define IBS_OP_NB_OFFSET (  )     (x - IBS_OP_NB_BASE)

Definition at line 203 of file opd_ibs_macro.h.

Referenced by ibs_parse_and_set_events().

#define IBS_OP_OFFSET (  )     (x - IBS_OP_BASE)

Definition at line 138 of file opd_ibs_macro.h.

Referenced by ibs_parse_and_set_events().

#define IBS_OP_RETURN (  )     ((x->ibs_op_data1_high & BR_MASK_RETURN) != 0)

34 IbsOpReturn: return macro-op.

Definition at line 282 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define IBS_OP_RIP_INVALID (  )     ((x->ibs_op_data1_high & MASK_RIP_INVALID) != 0)

38 IbsRipInvalid: RIP invalid.

Definition at line 294 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_rip_invalid().

#define IBS_OP_TAG_TO_RETIRE_CYCLES (  )     ((unsigned short)((x->ibs_op_data1_low >> 16) & BR_MASK_RETIRE))

31:16 tag_to_retire_cycles : macro-op tag to retire count.

Definition at line 273 of file opd_ibs_macro.h.

Referenced by trans_ibs_op().

#define IS_IBS_FETCH (  )     (IBS_FETCH_BASE <= x && x <= IBS_FETCH_END)

Definition at line 114 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter(), ibs_init(), and ibs_parse_and_set_events().

#define IS_IBS_OP (  )     (IBS_OP_BASE <= x && x <= IBS_OP_END)

Definition at line 137 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter(), and ibs_parse_and_set_events().

#define IS_IBS_OP_LS (  )     (IBS_OP_LS_BASE <= x && x <= IBS_OP_LS_END)

Definition at line 176 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter(), and ibs_parse_and_set_events().

#define IS_IBS_OP_NB (  )     (IBS_OP_NB_BASE <= x && x <= IBS_OP_NB_END)

Definition at line 202 of file opd_ibs_macro.h.

Referenced by ibs_event_to_counter(), and ibs_parse_and_set_events().

#define MASK_RIP_INVALID   0x00000040

Definition at line 41 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_mask_reserved().

#define NB_MASK_L3_STATE   0x00000020

Definition at line 50 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_mask_reserved().

#define NB_MASK_REQ_DATA_SRC   0x00000007

Definition at line 52 of file opd_ibs_macro.h.

#define NB_MASK_REQ_DST_PROC   0x00000010

Definition at line 51 of file opd_ibs_macro.h.

Referenced by trans_ibs_op_mask_reserved().

#define OP_MAX_IBS_COUNTERS   (IBS_FETCH_MAX + IBS_OP_MAX + IBS_OP_LS_MAX + IBS_OP_NB_MAX)

Definition at line 207 of file opd_ibs_macro.h.

Referenced by ibs_sfile_find_counter_event().


Enumeration Type Documentation

Enumerator:
L1TLB4K 
L1TLB2M 
L1TLB1G 
L1TLB_INVALID 

Definition at line 229 of file opd_ibs_macro.h.


Generated on 8 Nov 2012 for Oprofile by  doxygen 1.6.1