#
# AMD Athlon(tm)64 and AMD Opteron(tm) processor unit masks
#
# Copyright OProfile authors
# Copyright (c) Advanced Micro Devices, 2006-2008
# Contributed by Ray Bryant <raybry@amd.com>, and others.
#                Jason Yeh <jason.yeh at amd.com>
#                Suravee Suthikulpanit <suravee.suthikulpanit at amd.com>
#                Paul Drongowski <paul.drongowski at amd.com>
#
#    Source      : BIOS and Kernel Developer's Guide for AMD Family 11h Processors,
#                  Publication# 41256, Revision 3.00, July 07, 2008
#
# Updated on 11 November 2008:
#    Description : Prepare for Oprofile patch submission
#    Signed off  : Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
#
# Updated on 20 February 2008:
#    Description : Added events for AMD Family 11h processors and proofread
#                  WRT the latest BKDG
#
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)wned cache state
	0x10 (M)odified cache state
	0x1f All cache states
name:moess type:bitmask default:0x1e
	0x01 refill from system
	0x02 (S)hared cache state from L2
	0x04 (E)xclusive cache state from L2
	0x08 (O)wned cache state from L2
	0x10 (M)odified cache state from L2
	0x1e All cache states except Invalid
name:fpu_ops type:bitmask default:0x3f
	0x01 Add pipe ops
	0x02 Multiply pipe
	0x04 Store pipe ops
	0x08 Add pipe load ops
	0x10 Multiply pipe load ops
	0x20 Store pipe load 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:ecc type:bitmask default:0x03
	0x01 Scrubber error
	0x02 Piggyback scrubber errors
name:prefetch type:bitmask default:0x07
	0x01 Load
	0x02 Store
	0x04 NTA
name:fpu_instr type:bitmask default:0x0f
	0x01 x87 instructions
	0x02 MMX & 3DNow instructions
	0x04 Packed SSE & SSE2 instructions
	0x08 Packed scalar SSE & SSE2 instructions
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:dramaccess type:bitmask default:0xff
	0x01 DCT0 Page hit
	0x02 DCT0 Page miss
	0x04 DCT0 Page conflict
	0x08 DCT1 Page hit
	0x10 DCT1 Page miss
	0x20 DCT1 Page conflict
	0x40 Write request
	0x80 Read request
name:dramcontroller type:bitmask default:0x0f
	0x01 DCT Page Table Overflow
	0x02 Number of stale table entry hits (hit on a page closed too soon)
	0x04 Page table idle cycle limit incremented
	0x08 Page table idle cycle limit decremented
name:turnaround type:bitmask default:0x3f
	0x01 DCT0 Read to write turnaround
	0x02 DCT0 Write to read turnaround
	0x04 DCT0 DIMM (chip select) turnaround
	0x08 DCT1 Read to write turnaround
	0x10 DCT1 Write to read turnaround
	0x20 DCT1 DIMM (chip select) turnaround
name:rbdqueue type:bitmask default:0x04
	0x04 F2x[1,0]94[DcqBypassMax] counter reached
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:0x0f
	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:0x1f
	0x01 IC fill
	0x02 DC fill
	0x04 TLB fill (page table walk)
	0x08 Tag snoop request
	0x10 Cancelled request
name:l2_req_miss type:bitmask default:0x07
	0x01 IC fill
	0x02 DC fill
	0x04 TLB page table walk
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:devevents type:bitmask default:0x70
	0x10 DEV hit
	0x20 DEV miss
	0x40 DEV error
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:systemreadresponse type:bitmask default:0x7
	0x01 Exclusive
	0x02 Modified
	0x04 Shared
	0x08 Data Error
name:writtentosystem type:bitmask default:0x1
	0x01 Quadword write transfer
# BKDG 3.28 does not include unit_mask of 0x01 for "accesses by Locked instructions"
name:dcachemisslocked type:bitmask default:0x02
	0x02 Data cache misses by locked instructions
name:locked_ops type:bitmask default:0x04
	0x01 The number of locked instructions executed
	0x02 The number of cycles spent in speculative phase
	0x04 The number of cycles spent in non-speculative phase (including cache miss penalty)
name:thermalstatus type:bitmask default:0x80
	0x01 Number of clocks MEMHOT_L is asserted
	0x04 Number of times the HTC transitions from inactive to active
	0x20 Number of clocks HTC P-state is inactive
	0x40 Number of clocks HTC P-state is active
	0x80 PROCHOT_L asserted by an external source and P-state change occurred
name:memory_controller_requests type:bitmask default:0x78
	0x08 32 Bytes Sized Writes
	0x10 64 Bytes Sized Writes
	0x20 32 Bytes Sized Reads
	0x40 64 Bytes Sized Reads
name:sideband_signals_and_special_cycles type:bitmask default:0x1f
	0x01 HALT
	0x02 STOPGRANT
	0x04 SHUTDOWN
	0x08 WBINVD
	0x10 INVD
name:interrupt_events type:bitmask default:0xff
	0x01 Fixed
	0x02 LPA
	0x04 SMI
	0x08 NMI
	0x10 INIT
	0x20 STARTUP
	0x40 INT
	0x80 EOI
name:httransmit type:bitmask default:0x3f
	0x01 Command DWORD sent
	0x02 Address DWORD sent
	0x04 Data DWORD sent
	0x08 Buffer release DWORD sent
	0x10 Nop DW sent (idle)
	0x20 Per packet CRC sent