# AMD Family 10 processor unit masks
#
# Copyright OProfile authors
# Copyright (c) 2006-2008 Advanced Micro Devices
# Contributed by Ray Bryant <raybry at amd.com>,
#		Jason Yeh <jason.yeh at amd.com>
#		Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
#
# Sources: BIOS and Kernel Developer's Guide for AMD Family 10h Processors,
#          Publication# 31116, Revision 3.48, April 22, 2010
#
#          Software Optimization Guide for AMD Family 10h and Family 12h Processors,
#          Publication# 40546, Revision 3.13, February 2011
#          (Note: For IBS Derived Performance Events)
#
# Revision: 1.4
#
# ChangeLog: 
#	1.4: 11 March 2011
#       - Update to BKDG revision 3.48
#       - Fix typo in the description for event 0xf244
#       - Update the minimum for RETIRED_UOPS
#       - Add event 0x68, 0x69
#
#	1.3: 22 October 2009.
# 	- Update from BKDG Rev 3.28 to Rev 3.34 (no change)
#	- Modify unitmasks l3_evict
#
#	1.2: 03 June 2009.
# 	- Update from BKDG Rev 3.20 to Rev 3.28
#	- Add Event 4EDh
#	- Modify unitmasks for 4E0h-4E3h
#
#	1.1: 06 April 2009.
# 	- Add IBS-derived events
# 	- Update from BKDG Rev 3.00 to Rev 3.20
# 	- Add Events 165h, 1c0h, 1cfh, 1d3h-1d5h
#
name:zero type:mandatory default:0x0
	0x0 No unit mask
name:moesi type:bitmask default:0x1f
	0x01 (I)nvalid cache state
	0x02 (S)hared cache state
	0x04 (E)xclusive cache state
	0x08 (O)wner cache state
	0x10 (M)odified cache state
	0x1f All cache states
name:moess type:bitmask default:0x1e
	0x01 Refill from northbridge
	0x02 Shared-state line from L2
	0x04 Exclusive-state line from L2
	0x08 Owner-state line from L2
	0x10 Modified-state line from L2
	0x1e All cache states except refill from northbridge
name:fpu_ops type:bitmask default:0x3f
	0x01 Add pipe ops excluding load ops and SSE move ops
	0x02 Multiply pipe ops excluding load ops and SSE move ops
	0x04 Store pipe ops excluding load ops and SSE move ops 
	0x08 Add pipe load ops and SSE move ops
	0x10 Multiply pipe load ops and SSE move ops
	0x20 Store pipe load ops and SSE move ops
	0x3f All ops
name:segregload type:bitmask default:0x7f
	0x01 ES register
	0x02 CS register
	0x04 SS register
	0x08 DS register
	0x10 FS register
	0x20 GS register
	0x40 HS register
name:fpu_instr type:bitmask default:0x07
	0x01 x87 instructions
	0x02 MMX & 3DNow instructions
	0x04 SSE instructions (SSE, SSE2, SSE3, and SSE4A)
name:fpu_fastpath type:bitmask default:0x07
	0x01 With low op in position 0
	0x02 With low op in position 1
	0x04 With low op in position 2
name:fpu_exceptions type:bitmask default:0x0f
	0x01 x87 reclass microfaults
	0x02 SSE retype microfaults
	0x04 SSE reclass microfaults
	0x08 SSE and x87 microtraps
name:page_access type:bitmask default:0x3f
	0x01 DCT0 Page hit
	0x02 DCT0 Page miss
	0x04 DCT0 Page conflict
	0x08 DCT1 Page hit
	0x10 DCT1 Page miss
	0x20 DCT1 Page Conflict
name:mem_page_overflow  type:bitmask default:0x03
	0x01 DCT0 Page Table Overflow
	0x02 DCT1 Page Table Overflow
name:turnaround type:bitmask default:0x3f
	0x01 DCT0 DIMM (chip select) turnaround
	0x02 DCT0 Read to write turnaround
	0x04 DCT0 Write to read turnaround
	0x08 DCT1 DIMM (chip select) turnaround
	0x10 DCT1 Read to write turnaround
	0x20 DCT1 Write to read turnaround
name:saturation type:bitmask default:0x0f
	0x01 Memory controller high priority bypass
	0x02 Memory controller medium priority bypass
	0x04 DCT0 DCQ bypass
	0x08 DCT1 DCQ bypass
