You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2158 lines
56 KiB
2158 lines
56 KiB
/*++
|
|
|
|
Copyright (c) 2002 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
amd64.h
|
|
|
|
Abstract:
|
|
|
|
This module contains function prototypes, declarations used by the
|
|
profiling functions for the Amd64 platform
|
|
|
|
Author:
|
|
|
|
Steve Deng (sdeng) 18-Jun-2002
|
|
|
|
Environment:
|
|
|
|
Kernel mode only.
|
|
|
|
--*/
|
|
|
|
#ifndef _AMD64_H_
|
|
#define _AMD64_H_
|
|
|
|
//
|
|
// Defines the attributes of counter registers
|
|
//
|
|
|
|
#define AMD64_NUMBER_COUNTERS 4 // number of performance counters
|
|
#define AMD64_COUNTER_RESOLUTION 48 // resolution of performance counters
|
|
|
|
//
|
|
// Define constants for bits in PerfEvtSel register
|
|
//
|
|
|
|
#define EVENT_MASK(i) (i)
|
|
#define UNIT_MASK(i) ((i) << 8)
|
|
|
|
#define PERF_EVT_SEL_USER_COUNT (1 << 16)
|
|
#define PERF_EVT_SEL_OS_COUNT (1 << 17)
|
|
#define PERF_EVT_SEL_EDGE_DETECT (1 << 18)
|
|
#define PERF_EVT_SEL_PIN_CONTROL (1 << 19)
|
|
#define PERF_EVT_SEL_INTERRUPT (1 << 20)
|
|
#define PERF_EVT_SEL_ENABLE (1 << 22)
|
|
#define PERF_EVT_SEL_INVERT (1 << 23)
|
|
#define PERF_EVT_SEL_COUNTER_MASK (0xf << 24)
|
|
|
|
#define DEFAULT_METHOD ( PERF_EVT_SEL_USER_COUNT | \
|
|
PERF_EVT_SEL_OS_COUNT & \
|
|
~PERF_EVT_SEL_EDGE_DETECT & \
|
|
~PERF_EVT_SEL_PIN_CONTROL & \
|
|
~PERF_EVT_SEL_INTERRUPT & \
|
|
~PERF_EVT_SEL_INVERT & \
|
|
~PERF_EVT_SEL_COUNTER_MASK )
|
|
//
|
|
// Some events are not supported in Rev A silicon but will be available in
|
|
// Rev B. We temporarily mark these events as not supported.
|
|
//
|
|
|
|
#define NOT_SUPPORTED_IN_K8_REVA FALSE
|
|
|
|
//
|
|
// The data in this structure describes the the hardware aspects of
|
|
// profile sources
|
|
//
|
|
|
|
typedef struct _AMD64_PROFILE_SOURCE_DESCRIPTOR {
|
|
KPROFILE_SOURCE ProfileSource; // Profile source
|
|
BOOLEAN Supported; // Is it supported
|
|
ULONGLONG Interval; // Current Interval
|
|
ULONGLONG DefInterval; // Default or Desired Interval
|
|
ULONGLONG MaxInterval; // Maximum Interval
|
|
ULONGLONG MinInterval; // Maximum Interval
|
|
ULONG PerfEvtSelDef; // Default value of PerfEvtSel register
|
|
PWSTR Description; // Mnemonic event name
|
|
} AMD64_PROFILE_SOURCE_DESCRIPTOR, *PAMD64_PROFILE_SOURCE_DESCRIPTOR;
|
|
|
|
#define AMD64_PROFILE_MINIMUM (ProfileMaximum + 1)
|
|
typedef enum _AMD64_PROFILE_LIST {
|
|
ProfileAmd64Minimum = AMD64_PROFILE_MINIMUM,
|
|
ProfileFPDispatchedFPUOps = AMD64_PROFILE_MINIMUM,
|
|
ProfileFPDispatchedFPUOpsAddExcludeJunk,
|
|
ProfileFPDispatchedFPUOpsMulExcludeJunk,
|
|
ProfileFPDispatchedFPUOpsStoreExcludeJunk,
|
|
ProfileFPDispatchedFPUOpsAddJunk,
|
|
ProfileFPDispatchedFPUOpsMulJunk,
|
|
ProfileFPDispatchedFPUOpsStoreJunk,
|
|
ProfileFPCyclesNoFPUOpsRetired,
|
|
ProfileFPDispathedFPUOpsWithFastFlag,
|
|
ProfileLSSegmentRegisterLoad,
|
|
ProfileLSSegmentRegisterLoadES,
|
|
ProfileLSSegmentRegisterLoadCS,
|
|
ProfileLSSegmentRegisterLoadSS,
|
|
ProfileLSSegmentRegisterLoadDS,
|
|
ProfileLSSegmentRegisterLoadFS,
|
|
ProfileLSSegmentRegisterLoadGS,
|
|
ProfileLSSegmentRegisterLoadHS,
|
|
ProfileLSResyncBySelfModifyingCode,
|
|
ProfileLSResyncBySnoop,
|
|
ProfileLSBuffer2Full,
|
|
ProfileLSLockedOperation,
|
|
ProfileLSLateCancelOperation,
|
|
ProfileLSRetiredCFLUSH,
|
|
ProfileLSRetiredCPUID,
|
|
ProfileDCAccess,
|
|
ProfileDCMiss,
|
|
ProfileDCRefillFromL2,
|
|
ProfileDCRefillFromL2Invalid,
|
|
ProfileDCRefillFromL2Shared,
|
|
ProfileDCRefillFromL2Exclusive,
|
|
ProfileDCRefillFromL2Owner,
|
|
ProfileDCRefillFromL2Modified,
|
|
ProfileDCRefillFromSystem,
|
|
ProfileDCRefillFromSystemInvalid,
|
|
ProfileDCRefillFromSystemShared,
|
|
ProfileDCRefillFromSystemExclusive,
|
|
ProfileDCRefillFromSystemOwner,
|
|
ProfileDCRefillFromSystemModified,
|
|
ProfileDCRefillCopyBack,
|
|
ProfileDCRefillCopyBackInvalid,
|
|
ProfileDCRefillCopyBackShared,
|
|
ProfileDCRefillCopyBackExclusive,
|
|
ProfileDCRefillCopyBackOwner,
|
|
ProfileDCRefillCopyBackModified,
|
|
ProfileDCL1DTLBMissL2DTLBHit,
|
|
ProfileDCL1DTLBMissL2DTLBMiss,
|
|
ProfileDCMisalignedDataReference,
|
|
ProfileDCLateCancelOfAnAccess,
|
|
ProfileDCEarlyCancelOfAnAccess,
|
|
ProfileDCOneBitECCError,
|
|
ProfileDCOneBitECCErrorScrubberError,
|
|
ProfileDCOneBitECCErrorPiggybackScrubberError,
|
|
ProfileDCDispatchedPrefetchInstructions,
|
|
ProfileDCDispatchedPrefetchInstructionsLoad,
|
|
ProfileDCDispatchedPrefetchInstructionsStore,
|
|
ProfileDCDispatchedPrefetchInstructionsNTA,
|
|
ProfileBUInternalL2Request,
|
|
ProfileBUInternalL2RequestICFill,
|
|
ProfileBUInternalL2RequestDCFill,
|
|
ProfileBUInternalL2RequestTLBReload,
|
|
ProfileBUInternalL2RequestTagSnoopRequest,
|
|
ProfileBUInternalL2RequestCancelledRequest,
|
|
ProfileBUFillRequestMissedInL2,
|
|
ProfileBUFillRequestMissedInL2ICFill,
|
|
ProfileBUFillRequestMissedInL2DCFill,
|
|
ProfileBUFillRequestMissedInL2TLBLoad,
|
|
ProfileBUFillIntoL2,
|
|
ProfileBUFillIntoL2DirtyL2Victim,
|
|
ProfileBUFillIntoL2VictimFromL1,
|
|
ProfileICFetch,
|
|
ProfileICMiss,
|
|
ProfileICRefillFromL2,
|
|
ProfileICRefillFromSystem,
|
|
ProfileICL1TLBMissL2TLBHit,
|
|
ProfileICL1TLBMissL2TLBMiss,
|
|
ProfileICResyncBySnoop,
|
|
ProfileICInstructionFetchStall,
|
|
ProfileICReturnStackHit,
|
|
ProfileICReturnStackOverflow,
|
|
ProfileFRRetiredx86Instructions,
|
|
ProfileFRRetireduops,
|
|
ProfileFRRetiredBranches,
|
|
ProfileFRRetiredBranchesMispredicted,
|
|
ProfileFRRetiredTakenBranches,
|
|
ProfileFRRetiredTakenBranchesMispredicted,
|
|
ProfileFRRetiredFarControlTransfers,
|
|
ProfileFRRetiredResyncsNonControlTransferBranches,
|
|
ProfileFRRetiredNearReturns,
|
|
ProfileFRRetiredNearReturnsMispredicted,
|
|
ProfileFRRetiredTakenBranchesMispredictedByAddressMiscompare,
|
|
ProfileFRRetiredFPUInstructions,
|
|
ProfileFRRetiredFPUInstructionsx87,
|
|
ProfileFRRetiredFPUInstructionsMMXAnd3DNow,
|
|
ProfileFRRetiredFPUInstructionsPackedSSEAndSSE2,
|
|
ProfileFRRetiredFPUInstructionsScalarSSEAndSSE2,
|
|
ProfileFRRetiredFastpathDoubleOpInstructions,
|
|
ProfileFRRetiredFastpathDoubleOpInstructionsLowOpInPosition0,
|
|
ProfileFRRetiredFastpathDoubleOpInstructionsLowOpInPosition1,
|
|
ProfileFRRetiredFastpathDoubleOpInstructionsLowOpInPosition2,
|
|
ProfileFRInterruptsMaskedCycles,
|
|
ProfileFRInterruptsMaskedWhilePendingCycles,
|
|
ProfileFRTakenHardwareInterrupts,
|
|
ProfileFRNothingToDispatch,
|
|
ProfileFRDispatchStalls,
|
|
ProfileFRDispatchStallsFromBranchAbortToRetire,
|
|
ProfileFRDispatchStallsForSerialization,
|
|
ProfileFRDispatchStallsForSegmentLoad,
|
|
ProfileFRDispatchStallsWhenReorderBufferFull,
|
|
ProfileFRDispatchStallsWhenReservationStationsFull,
|
|
ProfileFRDispatchStallsWhenFPUFull,
|
|
ProfileFRDispatchStallsWhenLSFull,
|
|
ProfileFRDispatchStallsWhenWaitingForAllQuiet,
|
|
ProfileFRDispatchStallsWhenFarControlOrResyncBranchPending,
|
|
ProfileFRFPUExceptions,
|
|
ProfileFRFPUExceptionsx87ReclassMicroFaults,
|
|
ProfileFRFPUExceptionsSSERetypeMicroFaults,
|
|
ProfileFRFPUExceptionsSSEReclassMicroFaults,
|
|
ProfileFRFPUExceptionsSSEAndx87MicroTraps,
|
|
ProfileFRNumberOfBreakPointsForDR0,
|
|
ProfileFRNumberOfBreakPointsForDR1,
|
|
ProfileFRNumberOfBreakPointsForDR2,
|
|
ProfileFRNumberOfBreakPointsForDR3,
|
|
ProfileNBMemoryControllerPageAccessEvent,
|
|
ProfileNBMemoryControllerPageAccessEventPageHit,
|
|
ProfileNBMemoryControllerPageAccessEventPageMiss,
|
|
ProfileNBMemoryControllerPageAccessEventPageConflict,
|
|
ProfileNBMemoryControllerPageTableOverflow,
|
|
ProfileNBMemoryControllerDRAMCommandSlotsMissed,
|
|
ProfileNBMemoryControllerTurnAround,
|
|
ProfileNBMemoryControllerTurnAroundDIMM,
|
|
ProfileNBMemoryControllerTurnAroundReadToWrite,
|
|
ProfileNBMemoryControllerTurnAroundWriteToRead,
|
|
ProfileNBMemoryControllerBypassCounter,
|
|
ProfileNBMemoryControllerBypassCounterHighPriority,
|
|
ProfileNBMemoryControllerBypassCounterLowPriority,
|
|
ProfileNBMemoryControllerBypassCounterDRAMControllerInterface,
|
|
ProfileNBMemoryControllerBypassCounterDRAMControllerQueue,
|
|
ProfileNBSizedCommands,
|
|
ProfileNBSizedCommandsNonPostWrSzByte,
|
|
ProfileNBSizedCommandsNonPostWrSzDword,
|
|
ProfileNBSizedCommandsWrSzByte,
|
|
ProfileNBSizedCommandsWrSzDword,
|
|
ProfileNBSizedCommandsRdSzByte,
|
|
ProfileNBSizedCommandsRdSzDword,
|
|
ProfileNBSizedCommandsRdModWr,
|
|
ProfileNBProbeResult,
|
|
ProfileNBProbeResultMiss,
|
|
ProfileNBProbeResultHit,
|
|
ProfileNBProbeResultHitDirtyWithoutMemoryCancel,
|
|
ProfileNBProbeResultHitDirtyWithMemoryCancel,
|
|
ProfileNBHyperTransportBus0Bandwidth,
|
|
ProfileNBHyperTransportBus0BandwidthCommandSent,
|
|
ProfileNBHyperTransportBus0BandwidthDataSent,
|
|
ProfileNBHyperTransportBus0BandwidthBufferReleaseSent,
|
|
ProfileNBHyperTransportBus0BandwidthNopSent,
|
|
ProfileNBHyperTransportBus1Bandwidth,
|
|
ProfileNBHyperTransportBus1BandwidthCommandSent,
|
|
ProfileNBHyperTransportBus1BandwidthDataSent,
|
|
ProfileNBHyperTransportBus1BandwidthBufferReleaseSent,
|
|
ProfileNBHyperTransportBus1BandwidthNopSent,
|
|
ProfileNBHyperTransportBus2Bandwidth,
|
|
ProfileNBHyperTransportBus2BandwidthCommandSent,
|
|
ProfileNBHyperTransportBus2BandwidthDataSent,
|
|
ProfileNBHyperTransportBus2BandwidthBufferReleaseSent,
|
|
ProfileNBHyperTransportBus2BandwidthNopSent,
|
|
ProfileAmd64Maximum
|
|
} AMD64_PROFILE_LIST;
|
|
|
|
AMD64_PROFILE_SOURCE_DESCRIPTOR
|
|
Amd64ProfileSourceDescriptorTable[ProfileAmd64Maximum -
|
|
ProfileAmd64Minimum +
|
|
ProfileMaximum] = {
|
|
{
|
|
ProfileTime,
|
|
TRUE,
|
|
TIME_UNITS_PER_SECOND,
|
|
TIME_UNITS_PER_SECOND,
|
|
TIME_UNITS_PER_SECOND,
|
|
1221,
|
|
0,
|
|
L"Timer"
|
|
},
|
|
{
|
|
ProfileAlignmentFixup,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"AlignmentFixup"
|
|
},
|
|
{
|
|
ProfileTotalIssues, // Same as ProfileFRRetiredx86Instructions
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc0) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"TotalIssues"
|
|
},
|
|
{
|
|
ProfilePipelineDry,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"PipelineDry"
|
|
},
|
|
{
|
|
ProfileLoadInstructions,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"LoadInstructions"
|
|
},
|
|
{
|
|
ProfilePipelineFrozen,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"PipelineFrozen"
|
|
},
|
|
{
|
|
ProfileBranchInstructions, // Same as ProfileFRRetiredBranches
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc2) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"BranchInstructions"
|
|
},
|
|
{
|
|
ProfileTotalNonissues,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"TotalNonissues"
|
|
},
|
|
{
|
|
ProfileDcacheMisses, // Same as ProfileDCMiss
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x41) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"DcacheMisses"
|
|
},
|
|
{
|
|
ProfileIcacheMisses, // Same as ProfileICMiss
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x81) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"IcacheMisses"
|
|
},
|
|
{
|
|
ProfileCacheMisses,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"CacheMisses"
|
|
},
|
|
{
|
|
ProfileBranchMispredictions, // Same as ProfileFRRetiredBranchesMispredicted
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc3) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"BranchMispredictions"
|
|
},
|
|
{
|
|
ProfileStoreInstructions,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"StoreInstructions"
|
|
},
|
|
{
|
|
ProfileFpInstructions, // Same as ProfileFRRetiredFPUInstructions
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcb) | UNIT_MASK(0x0f) | DEFAULT_METHOD,
|
|
L"FpInstructions"
|
|
},
|
|
{
|
|
ProfileIntegerInstructions,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"IntegerInstructions"
|
|
},
|
|
{
|
|
Profile2Issue,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"2Issue"
|
|
},
|
|
{
|
|
Profile3Issue,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"3Issue"
|
|
},
|
|
{
|
|
Profile4Issue,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"4Issue"
|
|
},
|
|
{
|
|
ProfileSpecialInstructions,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"SpecialInstructions"
|
|
},
|
|
{
|
|
ProfileTotalCycles,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"TotalCycles"
|
|
},
|
|
{
|
|
ProfileIcacheIssues, // Same as ProfileICFetch
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x80) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"IcacheIssues"
|
|
},
|
|
{
|
|
ProfileDcacheAccesses, // Same as ProfileDCAccess
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x40) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"DcacheAccesses"
|
|
},
|
|
{
|
|
ProfileMemoryBarrierCycles,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"MemoryBarrierCycles"
|
|
},
|
|
{
|
|
ProfileLoadLinkedIssues,
|
|
FALSE,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
0,
|
|
L"LoadLinkedIssues"
|
|
},
|
|
|
|
//
|
|
// End of generic profile sources. Everything below is Amd64 specific.
|
|
//
|
|
// IMPORTANT NOTE: The order of the structures below should be
|
|
// exactly the same as the order of the the profile sources defined
|
|
// in _AMD64_PROFILE_LIST. The code in HalpGetProfileDescriptor
|
|
// relies on this assumption.
|
|
//
|
|
|
|
{
|
|
ProfileFPDispatchedFPUOps,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x00) | UNIT_MASK(0x3f) | DEFAULT_METHOD,
|
|
L"FPDispatchedFPUOps"
|
|
},
|
|
{
|
|
ProfileFPDispatchedFPUOpsAddExcludeJunk,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x00) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"FPDispatchedFPUOpsAddExcludeJunk"
|
|
},
|
|
{
|
|
ProfileFPDispatchedFPUOpsMulExcludeJunk,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x00) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"FPDispatchedFPUOpsMulExcludeJunk"
|
|
},
|
|
{
|
|
ProfileFPDispatchedFPUOpsStoreExcludeJunk,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x00) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"FPDispatchedFPUOpsStoreExcludeJunk"
|
|
},
|
|
{
|
|
ProfileFPDispatchedFPUOpsAddJunk,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x00) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"FPDispatchedFPUOpsAddJunk"
|
|
},
|
|
{
|
|
ProfileFPDispatchedFPUOpsMulJunk,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x00) | UNIT_MASK(0x10) | DEFAULT_METHOD,
|
|
L"FPDispatchedFPUOpsMulJunk"
|
|
},
|
|
{
|
|
ProfileFPDispatchedFPUOpsStoreJunk,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x00) | UNIT_MASK(0x20) | DEFAULT_METHOD,
|
|
L"FPDispatchedFPUOpsStoreJunk"
|
|
},
|
|
{
|
|
ProfileFPCyclesNoFPUOpsRetired,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x01) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FPCyclesNoFPUOpsRetired"
|
|
},
|
|
{
|
|
ProfileFPDispathedFPUOpsWithFastFlag,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x02) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FPDispathedFPUOpsWithFastFlag"
|
|
},
|
|
{
|
|
ProfileLSSegmentRegisterLoad,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x20) | UNIT_MASK(0x7f) | DEFAULT_METHOD,
|
|
L"LSSegmentRegisterLoad"
|
|
},
|
|
{
|
|
ProfileLSSegmentRegisterLoadES,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x20) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"LSSegmentRegisterLoadES"
|
|
},
|
|
{
|
|
ProfileLSSegmentRegisterLoadCS,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x20) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"LSSegmentRegisterLoadCS"
|
|
},
|
|
{
|
|
ProfileLSSegmentRegisterLoadSS,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x20) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"LSSegmentRegisterLoadSS"
|
|
},
|
|
{
|
|
ProfileLSSegmentRegisterLoadDS,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x20) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"LSSegmentRegisterLoadDS"
|
|
},
|
|
{
|
|
ProfileLSSegmentRegisterLoadFS,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x20) | UNIT_MASK(0x10) | DEFAULT_METHOD,
|
|
L"LSSegmentRegisterLoadFS"
|
|
},
|
|
{
|
|
ProfileLSSegmentRegisterLoadGS,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x20) | UNIT_MASK(0x20) | DEFAULT_METHOD,
|
|
L"LSSegmentRegisterLoadGS"
|
|
},
|
|
{
|
|
ProfileLSSegmentRegisterLoadHS,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x20) | UNIT_MASK(0x40) | DEFAULT_METHOD,
|
|
L"LSSegmentRegisterLoadHS"
|
|
},
|
|
{
|
|
ProfileLSResyncBySelfModifyingCode,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x21) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"LSResyncBySelfModifyingCode"
|
|
},
|
|
{
|
|
ProfileLSResyncBySnoop,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x22) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"LSResyncBySnoop"
|
|
},
|
|
{
|
|
ProfileLSBuffer2Full,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x23) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"LSBuffer2Full"
|
|
},
|
|
{
|
|
ProfileLSLockedOperation,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x24) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"LSLockedOperation"
|
|
},
|
|
{
|
|
ProfileLSLateCancelOperation,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x25) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"LSLateCancelOperation"
|
|
},
|
|
{
|
|
ProfileLSRetiredCFLUSH,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x26) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"LSRetiredCFLUSH"
|
|
},
|
|
{
|
|
ProfileLSRetiredCPUID,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x27) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"LSRetiredCPUID"
|
|
},
|
|
{
|
|
ProfileDCAccess,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x40) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"DCAccess"
|
|
},
|
|
{
|
|
ProfileDCMiss,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x41) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"DCMiss"
|
|
},
|
|
{
|
|
ProfileDCRefillFromL2,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x42) | UNIT_MASK(0x1f) | DEFAULT_METHOD,
|
|
L"DCRefillFromL2"
|
|
},
|
|
{
|
|
ProfileDCRefillFromL2Invalid,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x42) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"DCRefillFromL2Invalid"
|
|
},
|
|
{
|
|
ProfileDCRefillFromL2Shared,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x42) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"DCRefillFromL2Shared"
|
|
},
|
|
{
|
|
ProfileDCRefillFromL2Exclusive,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x42) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"DCRefillFromL2Exclusive"
|
|
},
|
|
{
|
|
ProfileDCRefillFromL2Owner,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x42) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"DCRefillFromL2Owner"
|
|
},
|
|
{
|
|
ProfileDCRefillFromL2Modified,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x42) | UNIT_MASK(0x10) | DEFAULT_METHOD,
|
|
L"DCRefillFromL2Modified"
|
|
},
|
|
{
|
|
ProfileDCRefillFromSystem,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x43) | UNIT_MASK(0x1f) | DEFAULT_METHOD,
|
|
L"DCRefillFromSystem"
|
|
},
|
|
{
|
|
ProfileDCRefillFromSystemInvalid,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x43) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"DCRefillFromSystemInvalid"
|
|
},
|
|
{
|
|
ProfileDCRefillFromSystemShared,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x43) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"DCRefillFromSystemShared"
|
|
},
|
|
{
|
|
ProfileDCRefillFromSystemExclusive,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x43) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"DCRefillFromSystemExclusive"
|
|
},
|
|
{
|
|
ProfileDCRefillFromSystemOwner,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x43) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"DCRefillFromSystemOwner"
|
|
},
|
|
{
|
|
ProfileDCRefillFromSystemModified,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x43) | UNIT_MASK(0x10) | DEFAULT_METHOD,
|
|
L"DCRefillFromSystemModified"
|
|
},
|
|
{
|
|
ProfileDCRefillCopyBack,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x44) | UNIT_MASK(0x1f) | DEFAULT_METHOD,
|
|
L"DCRefillCopyBack"
|
|
},
|
|
{
|
|
ProfileDCRefillCopyBackInvalid,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x44) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"DCRefillCopyBackInvalid"
|
|
},
|
|
{
|
|
ProfileDCRefillCopyBackShared,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x44) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"DCRefillCopyBackShared"
|
|
},
|
|
{
|
|
ProfileDCRefillCopyBackExclusive,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x44) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"DCRefillCopyBackExclusive"
|
|
},
|
|
{
|
|
ProfileDCRefillCopyBackOwner,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x44) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"DCRefillCopyBackOwner"
|
|
},
|
|
{
|
|
ProfileDCRefillCopyBackModified,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x44) | UNIT_MASK(0x10) | DEFAULT_METHOD,
|
|
L"DCRefillCopyBackModified"
|
|
},
|
|
{
|
|
ProfileDCL1DTLBMissL2DTLBHit,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x45) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"DCL1DTLBMissL2DTLBHit"
|
|
},
|
|
{
|
|
ProfileDCL1DTLBMissL2DTLBMiss,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x46) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"DCL1DTLBMissL2DTLBMiss"
|
|
},
|
|
{
|
|
ProfileDCMisalignedDataReference,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x47) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"DCMisalignedDataReference"
|
|
},
|
|
{
|
|
ProfileDCLateCancelOfAnAccess,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x48) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"DCLateCancelOfAnAccess"
|
|
},
|
|
{
|
|
ProfileDCEarlyCancelOfAnAccess,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x49) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"DCEarlyCancelOfAnAccess"
|
|
},
|
|
{
|
|
ProfileDCOneBitECCError,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x4a) | UNIT_MASK(0x03) | DEFAULT_METHOD,
|
|
L"DCOneBitECCError"
|
|
},
|
|
{
|
|
ProfileDCOneBitECCErrorScrubberError,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x4a) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"DCOneBitECCErrorScrubberError"
|
|
},
|
|
{
|
|
ProfileDCOneBitECCErrorPiggybackScrubberError,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x4a) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"DCOneBitECCErrorPiggybackScrubberError"
|
|
},
|
|
{
|
|
ProfileDCDispatchedPrefetchInstructions,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x4b) | UNIT_MASK(0x07) | DEFAULT_METHOD,
|
|
L"DCDispatchedPrefetchInstructions"
|
|
},
|
|
{
|
|
ProfileDCDispatchedPrefetchInstructionsLoad,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x4b) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"DCDispatchedPrefetchInstructionsLoad"
|
|
},
|
|
{
|
|
ProfileDCDispatchedPrefetchInstructionsStore,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x4b) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"DCDispatchedPrefetchInstructionsStore"
|
|
},
|
|
{
|
|
ProfileDCDispatchedPrefetchInstructionsNTA,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x4b) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"DCDispatchedPrefetchInstructionsNTA"
|
|
},
|
|
{
|
|
ProfileBUInternalL2Request,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7d) | UNIT_MASK(0x1f) | DEFAULT_METHOD,
|
|
L"BUInternalL2Request"
|
|
},
|
|
{
|
|
ProfileBUInternalL2RequestICFill,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7d) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"BUInternalL2RequestICFill"
|
|
},
|
|
{
|
|
ProfileBUInternalL2RequestDCFill,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7d) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"BUInternalL2RequestDCFill"
|
|
},
|
|
{
|
|
ProfileBUInternalL2RequestTLBReload,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7d) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"BUInternalL2RequestTLBReload"
|
|
},
|
|
{
|
|
ProfileBUInternalL2RequestTagSnoopRequest,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7d) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"BUInternalL2RequestTagSnoopRequest"
|
|
},
|
|
{
|
|
ProfileBUInternalL2RequestCancelledRequest,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7d) | UNIT_MASK(0x10) | DEFAULT_METHOD,
|
|
L"BUInternalL2RequestCancelledRequest"
|
|
},
|
|
{
|
|
ProfileBUFillRequestMissedInL2,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7e) | UNIT_MASK(0x07) | DEFAULT_METHOD,
|
|
L"BUFillRequestMissedInL2"
|
|
},
|
|
{
|
|
ProfileBUFillRequestMissedInL2ICFill,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7e) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"BUFillRequestMissedInL2ICFill"
|
|
},
|
|
{
|
|
ProfileBUFillRequestMissedInL2DCFill,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7e) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"BUFillRequestMissedInL2DCFill"
|
|
},
|
|
{
|
|
ProfileBUFillRequestMissedInL2TLBLoad,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7e) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"BUFillRequestMissedInL2TLBLoad"
|
|
},
|
|
{
|
|
ProfileBUFillIntoL2,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7f) | UNIT_MASK(0x03) | DEFAULT_METHOD,
|
|
L"BUFillIntoL2"
|
|
},
|
|
{
|
|
ProfileBUFillIntoL2DirtyL2Victim,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7f) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"BUFillIntoL2DirtyL2Victim"
|
|
},
|
|
{
|
|
ProfileBUFillIntoL2VictimFromL1,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x7f) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"BUFillIntoL2VictimFromL1"
|
|
},
|
|
{
|
|
ProfileICFetch,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x80) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"ICFetch"
|
|
},
|
|
{
|
|
ProfileICMiss,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x81) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"ICMiss"
|
|
},
|
|
{
|
|
ProfileICRefillFromL2,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x82) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"ICRefillFromL2"
|
|
},
|
|
{
|
|
ProfileICRefillFromSystem,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x83) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"ICRefillFromSystem"
|
|
},
|
|
{
|
|
ProfileICL1TLBMissL2TLBHit,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x84) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"ICL1TLBMissL2TLBHit"
|
|
},
|
|
{
|
|
ProfileICL1TLBMissL2TLBMiss,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x85) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"ICL1TLBMissL2TLBMiss"
|
|
},
|
|
{
|
|
ProfileICResyncBySnoop,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x86) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"ICResyncBySnoop"
|
|
},
|
|
{
|
|
ProfileICInstructionFetchStall,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x87) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"ICInstructionFetchStall"
|
|
},
|
|
{
|
|
ProfileICReturnStackHit,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x88) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"ICReturnStackHit"
|
|
},
|
|
{
|
|
ProfileICReturnStackOverflow,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0x89) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"ICReturnStackOverflow"
|
|
},
|
|
{
|
|
ProfileFRRetiredx86Instructions,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc0) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetiredx86Instructions"
|
|
},
|
|
{
|
|
ProfileFRRetireduops,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc1) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetireduops"
|
|
},
|
|
{
|
|
ProfileFRRetiredBranches,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc2) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetiredBranches"
|
|
},
|
|
{
|
|
ProfileFRRetiredBranchesMispredicted,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc3) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetiredBranchesMispredicted"
|
|
},
|
|
{
|
|
ProfileFRRetiredTakenBranches,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc4) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetiredTakenBranches"
|
|
},
|
|
{
|
|
ProfileFRRetiredTakenBranchesMispredicted,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc5) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetiredTakenBranchesMispredicted"
|
|
},
|
|
{
|
|
ProfileFRRetiredFarControlTransfers,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc6) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetiredFarControlTransfers"
|
|
},
|
|
{
|
|
ProfileFRRetiredResyncsNonControlTransferBranches,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc7) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetiredResyncsNonControlTransferBranches"
|
|
},
|
|
{
|
|
ProfileFRRetiredNearReturns,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc8) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetiredNearReturns"
|
|
},
|
|
{
|
|
ProfileFRRetiredNearReturnsMispredicted,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xc9) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetiredNearReturnsMispredicted"
|
|
},
|
|
{
|
|
ProfileFRRetiredTakenBranchesMispredictedByAddressMiscompare,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xca) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRRetiredTakenBranchesMispredictedByAddressMiscompare"
|
|
},
|
|
{
|
|
ProfileFRRetiredFPUInstructions,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcb) | UNIT_MASK(0x0f) | DEFAULT_METHOD,
|
|
L"FRRetiredFPUInstructions"
|
|
},
|
|
{
|
|
ProfileFRRetiredFPUInstructionsx87,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcb) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"FRRetiredFPUInstructionsx87"
|
|
},
|
|
{
|
|
ProfileFRRetiredFPUInstructionsMMXAnd3DNow,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcb) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"FRRetiredFPUInstructionsMMXAnd3DNow"
|
|
},
|
|
{
|
|
ProfileFRRetiredFPUInstructionsPackedSSEAndSSE2,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcb) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"FRRetiredFPUInstructionsPackedSSEAndSSE2"
|
|
},
|
|
{
|
|
ProfileFRRetiredFPUInstructionsScalarSSEAndSSE2,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcb) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"FRRetiredFPUInstructionsScalarSSEAndSSE2"
|
|
},
|
|
{
|
|
ProfileFRRetiredFastpathDoubleOpInstructions,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcc) | UNIT_MASK(0x07) | DEFAULT_METHOD,
|
|
L"FRRetiredFastpathDoubleOpInstructions"
|
|
},
|
|
{
|
|
ProfileFRRetiredFastpathDoubleOpInstructionsLowOpInPosition0,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcc) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"FRRetiredFastpathDoubleOpInstructionsLowOpInPosition0"
|
|
},
|
|
{
|
|
ProfileFRRetiredFastpathDoubleOpInstructionsLowOpInPosition1,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcc) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"FRRetiredFastpathDoubleOpInstructionsLowOpInPosition1"
|
|
},
|
|
{
|
|
ProfileFRRetiredFastpathDoubleOpInstructionsLowOpInPosition2,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcc) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"FRRetiredFastpathDoubleOpInstructionsLowOpInPosition2"
|
|
},
|
|
{
|
|
ProfileFRInterruptsMaskedCycles,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcd) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRInterruptsMaskedCycles"
|
|
},
|
|
{
|
|
ProfileFRInterruptsMaskedWhilePendingCycles,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xce) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRInterruptsMaskedWhilePendingCycles"
|
|
},
|
|
{
|
|
ProfileFRTakenHardwareInterrupts,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xcf) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRTakenHardwareInterrupts"
|
|
},
|
|
{
|
|
ProfileFRNothingToDispatch,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xd0) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRNothingToDispatch"
|
|
},
|
|
{
|
|
ProfileFRDispatchStalls,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xd1) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRDispatchStalls"
|
|
},
|
|
{
|
|
ProfileFRDispatchStallsFromBranchAbortToRetire,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xd2) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRDispatchStallsFromBranchAbortToRetire"
|
|
},
|
|
{
|
|
ProfileFRDispatchStallsForSerialization,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xd3) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRDispatchStallsForSerialization"
|
|
},
|
|
{
|
|
ProfileFRDispatchStallsForSegmentLoad,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xd4) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRDispatchStallsForSegmentLoad"
|
|
},
|
|
{
|
|
ProfileFRDispatchStallsWhenReorderBufferFull,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xd5) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRDispatchStallsWhenReorderBufferFull"
|
|
},
|
|
{
|
|
ProfileFRDispatchStallsWhenReservationStationsFull,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xd6) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRDispatchStallsWhenReservationStationsFull"
|
|
},
|
|
{
|
|
ProfileFRDispatchStallsWhenFPUFull,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xd7) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRDispatchStallsWhenFPUFull"
|
|
},
|
|
{
|
|
ProfileFRDispatchStallsWhenLSFull,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xd8) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRDispatchStallsWhenLSFull"
|
|
},
|
|
{
|
|
ProfileFRDispatchStallsWhenWaitingForAllQuiet,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xd9) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRDispatchStallsWhenWaitingForAllQuiet"
|
|
},
|
|
{
|
|
ProfileFRDispatchStallsWhenFarControlOrResyncBranchPending,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xda) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRDispatchStallsWhenFarControlOrResyncBranchPending"
|
|
},
|
|
{
|
|
ProfileFRFPUExceptions,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xdb) | UNIT_MASK(0x0f) | DEFAULT_METHOD,
|
|
L"FRFPUExceptions"
|
|
},
|
|
{
|
|
ProfileFRFPUExceptionsx87ReclassMicroFaults,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xdb) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"FRFPUExceptionsx87ReclassMicroFaults"
|
|
},
|
|
{
|
|
ProfileFRFPUExceptionsSSERetypeMicroFaults,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xdb) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"FRFPUExceptionsSSERetypeMicroFaults"
|
|
},
|
|
{
|
|
ProfileFRFPUExceptionsSSEReclassMicroFaults,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xdb) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"FRFPUExceptionsSSEReclassMicroFaults"
|
|
},
|
|
{
|
|
ProfileFRFPUExceptionsSSEAndx87MicroTraps,
|
|
NOT_SUPPORTED_IN_K8_REVA,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xdb) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"FRFPUExceptionsSSEAndx87MicroTraps"
|
|
},
|
|
{
|
|
ProfileFRNumberOfBreakPointsForDR0,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xdc) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRNumberOfBreakPointsForDR0"
|
|
},
|
|
{
|
|
ProfileFRNumberOfBreakPointsForDR1,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xdd) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRNumberOfBreakPointsForDR1"
|
|
},
|
|
{
|
|
ProfileFRNumberOfBreakPointsForDR2,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xde) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRNumberOfBreakPointsForDR2"
|
|
},
|
|
{
|
|
ProfileFRNumberOfBreakPointsForDR3,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xdf) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"FRNumberOfBreakPointsForDR3"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerPageAccessEvent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe0) | UNIT_MASK(0x07) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerPageAccessEvent"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerPageAccessEventPageHit,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe0) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerPageAccessEventPageHit"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerPageAccessEventPageMiss,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe0) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerPageAccessEventPageMiss"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerPageAccessEventPageConflict,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe0) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerPageAccessEventPageConflict"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerPageTableOverflow,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe1) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerPageTableOverflow"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerDRAMCommandSlotsMissed,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe2) | UNIT_MASK(0x00) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerDRAMCommandSlotsMissed"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerTurnAround,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe3) | UNIT_MASK(0x07) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerTurnAround"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerTurnAroundDIMM,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe3) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerTurnAroundDIMM"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerTurnAroundReadToWrite,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe3) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerTurnAroundReadToWrite"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerTurnAroundWriteToRead,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe3) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerTurnAroundWriteToRead"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerBypassCounter,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe4) | UNIT_MASK(0x0f) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerBypassCounter"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerBypassCounterHighPriority,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe4) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerBypassCounterHighPriority"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerBypassCounterLowPriority,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe4) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerBypassCounterLowPriority"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerBypassCounterDRAMControllerInterface,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe4) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerBypassCounterDRAMControllerInterface"
|
|
},
|
|
{
|
|
ProfileNBMemoryControllerBypassCounterDRAMControllerQueue,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xe4) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"NBMemoryControllerBypassCounterDRAMControllerQueue"
|
|
},
|
|
{
|
|
ProfileNBSizedCommands,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xeb) | UNIT_MASK(0x7f) | DEFAULT_METHOD,
|
|
L"NBSizedCommands"
|
|
},
|
|
{
|
|
ProfileNBSizedCommandsNonPostWrSzByte,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xeb) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"NBSizedCommandsNonPostWrSzByte"
|
|
},
|
|
{
|
|
ProfileNBSizedCommandsNonPostWrSzDword,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xeb) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"NBSizedCommandsNonPostWrSzDword"
|
|
},
|
|
{
|
|
ProfileNBSizedCommandsWrSzByte,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xeb) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"NBSizedCommandsWrSzByte"
|
|
},
|
|
{
|
|
ProfileNBSizedCommandsWrSzDword,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xeb) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"NBSizedCommandsWrSzDword"
|
|
},
|
|
{
|
|
ProfileNBSizedCommandsRdSzByte,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xeb) | UNIT_MASK(0x10) | DEFAULT_METHOD,
|
|
L"NBSizedCommandsRdSzByte"
|
|
},
|
|
{
|
|
ProfileNBSizedCommandsRdSzDword,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xeb) | UNIT_MASK(0x20) | DEFAULT_METHOD,
|
|
L"NBSizedCommandsRdSzDword"
|
|
},
|
|
{
|
|
ProfileNBSizedCommandsRdModWr,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xeb) | UNIT_MASK(0x40) | DEFAULT_METHOD,
|
|
L"NBSizedCommandsRdModWr"
|
|
},
|
|
{
|
|
ProfileNBProbeResult,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xec) | UNIT_MASK(0x0f) | DEFAULT_METHOD,
|
|
L"NBProbeResult"
|
|
},
|
|
{
|
|
ProfileNBProbeResultMiss,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xec) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"NBProbeResultMiss"
|
|
},
|
|
{
|
|
ProfileNBProbeResultHit,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xec) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"NBProbeResultHit"
|
|
},
|
|
{
|
|
ProfileNBProbeResultHitDirtyWithoutMemoryCancel,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xec) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"NBProbeResultHitDirtyWithoutMemoryCancel"
|
|
},
|
|
{
|
|
ProfileNBProbeResultHitDirtyWithMemoryCancel,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xec) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"NBProbeResultHitDirtyWithMemoryCancel"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus0Bandwidth,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf6) | UNIT_MASK(0x0f) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus0Bandwidth"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus0BandwidthCommandSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf6) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus0BandwidthCommandSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus0BandwidthDataSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf6) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus0BandwidthDataSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus0BandwidthBufferReleaseSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf6) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus0BandwidthBufferReleaseSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus0BandwidthNopSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf6) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus0BandwidthNopSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus1Bandwidth,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf7) | UNIT_MASK(0x0f) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus1Bandwidth"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus1BandwidthCommandSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf7) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus1BandwidthCommandSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus1BandwidthDataSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf7) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus1BandwidthDataSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus1BandwidthBufferReleaseSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf7) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus1BandwidthBufferReleaseSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus1BandwidthNopSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf7) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus1BandwidthNopSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus2Bandwidth,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf8) | UNIT_MASK(0x0f) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus2Bandwidth"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus2BandwidthCommandSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf8) | UNIT_MASK(0x01) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus2BandwidthCommandSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus2BandwidthDataSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf8) | UNIT_MASK(0x02) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus2BandwidthDataSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus2BandwidthBufferReleaseSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf8) | UNIT_MASK(0x04) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus2BandwidthBufferReleaseSent"
|
|
},
|
|
{
|
|
ProfileNBHyperTransportBus2BandwidthNopSent,
|
|
TRUE,
|
|
0x10000,
|
|
0x10000,
|
|
0x10000,
|
|
0x10,
|
|
EVENT_MASK(0xf8) | UNIT_MASK(0x08) | DEFAULT_METHOD,
|
|
L"NBHyperTransportBus2BandwidthNopSent"
|
|
}
|
|
};
|
|
|
|
#endif
|
|
|