Patch applied.
Thanks.

On Fri, May 28, 2010 at 4:54 PM, Robert Richter <robert.rich...@amd.com> wrote:
> Update from:
>
>  BIOS and Kernel Developer's Guide (BKDG) For AMD
>  Family 10h Processors, 31116 Rev 3.48 - April 22, 2010
>
> Added:
>
> * EventSelect 068h and EventSelect 069h (all models)
> * EventSelect 4EDh (RevD)
>
> Signed-off-by: Robert Richter <robert.rich...@amd.com>
> ---
>  lib/events/amd64_events_fam10h.h |  351 
> +++++++++++++++++++++++++++-----------
>  1 files changed, 254 insertions(+), 97 deletions(-)
>
> diff --git a/lib/events/amd64_events_fam10h.h 
> b/lib/events/amd64_events_fam10h.h
> index 48a513b..a45dd87 100644
> --- a/lib/events/amd64_events_fam10h.h
> +++ b/lib/events/amd64_events_fam10h.h
> @@ -25,6 +25,11 @@
>
>  /* History
>  *
> + * May 28 2010 -- Robert Richter, robert.rich...@amd.com:
> + *
> + * Update from: BIOS and Kernel Developer's Guide (BKDG) For AMD
> + * Family 10h Processors, 31116 Rev 3.48 - April 22, 2010
> + *
>  * Feb 06 2009 -- Robert Richter, robert.rich...@amd.com:
>  *
>  * Update for Family 10h RevD (Istanbul) from: BIOS and Kernel
> @@ -694,7 +699,103 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 34 */{.name = "SYSTEM_READ_RESPONSES",
> +/* 34 */{.name = "MAB_REQUESTS",
> +       .code  = 0x68,
> +       .modmsk = AMD64_FAM10H_ATTRS,
> +       .desc  = "Average L1 refill latency for Icache and Dcache misses 
> (request count for cache refills)",
> +       .numasks = 10,
> +       .umasks  = {
> +               { .uname = "BUFFER_0",
> +                 .udesc = "Buffer 0",
> +                 .ucode = 0x00,
> +               },
> +               { .uname = "BUFFER_1",
> +                 .udesc = "Buffer 1",
> +                 .ucode = 0x01,
> +               },
> +               { .uname = "BUFFER_2",
> +                 .udesc = "Buffer 2",
> +                 .ucode = 0x02,
> +               },
> +               { .uname = "BUFFER_3",
> +                 .udesc = "Buffer 3",
> +                 .ucode = 0x03,
> +               },
> +               { .uname = "BUFFER_4",
> +                 .udesc = "Buffer 4",
> +                 .ucode = 0x04,
> +               },
> +               { .uname = "BUFFER_5",
> +                 .udesc = "Buffer 5",
> +                 .ucode = 0x05,
> +               },
> +               { .uname = "BUFFER_6",
> +                 .udesc = "Buffer 6",
> +                 .ucode = 0x06,
> +               },
> +               { .uname = "BUFFER_7",
> +                 .udesc = "Buffer 7",
> +                 .ucode = 0x07,
> +               },
> +               { .uname = "BUFFER_8",
> +                 .udesc = "Buffer 8",
> +                 .ucode = 0x08,
> +               },
> +               { .uname = "BUFFER_9",
> +                 .udesc = "Buffer 9",
> +                 .ucode = 0x09,
> +               },
> +        },
> +       },
> +/* 35 */{.name = "MAB_WAIT_CYCLES",
> +       .code  = 0x69,
> +       .modmsk = AMD64_FAM10H_ATTRS,
> +       .desc  = "Average L1 refill latency for Icache and Dcache misses 
> (cycles that requests spent waiting for the refills)",
> +       .numasks = 10,
> +       .umasks  = {
> +               { .uname = "BUFFER_0",
> +                 .udesc = "Buffer 0",
> +                 .ucode = 0x00,
> +               },
> +               { .uname = "BUFFER_1",
> +                 .udesc = "Buffer 1",
> +                 .ucode = 0x01,
> +               },
> +               { .uname = "BUFFER_2",
> +                 .udesc = "Buffer 2",
> +                 .ucode = 0x02,
> +               },
> +               { .uname = "BUFFER_3",
> +                 .udesc = "Buffer 3",
> +                 .ucode = 0x03,
> +               },
> +               { .uname = "BUFFER_4",
> +                 .udesc = "Buffer 4",
> +                 .ucode = 0x04,
> +               },
> +               { .uname = "BUFFER_5",
> +                 .udesc = "Buffer 5",
> +                 .ucode = 0x05,
> +               },
> +               { .uname = "BUFFER_6",
> +                 .udesc = "Buffer 6",
> +                 .ucode = 0x06,
> +               },
> +               { .uname = "BUFFER_7",
> +                 .udesc = "Buffer 7",
> +                 .ucode = 0x07,
> +               },
> +               { .uname = "BUFFER_8",
> +                 .udesc = "Buffer 8",
> +                 .ucode = 0x08,
> +               },
> +               { .uname = "BUFFER_9",
> +                 .udesc = "Buffer 9",
> +                 .ucode = 0x09,
> +               },
> +        },
> +       },
> +/* 36 */{.name = "SYSTEM_READ_RESPONSES",
>        .code  = 0x6C,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Northbridge Read Responses by Coherency State",
> @@ -727,7 +828,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 35 */{.name = "QUADWORDS_WRITTEN_TO_SYSTEM",
> +/* 37 */{.name = "QUADWORDS_WRITTEN_TO_SYSTEM",
>        .code  = 0x6D,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Octwords Written to System",
> @@ -744,12 +845,12 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 36 */{.name = "CPU_CLK_UNHALTED",
> +/* 38 */{.name = "CPU_CLK_UNHALTED",
>        .code  = 0x76,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "CPU Clocks not Halted",
>        },
> -/* 37 */{.name = "REQUESTS_TO_L2",
> +/* 39 */{.name = "REQUESTS_TO_L2",
>        .code  = 0x7D,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Requests to L2 Cache",
> @@ -786,7 +887,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 38 */{.name = "L2_CACHE_MISS",
> +/* 40 */{.name = "L2_CACHE_MISS",
>        .code  = 0x7E,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "L2 Cache Misses",
> @@ -815,7 +916,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 39 */{.name = "L2_FILL_WRITEBACK",
> +/* 41 */{.name = "L2_FILL_WRITEBACK",
>        .code  = 0x7F,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "L2 Fill/Writeback",
> @@ -836,32 +937,32 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 40 */{.name = "INSTRUCTION_CACHE_FETCHES",
> +/* 42 */{.name = "INSTRUCTION_CACHE_FETCHES",
>        .code  = 0x80,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Instruction Cache Fetches",
>        },
> -/* 41 */{.name = "INSTRUCTION_CACHE_MISSES",
> +/* 43 */{.name = "INSTRUCTION_CACHE_MISSES",
>        .code  = 0x81,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Instruction Cache Misses",
>        },
> -/* 42 */{.name = "INSTRUCTION_CACHE_REFILLS_FROM_L2",
> +/* 44 */{.name = "INSTRUCTION_CACHE_REFILLS_FROM_L2",
>        .code  = 0x82,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Instruction Cache Refills from L2",
>        },
> -/* 43 */{.name = "INSTRUCTION_CACHE_REFILLS_FROM_SYSTEM",
> +/* 45 */{.name = "INSTRUCTION_CACHE_REFILLS_FROM_SYSTEM",
>        .code  = 0x83,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Instruction Cache Refills from System",
>        },
> -/* 44 */{.name = "L1_ITLB_MISS_AND_L2_ITLB_HIT",
> +/* 46 */{.name = "L1_ITLB_MISS_AND_L2_ITLB_HIT",
>        .code  = 0x84,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "L1 ITLB Miss and L2 ITLB Hit",
>        },
> -/* 45 */{.name = "L1_ITLB_MISS_AND_L2_ITLB_MISS",
> +/* 47 */{.name = "L1_ITLB_MISS_AND_L2_ITLB_MISS",
>        .code  = 0x85,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "L1 ITLB Miss and L2 ITLB Miss",
> @@ -882,32 +983,32 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 46 */{.name = "PIPELINE_RESTART_DUE_TO_INSTRUCTION_STREAM_PROBE",
> +/* 48 */{.name = "PIPELINE_RESTART_DUE_TO_INSTRUCTION_STREAM_PROBE",
>        .code  = 0x86,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Pipeline Restart Due to Instruction Stream Probe",
>        },
> -/* 47 */{.name = "INSTRUCTION_FETCH_STALL",
> +/* 49 */{.name = "INSTRUCTION_FETCH_STALL",
>        .code  = 0x87,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Instruction Fetch Stall",
>        },
> -/* 48 */{.name = "RETURN_STACK_HITS",
> +/* 50 */{.name = "RETURN_STACK_HITS",
>        .code  = 0x88,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Return Stack Hits",
>        },
> -/* 49 */{.name = "RETURN_STACK_OVERFLOWS",
> +/* 51 */{.name = "RETURN_STACK_OVERFLOWS",
>        .code  = 0x89,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Return Stack Overflows",
>        },
> -/* 50 */{.name = "INSTRUCTION_CACHE_VICTIMS",
> +/* 52 */{.name = "INSTRUCTION_CACHE_VICTIMS",
>        .code  = 0x8B,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Instruction Cache Victims",
>        },
> -/* 51 */{.name = "INSTRUCTION_CACHE_LINES_INVALIDATED",
> +/* 53 */{.name = "INSTRUCTION_CACHE_LINES_INVALIDATED",
>        .code  = 0x8C,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Instruction Cache Lines Invalidated",
> @@ -928,72 +1029,72 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 52 */{.name = "ITLB_RELOADS",
> +/* 54 */{.name = "ITLB_RELOADS",
>        .code  = 0x99,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "ITLB Reloads",
>        },
> -/* 53 */{.name = "ITLB_RELOADS_ABORTED",
> +/* 55 */{.name = "ITLB_RELOADS_ABORTED",
>        .code  = 0x9A,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "ITLB Reloads Aborted",
>        },
> -/* 54 */{.name = "RETIRED_INSTRUCTIONS",
> +/* 56 */{.name = "RETIRED_INSTRUCTIONS",
>        .code  = 0xC0,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Instructions",
>        },
> -/* 55 */{.name = "RETIRED_UOPS",
> +/* 57 */{.name = "RETIRED_UOPS",
>        .code  = 0xC1,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired uops",
>        },
> -/* 56 */{.name = "RETIRED_BRANCH_INSTRUCTIONS",
> +/* 58 */{.name = "RETIRED_BRANCH_INSTRUCTIONS",
>        .code  = 0xC2,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Branch Instructions",
>        },
> -/* 57 */{.name = "RETIRED_MISPREDICTED_BRANCH_INSTRUCTIONS",
> +/* 59 */{.name = "RETIRED_MISPREDICTED_BRANCH_INSTRUCTIONS",
>        .code  = 0xC3,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Mispredicted Branch Instructions",
>        },
> -/* 58 */{.name = "RETIRED_TAKEN_BRANCH_INSTRUCTIONS",
> +/* 60 */{.name = "RETIRED_TAKEN_BRANCH_INSTRUCTIONS",
>        .code  = 0xC4,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Taken Branch Instructions",
>        },
> -/* 59 */{.name = "RETIRED_TAKEN_BRANCH_INSTRUCTIONS_MISPREDICTED",
> +/* 61 */{.name = "RETIRED_TAKEN_BRANCH_INSTRUCTIONS_MISPREDICTED",
>        .code  = 0xC5,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Taken Branch Instructions Mispredicted",
>        },
> -/* 60 */{.name = "RETIRED_FAR_CONTROL_TRANSFERS",
> +/* 62 */{.name = "RETIRED_FAR_CONTROL_TRANSFERS",
>        .code  = 0xC6,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Far Control Transfers",
>        },
> -/* 61 */{.name = "RETIRED_BRANCH_RESYNCS",
> +/* 63 */{.name = "RETIRED_BRANCH_RESYNCS",
>        .code  = 0xC7,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Branch Resyncs",
>        },
> -/* 62 */{.name = "RETIRED_NEAR_RETURNS",
> +/* 64 */{.name = "RETIRED_NEAR_RETURNS",
>        .code  = 0xC8,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Near Returns",
>        },
> -/* 63 */{.name = "RETIRED_NEAR_RETURNS_MISPREDICTED",
> +/* 65 */{.name = "RETIRED_NEAR_RETURNS_MISPREDICTED",
>        .code  = 0xC9,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Near Returns Mispredicted",
>        },
> -/* 64 */{.name = "RETIRED_INDIRECT_BRANCHES_MISPREDICTED",
> +/* 66 */{.name = "RETIRED_INDIRECT_BRANCHES_MISPREDICTED",
>        .code  = 0xCA,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Indirect Branches Mispredicted",
>        },
> -/* 65 */{.name = "RETIRED_MMX_AND_FP_INSTRUCTIONS",
> +/* 67 */{.name = "RETIRED_MMX_AND_FP_INSTRUCTIONS",
>        .code  = 0xCB,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired MMX/FP Instructions",
> @@ -1018,7 +1119,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 66 */{.name = "RETIRED_FASTPATH_DOUBLE_OP_INSTRUCTIONS",
> +/* 68 */{.name = "RETIRED_FASTPATH_DOUBLE_OP_INSTRUCTIONS",
>        .code  = 0xCC,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired Fastpath Double Op Instructions",
> @@ -1043,77 +1144,77 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 67 */{.name = "INTERRUPTS_MASKED_CYCLES",
> +/* 69 */{.name = "INTERRUPTS_MASKED_CYCLES",
>        .code  = 0xCD,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Interrupts-Masked Cycles",
>        },
> -/* 68 */{.name = "INTERRUPTS_MASKED_CYCLES_WITH_INTERRUPT_PENDING",
> +/* 70 */{.name = "INTERRUPTS_MASKED_CYCLES_WITH_INTERRUPT_PENDING",
>        .code  = 0xCE,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Interrupts-Masked Cycles with Interrupt Pending",
>        },
> -/* 69 */{.name = "INTERRUPTS_TAKEN",
> +/* 71 */{.name = "INTERRUPTS_TAKEN",
>        .code  = 0xCF,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Interrupts Taken",
>        },
> -/* 70 */{.name = "DECODER_EMPTY",
> +/* 72 */{.name = "DECODER_EMPTY",
>        .code  = 0xD0,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Decoder Empty",
>        },
> -/* 71 */{.name = "DISPATCH_STALLS",
> +/* 73 */{.name = "DISPATCH_STALLS",
>        .code  = 0xD1,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Dispatch Stalls",
>        },
> -/* 72 */{.name = "DISPATCH_STALL_FOR_BRANCH_ABORT",
> +/* 74 */{.name = "DISPATCH_STALL_FOR_BRANCH_ABORT",
>        .code  = 0xD2,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Dispatch Stall for Branch Abort to Retire",
>        },
> -/* 73 */{.name = "DISPATCH_STALL_FOR_SERIALIZATION",
> +/* 75 */{.name = "DISPATCH_STALL_FOR_SERIALIZATION",
>        .code  = 0xD3,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Dispatch Stall for Serialization",
>        },
> -/* 74 */{.name = "DISPATCH_STALL_FOR_SEGMENT_LOAD",
> +/* 76 */{.name = "DISPATCH_STALL_FOR_SEGMENT_LOAD",
>        .code  = 0xD4,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Dispatch Stall for Segment Load",
>        },
> -/* 75 */{.name = "DISPATCH_STALL_FOR_REORDER_BUFFER_FULL",
> +/* 77 */{.name = "DISPATCH_STALL_FOR_REORDER_BUFFER_FULL",
>        .code  = 0xD5,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Dispatch Stall for Reorder Buffer Full",
>        },
> -/* 76 */{.name = "DISPATCH_STALL_FOR_RESERVATION_STATION_FULL",
> +/* 78 */{.name = "DISPATCH_STALL_FOR_RESERVATION_STATION_FULL",
>        .code  = 0xD6,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Dispatch Stall for Reservation Station Full",
>        },
> -/* 77 */{.name = "DISPATCH_STALL_FOR_FPU_FULL",
> +/* 79 */{.name = "DISPATCH_STALL_FOR_FPU_FULL",
>        .code  = 0xD7,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Dispatch Stall for FPU Full",
>        },
> -/* 78 */{.name = "DISPATCH_STALL_FOR_LS_FULL",
> +/* 80 */{.name = "DISPATCH_STALL_FOR_LS_FULL",
>        .code  = 0xD8,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Dispatch Stall for LS Full",
>        },
> -/* 79 */{.name = "DISPATCH_STALL_WAITING_FOR_ALL_QUIET",
> +/* 81 */{.name = "DISPATCH_STALL_WAITING_FOR_ALL_QUIET",
>        .code  = 0xD9,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Dispatch Stall Waiting for All Quiet",
>        },
> -/* 80 */{.name = "DISPATCH_STALL_FOR_FAR_TRANSFER_OR_RSYNC",
> +/* 82 */{.name = "DISPATCH_STALL_FOR_FAR_TRANSFER_OR_RSYNC",
>        .code  = 0xDA,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Dispatch Stall for Far Transfer or Resync to Retire",
>        },
> -/* 81 */{.name = "FPU_EXCEPTIONS",
> +/* 83 */{.name = "FPU_EXCEPTIONS",
>        .code  = 0xDB,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "FPU Exceptions",
> @@ -1142,27 +1243,27 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 82 */{.name = "DR0_BREAKPOINT_MATCHES",
> +/* 84 */{.name = "DR0_BREAKPOINT_MATCHES",
>        .code  = 0xDC,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "DR0 Breakpoint Matches",
>        },
> -/* 83 */{.name = "DR1_BREAKPOINT_MATCHES",
> +/* 85 */{.name = "DR1_BREAKPOINT_MATCHES",
>        .code  = 0xDD,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "DR1 Breakpoint Matches",
>        },
> -/* 84 */{.name = "DR2_BREAKPOINT_MATCHES",
> +/* 86 */{.name = "DR2_BREAKPOINT_MATCHES",
>        .code  = 0xDE,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "DR2 Breakpoint Matches",
>        },
> -/* 85 */{.name = "DR3_BREAKPOINT_MATCHES",
> +/* 87 */{.name = "DR3_BREAKPOINT_MATCHES",
>        .code  = 0xDF,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "DR3 Breakpoint Matches",
>        },
> -/* 86 */{.name = "DRAM_ACCESSES_PAGE",
> +/* 88 */{.name = "DRAM_ACCESSES_PAGE",
>        .code  = 0xE0,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "DRAM Accesses",
> @@ -1199,7 +1300,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 87 */{.name = "MEMORY_CONTROLLER_PAGE_TABLE_OVERFLOWS",
> +/* 89 */{.name = "MEMORY_CONTROLLER_PAGE_TABLE_OVERFLOWS",
>        .code  = 0xE1,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "DRAM Controller Page Table Overflows",
> @@ -1220,7 +1321,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 88 */{.name = "MEMORY_CONTROLLER_SLOT_MISSES",
> +/* 90 */{.name = "MEMORY_CONTROLLER_SLOT_MISSES",
>        .code  = 0xE2,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Memory Controller DRAM Command Slots Missed",
> @@ -1241,7 +1342,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 89 */{.name = "MEMORY_CONTROLLER_TURNAROUNDS",
> +/* 91 */{.name = "MEMORY_CONTROLLER_TURNAROUNDS",
>        .code  = 0xE3,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Memory Controller Turnarounds",
> @@ -1278,7 +1379,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 90 */{.name = "MEMORY_CONTROLLER_BYPASS",
> +/* 92 */{.name = "MEMORY_CONTROLLER_BYPASS",
>        .code  = 0xE4,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Memory Controller Bypass Counter Saturation",
> @@ -1307,7 +1408,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 91 */{.name = "THERMAL_STATUS_AND_ECC_ERRORS",
> +/* 93 */{.name = "THERMAL_STATUS_AND_ECC_ERRORS",
>        .code  = 0xE8,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Thermal Status",
> @@ -1340,7 +1441,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 92 */{.name = "CPU_IO_REQUESTS_TO_MEMORY_IO",
> +/* 94 */{.name = "CPU_IO_REQUESTS_TO_MEMORY_IO",
>        .code  = 0xE9,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "CPU/IO Requests to Memory/IO",
> @@ -1385,7 +1486,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 93 */{.name = "CACHE_BLOCK",
> +/* 95 */{.name = "CACHE_BLOCK",
>        .code  = 0xEA,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Cache Block Commands",
> @@ -1418,7 +1519,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 94 */{.name = "SIZED_COMMANDS",
> +/* 96 */{.name = "SIZED_COMMANDS",
>        .code  = 0xEB,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Sized Commands",
> @@ -1433,7 +1534,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                  .ucode = 0x02,
>                },
>                { .uname = "POSTED_WRITE_BYTE",
> -                 .udesc = "Posted SzWr Byte (1-32 bytes) Sub-cache-line DMA 
> writes, size varies; also flushes of partially-filled Write Combining buffer",
> +                 .udesc = "Posted SzWr Byte (1-32 bytes) Subcache-line DMA 
> writes, size varies; also flushes of partially-filled Write Combining buffer",
>                  .ucode = 0x04,
>                },
>                { .uname = "POSTED_WRITE_DWORD",
> @@ -1455,7 +1556,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 95 */{.name = "PROBE",
> +/* 97 */{.name = "PROBE",
>        .code  = 0xEC,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Probe Responses and Upstream Requests",
> @@ -1500,7 +1601,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 96 */{.name = "GART",
> +/* 98 */{.name = "GART",
>        .code  = 0xEE,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "GART Events",
> @@ -1545,7 +1646,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 97 */{.name = "MEMORY_CONTROLLER_REQUESTS",
> +/* 99 */{.name = "MEMORY_CONTROLLER_REQUESTS",
>        .code  = 0x1F0,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Memory Controller Requests",
> @@ -1590,7 +1691,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 98 */{.name = "CPU_TO_DRAM_REQUESTS_TO_TARGET_NODE",
> +/* 100 */{.name = "CPU_TO_DRAM_REQUESTS_TO_TARGET_NODE",
>        .code  = 0x1E0,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "CPU to DRAM Requests to Target Node",
> @@ -1635,7 +1736,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 99 */{.name = "IO_TO_DRAM_REQUESTS_TO_TARGET_NODE",
> +/* 101 */{.name = "IO_TO_DRAM_REQUESTS_TO_TARGET_NODE",
>        .code  = 0x1E1,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "IO to DRAM Requests to Target Node",
> @@ -1680,7 +1781,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 100 */{.name = "CPU_READ_COMMAND_LATENCY_TO_TARGET_NODE_0_3",
> +/* 102 */{.name = "CPU_READ_COMMAND_LATENCY_TO_TARGET_NODE_0_3",
>        .code  = 0x1E2,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "CPU Read Command Latency to Target Node 0-3",
> @@ -1725,7 +1826,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 101 */{.name = "CPU_READ_COMMAND_REQUESTS_TO_TARGET_NODE_0_3",
> +/* 103 */{.name = "CPU_READ_COMMAND_REQUESTS_TO_TARGET_NODE_0_3",
>        .code  = 0x1E3,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "CPU Read Command Requests to Target Node 0-3",
> @@ -1770,7 +1871,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 102 */{.name = "CPU_READ_COMMAND_LATENCY_TO_TARGET_NODE_4_7",
> +/* 104 */{.name = "CPU_READ_COMMAND_LATENCY_TO_TARGET_NODE_4_7",
>        .code  = 0x1E4,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "CPU Read Command Latency to Target Node 4-7",
> @@ -1815,7 +1916,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 103 */{.name = "CPU_READ_COMMAND_REQUESTS_TO_TARGET_NODE_4_7",
> +/* 105 */{.name = "CPU_READ_COMMAND_REQUESTS_TO_TARGET_NODE_4_7",
>        .code  = 0x1E5,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "CPU Read Command Requests to Target Node 4-7",
> @@ -1860,7 +1961,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 104 */{.name = "CPU_COMMAND_LATENCY_TO_TARGET_NODE_0_3_4_7",
> +/* 106 */{.name = "CPU_COMMAND_LATENCY_TO_TARGET_NODE_0_3_4_7",
>        .code  = 0x1E6,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "CPU Command Latency to Target Node 0-3/4-7",
> @@ -1905,7 +2006,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 105 */{.name = "CPU_REQUESTS_TO_TARGET_NODE_0_3_4_7",
> +/* 107 */{.name = "CPU_REQUESTS_TO_TARGET_NODE_0_3_4_7",
>        .code  = 0x1E7,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "CPU Requests to Target Node 0-3/4-7",
> @@ -1950,7 +2051,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 106 */{.name = "HYPERTRANSPORT_LINK0",
> +/* 108 */{.name = "HYPERTRANSPORT_LINK0",
>        .code  = 0xF6,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "HyperTransport Link 0 Transmit Bandwidth",
> @@ -1991,7 +2092,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 107 */{.name = "HYPERTRANSPORT_LINK1",
> +/* 109 */{.name = "HYPERTRANSPORT_LINK1",
>        .code  = 0xF7,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "HyperTransport Link 1 Transmit Bandwidth",
> @@ -2032,7 +2133,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 108 */{.name = "HYPERTRANSPORT_LINK2",
> +/* 110 */{.name = "HYPERTRANSPORT_LINK2",
>        .code  = 0xF8,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "HyperTransport Link 2 Transmit Bandwidth",
> @@ -2073,7 +2174,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 109 */{.name = "HYPERTRANSPORT_LINK3",
> +/* 111 */{.name = "HYPERTRANSPORT_LINK3",
>        .code  = 0x1F9,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "HyperTransport Link 3 Transmit Bandwidth",
> @@ -2114,7 +2215,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 110 */{.name = "READ_REQUEST_TO_L3_CACHE",
> +/* 112 */{.name = "READ_REQUEST_TO_L3_CACHE",
>        .code  = 0x4E0,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Read Request to L3 Cache",
> @@ -2156,7 +2257,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 111 */{.name = "L3_CACHE_MISSES",
> +/* 113 */{.name = "L3_CACHE_MISSES",
>        .code  = 0x4E1,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "L3 Cache Misses",
> @@ -2198,7 +2299,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 112 */{.name = "L3_FILLS_CAUSED_BY_L2_EVICTIONS",
> +/* 114 */{.name = "L3_FILLS_CAUSED_BY_L2_EVICTIONS",
>        .code  = 0x4E2,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "L3 Fills caused by L2 Evictions",
> @@ -2244,7 +2345,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 113 */{.name = "L3_EVICTIONS",
> +/* 115 */{.name = "L3_EVICTIONS",
>        .code  = 0x4E3,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "L3 Evictions",
> @@ -2276,7 +2377,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>
>  /* Family 10h RevC, Shanghai */
>
> -/* 114 */{.name = "PAGE_SIZE_MISMATCHES",
> +/* 116 */{.name = "PAGE_SIZE_MISMATCHES",
>        .code  = 0x165,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Page Size Mismatches",
> @@ -2302,7 +2403,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 115 */{.name = "RETIRED_X87_OPS",
> +/* 117 */{.name = "RETIRED_X87_OPS",
>        .code  = 0x1C0,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Retired x87 Floating Point Operations",
> @@ -2328,25 +2429,25 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 116 */{.name = "IBS_OPS_TAGGED",
> +/* 118 */{.name = "IBS_OPS_TAGGED",
>        .code  = 0x1CF,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "IBS Ops Tagged",
>        .flags = AMD64_FL_FAM10H_REV_C,
>        },
> -/* 117 */{.name = "LFENCE_INST_RETIRED",
> +/* 119 */{.name = "LFENCE_INST_RETIRED",
>        .code  = 0x1D3,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "LFENCE Instructions Retired",
>        .flags = AMD64_FL_FAM10H_REV_C,
>        },
> -/* 118 */{.name = "SFENCE_INST_RETIRED",
> +/* 120 */{.name = "SFENCE_INST_RETIRED",
>        .code  = 0x1D4,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "SFENCE Instructions Retired",
>        .flags = AMD64_FL_FAM10H_REV_C,
>        },
> -/* 119 */{.name = "MFENCE_INST_RETIRED",
> +/* 121 */{.name = "MFENCE_INST_RETIRED",
>        .code  = 0x1D5,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "MFENCE Instructions Retired",
> @@ -2355,7 +2456,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>
>  /* Family 10h RevD, Istanbul */
>
> -/* 120 */{.name = "READ_REQUEST_TO_L3_CACHE",
> +/* 122 */{.name = "READ_REQUEST_TO_L3_CACHE",
>        .code  = 0x4E0,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "Read Request to L3 Cache",
> @@ -2409,7 +2510,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 121 */{.name = "L3_CACHE_MISSES",
> +/* 123 */{.name = "L3_CACHE_MISSES",
>        .code  = 0x4E1,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "L3 Cache Misses",
> @@ -2463,7 +2564,7 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/* 122 */{.name = "L3_FILLS_CAUSED_BY_L2_EVICTIONS",
> +/* 124 */{.name = "L3_FILLS_CAUSED_BY_L2_EVICTIONS",
>        .code  = 0x4E2,
>        .modmsk = AMD64_FAM10H_ATTRS,
>        .desc  = "L3 Fills caused by L2 Evictions",
> @@ -2521,19 +2622,75 @@ static const amd64_entry_t amd64_fam10h_pe[]={
>                },
>         },
>        },
> -/*  123 */{.name = "IBSFETCH_EVENT",
> -       .code  = 0xff,
> +/* 125 */{.name = "NON_CANCELLED_L3_READ_REQUESTS",
> +       .code  = 0x4ED,
> +       .modmsk = AMD64_FAM10H_ATTRS,
> +       .desc  = "Non-cancelled L3 Read Requests",
> +       .flags = AMD64_FL_FAM10H_REV_D,
> +       .numasks = 11,
> +       .umasks  = {
> +               { .uname = "READ_BLOCK_EXCLUSIVE",
> +                 .udesc = "Read Block Exclusive (Data cache read)",
> +                 .ucode = 0x01,
> +               },
> +               { .uname = "READ_BLOCK_SHARED",
> +                 .udesc = "Read Block Shared (Instruction cache read)",
> +                 .ucode = 0x02,
> +               },
> +               { .uname = "READ_BLOCK_MODIFY",
> +                 .udesc = "Read Block Modify",
> +                 .ucode = 0x04,
> +               },
> +               { .uname = "CORE_0_SELECT",
> +                 .udesc = "Core 0 Select",
> +                 .ucode = 0x00,
> +               },
> +               { .uname = "CORE_1_SELECT",
> +                 .udesc = "Core 1 Select",
> +                 .ucode = 0x10,
> +               },
> +               { .uname = "CORE_2_SELECT",
> +                 .udesc = "Core 2 Select",
> +                 .ucode = 0x20,
> +               },
> +               { .uname = "CORE_3_SELECT",
> +                 .udesc = "Core 3 Select",
> +                 .ucode = 0x30,
> +               },
> +               { .uname = "CORE_4_SELECT",
> +                 .udesc = "Core 4 Select",
> +                 .ucode = 0x40,
> +               },
> +               { .uname = "CORE_5_SELECT",
> +                 .udesc = "Core 5 Select",
> +                 .ucode = 0x50,
> +               },
> +               { .uname = "ANY_CORE",
> +                 .udesc = "Any core",
> +                 .ucode = 0xF0,
> +               },
> +               { .uname = "ALL",
> +                 .udesc = "All sub-events selected",
> +                 .ucode = 0xF7,
> +                 .uflags = AMD64_FL_DFL|AMD64_FL_NCOMBO,
> +               },
> +        },
> +       },
> +
> +/* Family 10h, IBS pseudo-events */
> +
> +/* 126 */{.name = "IBSFETCH_EVENT",
> +       .code  = 0xFF,
>        .modmsk = AMD64_FAM10H_ATTRS_IBSFE,
>        .desc  = "pseudo-event to enable IBS Fetch sampling",
>        .flags = AMD64_FL_IBSFE,
> -        },
> -
> -/*  124 */{.name = "IBSOP_EVENT",
> -       .code  = 0xff,
> +       },
> +/* 127 */{.name = "IBSOP_EVENT",
> +       .code  = 0xFF,
>        .modmsk = AMD64_FAM10H_ATTRS_IBSOP,
>        .desc  = "pseudo-event to enable IBS Op sampling",
>        .flags = AMD64_FL_IBSOP,
> -        },
> +       },
>  };
>
>  #define PME_AMD64_FAM10H_EVENT_COUNT           
> (sizeof(amd64_fam10h_pe)/sizeof(amd64_entry_t))
> --
> 1.7.1
>
>
> --
> Advanced Micro Devices, Inc.
> Operating System Research Center
> email: robert.rich...@amd.com
>
>
------------------------------------------------------------------------------

_______________________________________________
perfmon2-devel mailing list
perfmon2-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/perfmon2-devel

Reply via email to