name:slot_missed  type:bitmask default:0x03
	0x01 DCT0 Command slots missed
	0x02 DCT2 Command slots missed
name:sizecmds type:bitmask default:0x3f
	0x01 Non-posted write byte (1-32 bytes)
	0x02 Non-posted write DWORD (1-16 DWORDs)
	0x04 Posted write byte (1-32 bytes)
	0x08 Posted write DWORD (1-16 DWORDs)
	0x10 Read byte (4 bytes)
	0x20 Read DWORD (1-16 DWORDs)
name:probe type:bitmask default:0xff
	0x01 Probe miss
	0x02 Probe hit clean
	0x04 Probe hit dirty without memory cancel
	0x08 Probe hit dirty with memory cancel
	0x10 Upstream display refresh/ISOC reads
	0x20 Upstream non-display refresh reads
	0x40 Upstream ISOC writes
	0x80 Upstream non-ISOC writes
name:l2_internal type:bitmask default:0x3f
	0x01 IC fill
	0x02 DC fill
	0x04 TLB fill (page table walks)
	0x08 Tag snoop request
	0x10 Canceled request
	0x20 Hardware prefetch from data cache
name:l2_req_miss type:bitmask default:0x0f
	0x01 IC fill
	0x02 DC fill (includes possible replays)
	0x04 TLB page table walk
	0x08 Hardware prefetch from data cache
name:l2_fill type:bitmask default:0x03
	0x01 L2 fills (victims from L1 caches, TLB page table walks and data prefetches)
	0x02 L2 writebacks to system
name:gart type:bitmask default:0xff
	0x01 GART aperture hit on access from CPU
	0x02 GART aperture hit on access from I/O
	0x04 GART miss
	0x08 GART/DEV request hit table walk in progress
	0x10 DEV hit
	0x20 DEV miss
	0x40 DEV error
	0x80 GART/DEV multiple table walk in progress
name:cpiorequests type:bitmask default:0xa2
	0xa1 Requests Local I/O to Local I/O
	0xa2 Requests Local I/O to Local Memory
	0xa3 Requests Local I/O to Local (I/O or Mem) 
	0xa4 Requests Local CPU to Local I/O
	0xa5 Requests Local (CPU or I/O) to Local I/O
	0xa8 Requests Local CPU to Local Memory
	0xaa Requests Local (CPU or I/O) to Local Memory
	0xac Requests Local CPU to Local (I/O or Mem)
	0xaf Requests Local (CPU or I/O) to Local (I/O or Mem)
	0x91 Requests Local I/O to Remote I/O
	0x92 Requests Local I/O to Remote Memory
	0x93 Requests Local I/O to Remote (I/O or Mem)
	0x94 Requests Local CPU to Remote I/O
	0x95 Requests Local (CPU or I/O) to Remote I/O
	0x98 Requests Local CPU to Remote Memory
	0x9a Requests Local (CPU or I/O) to Remote Memory
	0x9c Requests Local CPU to Remote (I/O or Mem)
	0x9f Requests Local (CPU or I/O) to Remote (I/O or Mem)
	0xb1 Requests Local I/O to Any I/O
	0xb2 Requests Local I/O to Any Memory
	0xb3 Requests Local I/O to Any (I/O or Mem)
	0xb4 Requests Local CPU to Any I/O
	0xb5 Requests Local (CPU or I/O) to Any I/O
	0xb8 Requests Local CPU to Any Memory
	0xba Requests Local (CPU or I/O) to Any Memory
	0xbc Requests Local CPU to Any (I/O or Mem)
	0xbf Requests Local (CPU or I/O) to Any (I/O or Mem)
	0x61 Requests Remote I/O to Local I/O
	0x64 Requests Remote CPU to Local I/O
	0x65 Requests Remote (CPU or I/O) to Local I/O
name:cacheblock type:bitmask default:0x3d
	0x01 Victim Block (Writeback)
	0x04 Read Block (Dcache load miss refill)
	0x08 Read Block Shared (Icache refill)
	0x10 Read Block Modified (Dcache store miss refill)
	0x20 Change-to-Dirty (first store to clean block already in cache)
name:dataprefetch type:bitmask default:0x03
	0x01 Cancelled prefetches
	0x02 Prefetch attempts
