# Pentium IV possible unit masks
#
name:branch_retired type:bitmask default:0x0c
	0x01 branch not-taken predicted
	0x02 branch not-taken mispredicted
	0x04 branch taken predicted
	0x08 branch taken mispredicted
name:mispred_branch_retired type:bitmask default:0x01
	0x01 retired instruction is non-bogus
# FIXME: 0 count nothing, 0xff count more than 0x01, docs says it's a bitmask:
# something wrong in documentation ?
name:bpu_fetch_request type:bitmask default:0x01
	0x01 trace cache lookup miss
name:itlb_reference type:bitmask default:0x07
	0x01 ITLB hit
	0x02 ITLB miss
	0x04 uncacheable ITLB hit
name:memory_cancel type:bitmask default:0x08
	0x04 replayed because no store request buffer available
	0x08 conflicts due to 64k aliasing
name:memory_complete type:bitmask default:0x03
	0x01 load split completed, excluding UC/WC loads
	0x02 any split stores completed
	0x04 uncacheable load split completed
	0x08 uncacheable store split complete
name:load_port_replay type:mandatory default:0x02
	0x02 split load
name:store_port_replay type:mandatory default:0x02
	0x02 split store
name:mob_load_replay type:bitmask default:0x3a
	0x02 replay cause: unknown store address
	0x08 replay cause: unknown store data
	0x10 replay cause: partial overlap between load and store
	0x20 replay cause: mismatched low 4 bits between load and store addr
name:bsq_cache_reference type:bitmask default:0x073f
	0x01 read 2nd level cache hit shared
	0x02 read 2nd level cache hit exclusive
	0x04 read 2nd level cache hit modified
	0x08 read 3rd level cache hit shared
	0x10 read 3rd level cache hit exclusive
	0x20 read 3rd level cache hit modified
	0x100 read 2nd level cache miss
	0x200 read 3rd level cache miss
	0x400 writeback lookup from DAC misses 2nd level cache
name:ioq type:bitmask default:0xefe1
	0x01 bus request type bit 0
	0x02 bus request type bit 1
	0x04 bus request type bit 2
	0x08 bus request type bit 3
	0x10 bus request type bit 4
	0x20 count read entries
	0x40 count write entries
	0x80 count UC memory access entries
	0x100 count WC memory access entries
	0x200 count write-through memory access entries
	0x400 count write-protected memory access entries
	0x800 count WB memory access entries
	0x2000 count own store requests
	0x4000 count other / DMA store requests
	0x8000 count HW/SW prefetch requests
name:bsq type:bitmask default:0x21
	0x01 (r)eq (t)ype (e)ncoding, bit 0: see next bit
	0x02 rte bit 1: 00=read, 01=read invalidate, 10=write, 11=writeback
	0x04 req len bit 0
	0x08 req len bit 1
	0x20 request type is input (0=output)
	0x40 request type is bus lock
	0x80 request type is cacheable
	0x100 request type is 8-byte chunk split across 8-byte boundary
	0x200 request type is demand (0=prefetch)
	0x400 request type is ordered
	0x800 (m)emory (t)ype (e)ncoding, bit 0: see next bits
	0x1000 mte bit 1: see next bits
	0x2000 mte bit 2: 000=UC, 001=USWC, 100=WT, 101=WP, 110=WB
name:x87_assist type:bitmask default:0x1f
	0x01 handle FP stack underflow
	0x02 handle FP stack overflow
	0x04 handle x87 output overflow
	0x08 handle x87 output underflow
	0x10 handle x87 input assist
name:machine_clear type:bitmask default:0x01
	0x01 count a portion of cycles the machine is cleared for any cause
	0x04 count each time the machine is cleared due to memory ordering issues
	0x40 count each time the machine is cleared due to self modifying code
name:global_power_events type:mandatory default:0x01
	0x01 mandatory
name:tc_ms_xfer type:mandatory default:0x01
	0x01 count TC to MS transfers
name:uop_queue_writes type:bitmask default:0x07
	0x01 count uops written to queue from TC build mode
	0x02 count uops written to queue from TC deliver mode
	0x04 count uops written to queue from microcode ROM
name:instr_retired type:bitmask default:0x01
	0x01 count non-bogus instructions which are not tagged
	0x02 count non-bogus instructions which are tagged
	0x04 count bogus instructions which are not tagged
	0x08 count bogus instructions which are tagged
name:uops_retired type:bitmask default:0x01
	0x01 count marked uops which are non-bogus
	0x02 count marked uops which are bogus
name:uop_type type:bitmask default:0x02
	0x02 count uops which are load operations
	0x04 count uops which are store operations
name:branch_type type:bitmask default:0x1f
	0x01 count unconditional jumps
	0x02 count conditional jumps
	0x04 count call branches
	0x08 count return branches
	0x10 count indirect jumps
name:tc_deliver_mode type:bitmask default:0x04
	0x04 processor is in deliver mode
	0x20 processor is in build mode
name:page_walk_type type:bitmask default:0x01
	0x01 page walk for data TLB miss
	0x02 page walk for instruction TLB miss
name:fsb_data_activity type:bitmask default:0x3f
	0x01 count when this processor drives data onto bus
	0x02 count when this processor reads data from bus
	0x04 count when data is on bus but not sampled by this processor
	0x08 count when this processor reserves bus for driving
	0x10 count when other reserves bus and this processor will sample
	0x20 count when other reserves bus and this processor will not sample
name:flame_uop type:mandatory default:0x8000
	0x8000 count all uops of this type
name:x87_simd_moves_uop type:bitmask default:0x18
	0x08 count all x87 SIMD store/move uops
	0x10 count all x87 SIMD load uops
