#
# Hammer unit masks
#
# Copyright OProfile authors
# Copyright (c) Advanced Micro Devices, 2006.
# Contributed by Ray Bryant <raybry@amd.com>, and others.
#
# Updated to match 3.85 (October 2005) version of the BIOS and Kernel Developer's Guide
#
name:zero type:mandatory default:0x0
	0x0 No unit mask
name:moesi type:bitmask default:0x1f
	0x10 (M)odified cache state
	0x08 (O)wner cache state
	0x04 (E)xclusive cache state
	0x02 (S)hared cache state
	0x01 (I)nvalid cache state
	0x1f All cache states
name:moess type:bitmask default:0x1e
	0x10 (M)odified cache state
	0x08 (O)wner cache state
	0x04 (E)xclusive cache state
	0x02 (S)hared cache state
	0x01 refill from system
	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 Combined MMX & 3DNow instructions
	0x04 Combined packed SSE & SSE2 instructions
	0x08 Combined 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:page_access type:bitmask default:0x07
	0x01 Page hit
	0x02 Page miss
	0x04 Page conflict
name:turnaround type:bitmask default:0x07
	0x01 DIMM turnaround
	0x02 Read to write turnaround
	0x04 Write to read turnaround
name:saturation type:bitmask default:0x0f
	0x01 Memory controller high priority bypass
	0x02 Memory controller low priority bypass
	0x04 DRAM controller interface bypass
	0x08 DRAM controller queue bypass
name:sizecmds type:bitmask default:0x7f
	0x01 non-posted write byte
	0x02 non-posted write dword
	0x04 posted write byte
	0x08 posted write dword
	0x10 read byte (4 bytes)
	0x20 read dword (1-16 dwords)
	0x40 read-modify-write
name:probe type:bitmask default:0x0f
	0x01 Probe miss
	0x02 Probe hit
	0x04 Probe hit dirty without memory cancel
	0x08 Probe hit dirty with memory cancel
name:ht type:bitmask default:0x7
	0x01 Command sent
	0x02 Data sent
	0x04 Buffer release sent
	0x08 NOP sent
name:l2_internal type:bitmask default:0x1f
	0x01 IC fill
	0x02 DC fill
	0x04 TLB reload
	0x08 Tag snoop request
	0x10 Canceled request
name:l2_req_miss type:bitmask default:0x07
	0x01 IC fill
	0x02 DC fill
	0x04 TLB reload
name:l2_fill type:bitmask default:0x03
	0x01 Dirty L2 victim
	0x02 Victim from L1
name:gart type:bitmask default:0x07
	0x01 GART aperture hit on access from CPU
	0x02 GART aperture hit on access from I/O
	0x04 GART miss
name:sizedblocks type:bitmask default:0x3c
	0x04 32-byte Sized Writes (RevD)
	0x08 64-byte Sized Writes (RevD)
	0x10 32-byte Sized Reads (RevD)
	0x20 64-byte Sized Reads (RevD)
name:cpiorequests type:bitmask default:0xa2
	0xa2 Requests Local I/O to Local Memory
	0xa1 Requests Local I/O to Local I/O
	0xa3 Requests Local I/O to Local Any
	0xaa Requests Local Any to Local Memory
	0xa5 Requests Local Any to Local I/O
	0xaf Requests Local Any to Local Any
	0x98 Requests Local CPU to Remote Memory
	0x94 Requests Local CPU to Remote I/O
	0x9c Requests Local CPU to Remote Any
	0x92 Requests Local I/O to Remote Memory
	0x91 Requests Local I/O to Remote I/O
	0x93 Requests Local I/O to Remote Any
	0x9a Requests Local Any to Remote Memory
	0x95 Requests Local Any to Remote I/O
	0x9f Requests Local Any to Remote Any
	0xb8 Requests Local CPU to Any Memory
	0xb4 Requests Local CPU to Any I/O
	0xbc Requests Local CPU to Any Any
	0xb2 Requests Local I/O to Any Memory
	0xb1 Requests Local I/O to Any I/O
	0xb3 Requests Local I/O to Any Any
	0xba Requests Local Any to Any Memory
	0xb5 Requests Local Any to Any I/O
	0xbf Requests Local Any to Any Any
	0x64 Requests Remote CPU to Local I/O
	0x61 Requests Remote I/O to Local I/O
	0x65 Requests Remote Any 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
# 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