name:memreqtype type:bitmask default:0x83
	0x01 Requests to non-cacheable (UC) memory
	0x02 Requests to write-combining (WC) memory or WC buffer flushes to WB memory
	0x80 Streaming store (SS) requests
name:mab_buffer type:exclusive default:0x00
	0x00 DC miss buffer 0
	0x01 DC miss buffer 1
	0x02 DC miss buffer 2
	0x03 DC miss buffer 3
	0x04 DC miss buffer 4
	0x05 DC miss buffer 5
	0x06 DC miss buffer 6
	0x07 DC miss buffer 7
	0x08 IC miss buffer 0
	0x09 IC miss buffer 1
name:systemreadresponse type:bitmask default:0x1f
	0x01 Exclusive
	0x02 Modified
	0x04 Shared
	0x08 Owned
	0x10 Data Error
name:l1_dtlb_miss_l2_hit type:bitmask default:0x07
	0x01 L2 4K TLB hit
	0x02 L2 2M TLB hit
	0x04 L2 1G TLB hit (RevC)
name:l1_l2_dtlb_miss type:bitmask default:0x07
	0x01 4K TLB reload
	0x02 2M TLB reload
	0x04 1G TLB reload
name:ecc type:bitmask default:0x0f
	0x01 Scrubber error
	0x02 Piggyback scrubber errors
	0x04 Load pipe error
	0x08 Store write pip error
name:prefetch type:bitmask default:0x07
	0x01 Load (Prefetch, PrefetchT0/T1/T2)
	0x02 Store (PrefetchW)
	0x04 NTA (PrefetchNTA)
name:locked_instruction_dcache_miss type:bitmask default:0x02
	0x02 Data cache misses by locked instructions
name:octword_transfer type:bitmask  default:0x01
	0x01 Octword write transfer
name:thermal_status  type:bitmask default:0x7c
	0x04 Number of times the HTC trip point is crossed
	0x08 Number of clocks when STC trip point active
	0x10 Number of times the STC trip point is crossed
	0x20 Number of clocks HTC P-state is inactive
	0x40 Number of clocks HTC P-state is active
name:mem_control_request type:bitmask default:0x78
	0x01 Write requests
	0x02 Read Requests including Prefetch
	0x04 Prefetch Request
	0x08 32 Bytes Sized Writes
	0x10 64 Bytes Sized Writes
	0x20 32 Bytes Sized Reads
	0x40 64 Byte Sized Reads
	0x80 Read requests sent to the DCT while write requests are pending in the DCQ
name:httransmit type:bitmask default:0xbf
	0x01 Command DWORD sent
	0x02 Data DWORD sent
	0x04 Buffer release DWORD sent
	0x08 Nop DW sent (idle)
	0x10 Address DWORD sent
	0x20 Per packet CRC sent
	0x80 SubLink Mask
name:lock_ops type:bitmask default:0x0f
	0x01 Number of locked instructions executed
	0x02 Cycles in speculative phase
	0x04 Cycles in non-speculative phase (including cache miss penalty)
	0x08 Cache miss penalty in cycles 
name:sse_ops type:bitmask default:0x7f
	0x01 Single Precision add/subtract ops
	0x02 Single precision multiply ops
	0x04 Single precision divide/square root ops
	0x08 Double precision add/subtract ops
	0x10 Double precision multiply ops
	0x20 Double precision divide/square root ops
	0x40 OP type: 0=uops 1=FLOPS
name:move_ops type:bitmask default:0x0f
	0x01 Merging low quadword move uops
	0x02 Merging high quadword move uops
	0x04 All other merging move uops
	0x08 All other move uops
name:serial_ops type:bitmask default:0x0f
	0x01 SSE bottom-executing uops retired
	0x02 SSE bottom-serializing uops retired
	0x04 x87 bottom-executing uops retired
	0x08 x87 bottom-serializing uops retired
name:serial_ops_sched type:bitmask default:0x03
	0x01 Number of cycles a bottom-execute uops in FP scheduler
	0x02 Number of cycles a bottom-serializing uops in FP scheduler
name:store_to_load type:bitmask default:0x07
	0x01 Address mismatches (starting byte not the same)
	0x02 Store is smaller than load
	0x04 Misaligned
