/*++ Copyright (c) 1989-2000 Microsoft Corporation Component Name: HALIA64 Module Name: merced.c Abstract: This file declares the data structures related to the Merced [aka Itanium] Processor. Author: David N. Cutler (davec) 5-Mar-1989 Environment: ToBeSpecified Revision History: 3/15/2000 Thierry Fevrier (v-thief@microsoft.com): Initial version --*/ #include "halp.h" #include "ia64prof.h" #include "merced.h" // // Hal Profiling Mapping for the Merced Processor. // HALP_PROFILE_MAPPING HalpProfileMapping[ ProfileIA64Maximum + 1 ] = { // // XXTF - ToBeValidated: - PMCD_MASKs // - NumberOfTicks // - EventsCount // - Event Names // // HALP_PROFILE_MAPPING: Sup., Event, Source, SourceMask, Interval, DefInt, MaxInt, MinInt // // NT KE architected Profile Sources: /* ProfileTime */ {TRUE, MercedCpuCycles, 0, PMCD_MASK_4567, 0, 0x3bd08, 0x1d34ce80, 0x4c90}, /* ProfileAlignmentFixup */ {FALSE, 0,0,0,0,0,0}, /* ProfileTotalIssues */ {TRUE, MercedInstRetired, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfilePipelineDry */ {TRUE, MercedPipelineFlushes, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileLoadInstructions */ {TRUE, MercedRetiredLoads, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfilePipelineFrozen */ {FALSE, 0,0,0,0,0,0}, // XXTF - ToBeDone - Existing or derived events ? /* ProfileBranchInstructions */ {TRUE, MercedBranchInstructions, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileTotalNonissues */ {FALSE, 0,0,0,0,0,0}, // XXTF - ToBeDone - Existing or derived events ? MercedNonIssue /* ProfileDcacheMisses */ {TRUE, MercedL1DataMisses, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileIcacheMisses */ {TRUE, MercedL1InstMisses, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileCacheMisses */ {FALSE, 0,0,0,0,0,0}, // XXTF - ToBeDone - Existing or derived events ? /* ProfileBranchMispredictions */ {TRUE, MercedBranchMispredictDetail, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileStoreInstructions */ {TRUE, MercedRetiredStores, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileFpInstructions */ {TRUE, MercedFPOperationsRetired, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileIntegerInstructions */ {TRUE, MercedIntegerInstructions, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* Profile2Issue */ {FALSE, 0,0,0,0,0,0}, // XXTF - ToBeDone - Existing or derived events ? /* Profile3Issue */ {FALSE, 0,0,0,0,0,0}, // XXTF - ToBeDone - Existing or derived events ? /* Profile4Issue */ {FALSE, 0,0,0,0,0,0}, // XXTF - ToBeDone - Existing or derived events ? /* ProfileSpecialInstructions */ {FALSE, 0,0,0,0,0,0}, /* ProfileTotalCycles */ {TRUE, MercedCpuCycles, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileIcacheIssues */ {TRUE, MercedInstReferences, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileDcacheAccesses */ {TRUE, MercedDataReferences, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMemoryBarrierCycles */ {TRUE, MercedMemoryStallCycles, 0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileLoadLinkedIssues */ {FALSE, 0,0,0,0,0,0}, // XXTF - ToBeDone - Existing or derived events ? /* ProfileMaximum */ {FALSE, 0,0,0,0,0,0}, // End of NT KE architected Profile Sources. // NT IA64 Processor specific Profile Sources: // Merced Monitored Events: /* ProfileMercedBranchMispredictStallCycles */ {TRUE, MercedBranchMispredictStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstAccessStallCycles */ {TRUE, MercedInstAccessStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedExecLatencyStallCycles */ {TRUE, MercedExecLatencyStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedDataAccessStallCycles */ {TRUE, MercedDataAccessStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedBranchStallCycles */ {TRUE, MercedBranchStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstFetchStallCycles */ {TRUE, MercedInstFetchStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedExecStallCycles */ {TRUE, MercedExecStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedMemoryStallCycles */ {TRUE, MercedMemoryStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedTaggedInstRetired */ {TRUE, MercedTaggedInstRetired ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstRetired */ {TRUE, MercedInstRetired ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedFPOperationsRetired */ {TRUE, MercedFPOperationsRetired ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedFPFlushesToZero */ {TRUE, MercedFPFlushesToZero ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedSIRFlushes */ {TRUE, MercedSIRFlushes ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedBranchTakenDetail */ {TRUE, MercedBranchTakenDetail ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedBranchMultiWayDetail */ {TRUE, MercedBranchMultiWayDetail ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedBranchPathPrediction */ {TRUE, MercedBranchPathPrediction ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedBranchMispredictDetail */ {TRUE, MercedBranchMispredictDetail ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedBranchEvents */ {TRUE, MercedBranchEvents ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedCpuCycles */ {TRUE, MercedCpuCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedISATransitions */ {TRUE, MercedISATransitions ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedIA32InstRetired */ {TRUE, MercedIA32InstRetired ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1InstReads */ {TRUE, MercedL1InstReads ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1InstFills */ {TRUE, MercedL1InstFills ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1InstMisses */ {TRUE, MercedL1InstMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstEAREvents */ {TRUE, MercedInstEAREvents ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1InstPrefetches */ {TRUE, MercedL1InstPrefetches ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2InstPrefetches */ {TRUE, MercedL2InstPrefetches ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstStreamingBufferLinesIn */ {TRUE, MercedInstStreamingBufferLinesIn ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstTLBDemandFetchMisses */ {TRUE, MercedInstTLBDemandFetchMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstTLBHPWInserts */ {TRUE, MercedInstTLBHPWInserts ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstDispersed */ {TRUE, MercedInstDispersed ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedExplicitStops */ {TRUE, MercedExplicitStops ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedImplicitStops */ {TRUE, MercedImplicitStops ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstNOPRetired */ {TRUE, MercedInstNOPRetired ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstPredicateSquashedRetired */ {TRUE, MercedInstPredicateSquashedRetired ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedRSELoadRetired */ {TRUE, MercedRSELoadRetired ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedPipelineFlushes */ {TRUE, MercedPipelineFlushes ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedCpuCPLChanges */ {TRUE, MercedCpuCPLChanges ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedFailedSpeculativeCheckLoads */ {TRUE, MercedFailedSpeculativeCheckLoads ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedAdvancedCheckLoads */ {TRUE, MercedAdvancedCheckLoads ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedFailedAdvancedCheckLoads */ {TRUE, MercedFailedAdvancedCheckLoads ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedALATOverflows */ {TRUE, MercedALATOverflows ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedExternBPMPins03Asserted */ {TRUE, MercedExternBPMPins03Asserted ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedExternBPMPins45Asserted */ {TRUE, MercedExternBPMPins45Asserted ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedDataTCMisses */ {TRUE, MercedDataTCMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedDataTLBMisses */ {TRUE, MercedDataTLBMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedDataTLBHPWInserts */ {TRUE, MercedDataTLBHPWInserts ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedDataReferences */ {TRUE, MercedDataReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1DataReads */ {TRUE, MercedL1DataReads ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedRSEAccesses */ {TRUE, MercedRSEAccesses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1DataReadMisses */ {TRUE, MercedL1DataReadMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1DataEAREvents */ {TRUE, MercedL1DataEAREvents ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2References */ {TRUE, MercedL2References ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2DataReferences */ {TRUE, MercedL2DataReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2Misses */ {TRUE, MercedL2Misses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1DataForcedLoadMisses */ {TRUE, MercedL1DataForcedLoadMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedRetiredLoads */ {TRUE, MercedRetiredLoads ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedRetiredStores */ {TRUE, MercedRetiredStores ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedRetiredUncacheableLoads */ {TRUE, MercedRetiredUncacheableLoads ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedRetiredUncacheableStores */ {TRUE, MercedRetiredUncacheableStores ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedRetiredMisalignedLoads */ {TRUE, MercedRetiredMisalignedLoads ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedRetiredMisalignedStores */ {TRUE, MercedRetiredMisalignedStores ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2Flushes */ {TRUE, MercedL2Flushes ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2FlushesDetail */ {TRUE, MercedL2FlushesDetail ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3References */ {TRUE, MercedL3References ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3Misses */ {TRUE, MercedL3Misses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3Reads */ {TRUE, MercedL3Reads ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3Writes */ {TRUE, MercedL3Writes ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3LinesReplaced */ {TRUE, MercedL3LinesReplaced ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, // // 02/08/00 - Are missing: [at least] // - Front-Side bus events, // - IVE events, // - Debug monitor events, // - ... // // // Merced Derived Events: // ProfileMercedDerivedEventMinimum, /* ProfileMercedRSEStallCycles */ {TRUE, MercedRSEStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedIssueLimitStallCycles */ {TRUE, MercedIssueLimitStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedTakenBranchStallCycles */ {TRUE, MercedTakenBranchStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedFetchWindowStallCycles */ {TRUE, MercedFetchWindowStallCycles ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedIA64InstPerCycle */ {TRUE, MercedIA64InstPerCycle ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedIA32InstPerCycle */ {TRUE, MercedIA32InstPerCycle ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedAvgIA64InstPerTransition */ {TRUE, MercedAvgIA64InstPerTransition ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedAvgIA32InstPerTransition */ {TRUE, MercedAvgIA32InstPerTransition ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedAvgIA64CyclesPerTransition */ {TRUE, MercedAvgIA64CyclesPerTransition ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedAvgIA32CyclesPerTransition */ {TRUE, MercedAvgIA32CyclesPerTransition ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1InstReferences */ {TRUE, MercedL1InstReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1InstMissRatio */ {TRUE, MercedL1InstMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1DataReadMissRatio */ {TRUE, MercedL1DataReadMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2MissRatio */ {TRUE, MercedL2MissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2DataMissRatio */ {TRUE, MercedL2DataMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2InstMissRatio */ {TRUE, MercedL2InstMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2DataReadMissRatio */ {TRUE, MercedL2DataReadMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2DataWriteMissRatio */ {TRUE, MercedL2DataWriteMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2InstFetchRatio */ {TRUE, MercedL2InstFetchRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2DataRatio */ {TRUE, MercedL2DataRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3MissRatio */ {TRUE, MercedL3MissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3DataMissRatio */ {TRUE, MercedL3DataMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3InstMissRatio */ {TRUE, MercedL3InstMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3DataReadMissRatio */ {TRUE, MercedL3DataReadMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3DataRatio */ {TRUE, MercedL3DataRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstReferences */ {TRUE, MercedInstReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstTLBMissRatio */ {TRUE, MercedInstTLBMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedDataTLBMissRatio */ {TRUE, MercedDataTLBMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedDataTCMissRatio */ {TRUE, MercedDataTCMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstTLBEAREvents */ {TRUE, MercedInstTLBEAREvents ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedDataTLBEAREvents */ {TRUE, MercedDataTLBEAREvents ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedCodeDebugRegisterMatches */ {TRUE, MercedCodeDebugRegisterMatches ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedDataDebugRegisterMatches */ {TRUE, MercedDataDebugRegisterMatches ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedControlSpeculationMissRatio */ {TRUE, MercedControlSpeculationMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedDataSpeculationMissRatio */ {TRUE, MercedDataSpeculationMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedALATCapacityMissRatio */ {TRUE, MercedALATCapacityMissRatio ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1DataWayMispredicts */ {TRUE, MercedL1DataWayMispredicts ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2InstReferences */ {TRUE, MercedL2InstReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedInstFetches */ {TRUE, MercedInstFetches ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2DataReads */ {TRUE, MercedL2DataReads ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2DataWrites */ {TRUE, MercedL2DataWrites ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3InstReferences */ {TRUE, MercedL3InstReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3InstMisses */ {TRUE, MercedL3InstMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3InstHits */ {TRUE, MercedL3InstHits ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3DataReferences */ {TRUE, MercedL3DataReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3LoadReferences */ {TRUE, MercedL3LoadReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3LoadMisses */ {TRUE, MercedL3LoadMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3LoadHits */ {TRUE, MercedL3LoadHits ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3ReadReferences */ {TRUE, MercedL3ReadReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3ReadMisses */ {TRUE, MercedL3ReadMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3ReadHits */ {TRUE, MercedL3ReadHits ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3StoreReferences */ {TRUE, MercedL3StoreReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3StoreMisses */ {TRUE, MercedL3StoreMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL3StoreHits */ {TRUE, MercedL3StoreHits ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2WriteBackReferences */ {TRUE, MercedL2WriteBackReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2WriteBackMisses */ {TRUE, MercedL2WriteBackMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2WriteBackHits */ {TRUE, MercedL2WriteBackHits ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2WriteReferences */ {TRUE, MercedL2WriteReferences ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2WriteMisses */ {TRUE, MercedL2WriteMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL2WriteHits */ {TRUE, MercedL2WriteHits ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedBranchInstructions */ {TRUE, MercedBranchInstructions ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedIntegerInstructions */ {TRUE, MercedIntegerInstructions ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedL1DataMisses */ {TRUE, MercedL1DataMisses ,0, PMCD_MASK_4567, 0, 0x10000, 0x10000, 10}, /* ProfileMercedMaximum */ {FALSE, 0,0,0,0,0,0} };