unit_masks revision 7a33c86eb98056ef0570c99e713214f8dc56b6ef
17a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown#
27a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown# AMD Athlon(tm)64 and AMD Opteron(tm) processor unit masks
37a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown#
47a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown# Copyright OProfile authors
57a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown# Copyright (c) Advanced Micro Devices, 2006-2008
67a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown# Contributed by Ray Bryant <raybry@amd.com>, and others.
77a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown#
87a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown# Source: BIOS and Kernel Developer's Guide for AMD NPT Family 0Fh Processors,
97a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown#         Publication# 32559, Revision 3.08, July 2007
107a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown#
117a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown# This file was last updated on 10 January 2008:
127a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown#
137a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown#    Unit mask (writtentosystem) was added for the
147a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown#    QUADWORD_WRITE_TRANSFERS event.
157a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown#
167a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:zero type:mandatory default:0x0
177a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x0 No unit mask
187a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:moesi type:bitmask default:0x1f
197a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 (I)nvalid cache state
207a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 (S)hared cache state
217a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 (E)xclusive cache state
227a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 (O)wned cache state
237a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x10 (M)odified cache state
247a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x1f All cache states
257a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:moess type:bitmask default:0x1e
267a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 refill from system
277a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 (S)hared cache state from L2
287a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 (E)xclusive cache state from L2
297a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 (O)wned cache state from L2
307a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x10 (M)odified cache state from L2
317a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x1e All cache states except Invalid
327a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:fpu_ops type:bitmask default:0x3f
337a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Add pipe ops
347a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Multiply pipe
357a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 Store pipe ops
367a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 Add pipe load ops
377a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x10 Multiply pipe load ops
387a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x20 Store pipe load ops
397a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:segregload type:bitmask default:0x7f
407a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 ES register
417a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 CS register
427a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 SS register
437a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 DS register
447a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x10 FS register
457a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x20 GS register
467a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x40 HS register
477a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:ecc type:bitmask default:0x03
487a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Scrubber error
497a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Piggyback scrubber errors
507a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:prefetch type:bitmask default:0x07
517a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Load
527a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Store
537a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 NTA
547a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:fpu_instr type:bitmask default:0x0f
557a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 x87 instructions
567a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Combined MMX & 3DNow instructions
577a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 Combined packed SSE & SSE2 instructions
587a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 Combined packed scalar SSE & SSE2 instructions
597a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:fpu_fastpath type:bitmask default:0x07
607a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 With low op in position 0
617a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 With low op in position 1
627a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 With low op in position 2
637a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:fpu_exceptions type:bitmask default:0x0f
647a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 x87 reclass microfaults
657a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 SSE retype microfaults
667a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 SSE reclass microfaults
677a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 SSE and x87 microtraps
687a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:page_access type:bitmask default:0x07
697a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Page hit
707a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Page miss
717a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 Page conflict
727a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:turnaround type:bitmask default:0x07
737a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 DIMM (chip select) turnaround
747a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Read to write turnaround
757a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 Write to read turnaround
767a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:saturation type:bitmask default:0x0f
777a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Memory controller high priority bypass
787a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Memory controller low priority bypass
797a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 DRAM controller interface bypass
807a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 DRAM controller queue bypass
817a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:sizecmds type:bitmask default:0x7f
827a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Non-posted write byte
837a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Non-posted write dword
847a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 Posted write byte
857a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 Posted write dword
867a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x10 Read byte (4 bytes)
877a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x20 Read dword (1-16 dwords)
887a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x40 Read-modify-write
897a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:probe type:bitmask default:0x0f
907a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Probe miss
917a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Probe hit clean
927a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 Probe hit dirty without memory cancel
937a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 Probe hit dirty with memory cancel
947a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x10 Upstream display refresh reads
957a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x20 Upstream non-display refresh reads
967a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x40 Upstream writes (RevD and later)
977a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:ht type:bitmask default:0x7
987a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Command sent
997a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Data sent
1007a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 Buffer release sent
1017a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 NOP sent
1027a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:l2_internal type:bitmask default:0x1f
1037a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 IC fill
1047a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 DC fill
1057a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 TLB fill (page table walk)
1067a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 Tag snoop request
1077a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x10 Cancelled request
1087a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:l2_req_miss type:bitmask default:0x07
1097a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 IC fill
1107a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 DC fill
1117a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 TLB page table walk
1127a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:l2_fill type:bitmask default:0x03
1137a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 L2 fills (victims from L1 caches, TLB page table walks and data prefetches)
1147a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 L2 writebacks to system
1157a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:gart type:bitmask default:0x07
1167a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 GART aperture hit on access from CPU
1177a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 GART aperture hit on access from I/O
1187a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 GART miss
1197a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:sizedblocks type:bitmask default:0x3c
1207a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 32-byte Sized Writes (RevD and later)
1217a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 64-byte Sized Writes (RevD and later)
1227a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x10 32-byte Sized Reads (RevD and later)
1237a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x20 64-byte Sized Reads (RevD and later)
1247a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:cpiorequests type:bitmask default:0xa2
1257a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xa1 Requests Local I/O to Local I/O
1267a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xa2 Requests Local I/O to Local Memory
1277a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xa3 Requests Local I/O to Local (I/O or Mem) 
1287a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xa4 Requests Local CPU to Local I/O
1297a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xa5 Requests Local (CPU or I/O) to Local I/O
1307a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xa8 Requests Local CPU to Local Memory
1317a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xaa Requests Local (CPU or I/O) to Local Memory
1327a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xac Requests Local CPU to Local (I/O or Mem)
1337a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xaf Requests Local (CPU or I/O) to Local (I/O or Mem)
1347a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x91 Requests Local I/O to Remote I/O
1357a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x92 Requests Local I/O to Remote Memory
1367a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x93 Requests Local I/O to Remote (I/O or Mem)
1377a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x94 Requests Local CPU to Remote I/O
1387a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x95 Requests Local (CPU or I/O) to Remote I/O
1397a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x98 Requests Local CPU to Remote Memory
1407a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x9a Requests Local (CPU or I/O) to Remote Memory
1417a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x9c Requests Local CPU to Remote (I/O or Mem)
1427a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x9f Requests Local (CPU or I/O) to Remote (I/O or Mem)
1437a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xb1 Requests Local I/O to Any I/O
1447a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xb2 Requests Local I/O to Any Memory
1457a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xb3 Requests Local I/O to Any (I/O or Mem)
1467a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xb4 Requests Local CPU to Any I/O
1477a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xb5 Requests Local (CPU or I/O) to Any I/O
1487a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xb8 Requests Local CPU to Any Memory
1497a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xba Requests Local (CPU or I/O) to Any Memory
1507a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xbc Requests Local CPU to Any (I/O or Mem)
1517a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0xbf Requests Local (CPU or I/O) to Any (I/O or Mem)
1527a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x61 Requests Remote I/O to Local I/O
1537a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x64 Requests Remote CPU to Local I/O
1547a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x65 Requests Remote (CPU or I/O) to Local I/O
1557a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:cacheblock type:bitmask default:0x3d
1567a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Victim Block (Writeback)
1577a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 Read Block (Dcache load miss refill)
1587a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 Read Block Shared (Icache refill)
1597a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x10 Read Block Modified (Dcache store miss refill)
1607a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x20 Change to Dirty (first store to clean block already in cache)
1617a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:dataprefetch type:bitmask default:0x03
1627a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Cancelled prefetches
1637a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Prefetch attempts
1647a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:memreqtype type:bitmask default:0x83
1657a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Requests to non-cacheable (UC) memory
1667a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Requests to write-combining (WC) memory or WC buffer flushes to WB memory
1677a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x80 Streaming store (SS) requests
1687a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:systemreadresponse type:bitmask default:0x7
1697a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Exclusive
1707a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Modified
1717a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 Shared
1727a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:writtentosystem type:bitmask default:0x1
1737a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Quadword write transfer
1747a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown# BKDG 3.28 does not include unit_mask of 0x01 for "accesses by Locked instructions"
1757a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:dcachemisslocked type:bitmask default:0x02
1767a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Data cache misses by locked instructions
1777a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:locked_ops type:bitmask default:0x04
1787a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 The number of locked instructions executed
1797a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 The number of cycles spent in speculative phase
1807a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 The number of cycles spent in non-speculative phase (including cache miss penalty)
1817a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brownname:thermalecc type:bitmask default:0x80
1827a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x01 Number of clocks CPU is active when HTC is active (RevF)
1837a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x02 Number of clocks CPU clock is inactive when HTC is active (RevF)
1847a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x04 Number of clocks when die temperature is higher than the software high temperature threshold (RevF)
1857a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x08 Number of clocks when high temperature threshold was exceeded (RevF)
1867a33c86eb98056ef0570c99e713214f8dc56b6efJeff Brown	0x80 Number of correctable and uncorrectable DRAM ECC errors (RevE)
187