name:moesi_gh type:bitmask default:0x1f
	0x01 (I)nvalid cache state
	0x02 (S)hared cache state
	0x04 (E)xclusive cache state
	0x08 (O)wner cache state
	0x10 (M)odified cache state
	0x20 Cache line evicted brought into the cache by PrefetchNTA
	0x40 Cache line evicted not brought into the cache by PrefetchNTA
name:l1_dtlb_hit type:bitmask default:0x07
	0x01 L1 4K TLB hit
	0x02 L1 2M TLB hit
	0x04 L1 1G TLB hit
name:soft_prefetch type:bitmask default:0x09
	0x01 Software prefetch hit in L1
	0x08 Software prefetch hit in L2
name:l1_l2_itlb_miss type:bitmask default:0x03
	0x01 Instruction fetches to a 4K page
	0x02 Instruction fetches to a 2M page	
name:cpu_dram_req type:bitmask default:0xff
	0x01 From local node to node 0
	0x02 From local node to node 1
	0x04 From local node to node 2
	0x08 From local node to node 3
	0x10 From local node to node 4
	0x20 From local node to node 5
	0x40 From local node to node 6
	0x80 From local node to node 7
name:io_dram_req type:bitmask default:0xff
	0x01 From local node to node 0
	0x02 From local node to node 1
	0x04 From local node to node 2
	0x08 From local node to node 3
	0x10 From local node to node 4
	0x20 From local node to node 5
	0x40 From local node to node 6
	0x80 From local node to node 7
name:cpu_read_lat_0_3 type:bitmask default:0xff
	0x01 Read block 
	0x02 Read block shared
	0x04 Read block modified
	0x08 Change-to-Dirty
	0x10 From local node to node 0
	0x20 From local node to node 1
	0x40 From local node to node 2
	0x80 From local node to node 3
name:cpu_read_lat_4_7 type:bitmask default:0xff
	0x01 Read block 
	0x02 Read block shared
	0x04 Read block modified
	0x08 Change-to-Dirty
	0x10 From local node to node 4
	0x20 From local node to node 5
	0x40 From local node to node 6
	0x80 From local node to node 7
name:cpu_comm_lat type:bitmask default:0xf7
	0x01 Read sized
	0x02 Write sized
	0x04 Victim block
	0x08 Node group select: 0=Nodes 0-3, 1=Nodes 4-7
	0x10 From local node to node 0/4
	0x20 From local node to node 1/5
	0x40 From local node to node 2/6
	0x80 From local node to node 3/7
name:l3_cache type:bitmask default:0xf7
	0x01 Read block Exclusive (Data cache read)
	0x02 Read block Shared (Instruciton cache read)
	0x04 Read block Modify
	0x10 Reserved (Must be selected)
	0x20 Reserved (Must be selected)
	0x40 Reserved (Must be selected)
	0x80 Reserved (Must be selected)
name:l3_fill type:bitmask default:0xff
	0x01 Shared
	0x02 Exclusive
	0x04 Owned
	0x08 Modified
	0x10 Reserved (Must be selected)
	0x20 Reserved (Must be selected)
	0x40 Reserved (Must be selected)
	0x80 Reserved (Must be selected)
name:l3_evict type:bitmask default:0x0f
	0x01 Shared
	0x02 Exclusive
	0x04 Owned
	0x08 Modified
name:icache_invalidated type:bitmask default:0x03
	0x01 Invalidating probe that did not hit any in-flight instructions
	0x02 Invalidating probe that hit one or more in-flight instructions
name:page_size_mismatches type:bitmask default:0x07
	0x01 Guest page size is larger than the host page size
	0x02 MTRR mismatch
	0x04 Host page size is larger than the guest page size
name:retired_x87_fp type:bitmask default:0x07
	0x01 Add/subtract ops
	0x02 Multiply ops
	0x04 Divide ops
name:ibs_op type:bitmask default:0x01
	0x00 Using IBS OP cycle count mode
	0x01 Using IBS OP dispatch count mode
	0x02 Enable IBS OP Memory Access Log 
name:non_cancelled_l3_read_requests type:bitmask default:0xf7
	0x01 RbBlk
	0x02 RbBlkS
	0x04 RbBlkM
	0x10 Reserved (Must be selected)
	0x20 Reserved (Must be selected)
	0x40 Reserved (Must be selected)
	0x80 Reserved (Must be selected)
