
%SKX_UCFilterAliases = 
(
   "CHAFilter0"     => "C{i}_MSR_PMON_BOX_FILTER0",
   "CHAFilter1"     => "C{i}_MSR_PMON_BOX_FILTER1",
   "PCUFilter"      => "PCU_MSR_PMON_BOX_FILTER",
   "M2MOpcMask"     => "M2M{i}_PCI_PMON_OPCMASK", 
   "M2MAddrMask0"   => "M2M{i}_PCI_PMON_ADDRMASK0", 
   "M2MAddrMask1"   => "M2M{i}_PCI_PMON_ADDRMASK1", 
   "M2MAddrMatch0"  => "M2M{i}_PCI_PMON_ADDRMATCH0", 
   "M2MAddrMatch0"  => "M2M{i}_PCI_PMON_ADDRMATCH1", 
   "UBoxFilter"     => "U_MSR_PMON_BOX_FILTER",
);
%SKX_UCEventList =
(
   "CHA Box Events" =>
   {
      "AG0_AD_CRD_ACQUIRED" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x80,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 AD Credits Acquired",
         Defn      => "Number of CMS Agent 0 AD credits acquired in a given cycle, per transgress.",
         Notes     => "If multiple masks are selected, will count the OR of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_AD_CRD_OCCUPANCY" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x82,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 AD Credits Occupancy",
         Defn      => "Number of CMS Agent 0 AD credits in use in a given cycle, per transgress",
         Notes     => "If multiple masks are selected, will count the SUM of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_BL_CRD_ACQUIRED" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x88,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 BL Credits Acquired",
         Defn      => "Number of CMS Agent 0 BL credits acquired in a given cycle, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_BL_CRD_OCCUPANCY" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 BL Credits Occupancy",
         Defn      => "Number of CMS Agent 0 BL credits in use in a given cycle, per transgress",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_AD_CRD_ACQUIRED" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x84,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 AD Credits Acquired",
         Defn      => "Number of CMS Agent 1 AD credits acquired in a given cycle, per transgress.",
         Notes     => "If multiple masks are selected, will count the OR of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_AD_CRD_OCCUPANCY" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x86,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 AD Credits Occupancy",
         Defn      => "Number of CMS Agent 1 AD credits in use in a given cycle, per transgress",
         Notes     => "If multiple masks are selected, will count the SUM of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_BL_CRD_OCCUPANCY" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 BL Credits Occupancy",
         Defn      => "Number of CMS Agent 1 BL credits in use in a given cycle, per transgress",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_BL_CREDITS_ACQUIRED" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 BL Credits Acquired",
         Defn      => "Number of CMS Agent 1 BL credits acquired in a given cycle, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "BYPASS_CHA_IMC" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA BYPASS Events",
         EvSel     => 0x57,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CHA to iMC Bypass",
         Defn      => "Counts the number of times when the CHA was able to bypass HA pipe on the way to iMC.  This is a latency optimization for situations when there is light loadings on the memory subsystem.  This can be filtered by when the bypass was taken and when it was not.",
         Subevents =>
         {
            "TAKEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Taken",
               Defn      => "Filter for transactions that succeeded in taking the full bypass.",
            },
            "INTERMEDIATE" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Intermediate bypass Taken",
               Defn      => "Filter for transactions that succeeded in taking the intermediate bypass.",
            },
            "NOT_TAKEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Not Taken",
               Defn      => "Filter for transactions that could not take the bypass, and issues a read to memory. Note that transactions that did not take the bypass but did not issue read to memory will not be counted.",
            },
         },
      },
      "CLOCKTICKS" =>
      {
         Box       => "CHA Box Events",
         Category  => "UCLK Events",
         EvSel     => 0x00,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Uncore Clocks",
         Defn      => "",
      },
      "CMS_CLOCKTICKS" =>
      {
         Box       => "CHA Box Events",
         Category  => "Misc Events",
         EvSel     => 0xC0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Clockticks",
         Defn      => "",
      },
      "CORE_PMA" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x17,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Core PMA Events",
         Defn      => "",
         Subevents =>
         {
            "C1_STATE" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "C1  State",
               Defn      => "",
            },
            "C1_TRANSITION" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "C1 Transition",
               Defn      => "",
            },
            "C6_STATE" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "C6 State",
               Defn      => "",
            },
            "C6_TRANSITION" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "C6 Transition",
               Defn      => "",
            },
            "GV" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "GV",
               Defn      => "",
            },
         },
      },
      "CORE_SNP" =>
      {
         Box       => "CHA Box Events",
         Category  => "ISMQ Events",
         EvSel     => 0x33,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Core Cross Snoops Issued",
         Defn      => "Counts the number of transactions that trigger a configurable number of cross snoops.  Cores are snooped if the transaction looks up the cache and determines that it is necessary based on the operation type and what CoreValid bits are set.  For example, if 2 CV bits are set on a data read, the cores must have the data in S state so it is not necessary to snoop them.  However, if only 1 CV bit is set the core my have modified the data.  If the transaction was an RFO, it would need to invalidate the lines.  This event can be filtered based on who triggered the initial snoop(s).",
         Subevents =>
         {
            "EXT_ONE" =>
            {
               Umask     => "b00100001",
               Counters  => "",
               Filter    => "",
               Desc      => "Single External Snoops",
               Defn      => "",
            },
            "CORE_ONE" =>
            {
               Umask     => "b01000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Single Core Requests",
               Defn      => "",
            },
            "EVICT_ONE" =>
            {
               Umask     => "b10000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Single Eviction",
               Defn      => "",
            },
            "ANY_ONE" =>
            {
               Umask     => "b11100001",
               Counters  => "",
               Filter    => "",
               Desc      => "Any Single Snoop",
               Defn      => "",
            },
            "EXT_GTONE" =>
            {
               Umask     => "b00100010",
               Counters  => "",
               Filter    => "",
               Desc      => "Multiple External Snoops",
               Defn      => "",
            },
            "CORE_GTONE" =>
            {
               Umask     => "b01000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Multiple Core Requests",
               Defn      => "",
            },
            "EVICT_GTONE" =>
            {
               Umask     => "b10000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Multiple Eviction",
               Defn      => "",
            },
            "ANY_GTONE" =>
            {
               Umask     => "b11100010",
               Counters  => "",
               Filter    => "",
               Desc      => "Any Cycle with Multiple Snoops",
               Defn      => "",
            },
            "EXT_REMOTE" =>
            {
               Umask     => "b00100100",
               Counters  => "",
               Filter    => "",
               Desc      => "External Snoop to Remote Node",
               Defn      => "",
            },
            "CORE_REMOTE" =>
            {
               Umask     => "b01000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Core Request to Remote Node",
               Defn      => "",
            },
            "EVICT_REMOTE" =>
            {
               Umask     => "b10000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Eviction to Remote Node",
               Defn      => "",
            },
            "ANY_REMOTE" =>
            {
               Umask     => "b11100100",
               Counters  => "",
               Filter    => "",
               Desc      => "Any Snoop to Remote Node",
               Defn      => "",
            },
         },
      },
      "COUNTER0_OCCUPANCY" =>
      {
         Box       => "CHA Box Events",
         Category  => "OCCUPANCY Events",
         EvSel     => 0x1F,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Counter 0 Occupancy",
         Defn      => "Since occupancy counts can only be captured in the Cbo's 0 counter, this event allows a user to capture occupancy related information by filtering the Cb0 occupancy count captured in Counter 0.   The filtering available is found in the control register - threshold, invert and edge detect.   E.g. setting threshold to 1 can effectively monitor how many cycles the monitored queue has an entry.",
      },
      "DIR_LOOKUP" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA DIRECTORY Events",
         EvSel     => 0x53,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Directory Lookups",
         Defn      => "Counts the number of transactions that looked up the Home Agent directory.  Can be filtered by requests that had to snoop and those that did not have to.",
         Notes     => "Only valid for parts that implement the Directory",
         Subevents =>
         {
            "SNP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoop Needed",
               Defn      => "Filters for transactions that had to send one or more snoops because the directory was not clean.",
            },
            "NO_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoop Not Needed",
               Defn      => "Filters for transactions that did not have to send any snoops because the directory was clean.",
            },
         },
      },
      "DIR_UPDATE" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA DIRECTORY Events",
         EvSel     => 0x54,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Directory Updates",
         Defn      => "Counts the number of directory updates that were required.  These result in writes to the memory controller.",
         Notes     => "Only valid for parts that implement the Directory.  Note that any directory update that's a part of an explicit (eviction or core/IO) or an implicit (snoop response) writeback is not counted.",
         Subevents =>
         {
            "HA" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "from HA pipe",
               Defn      => "",
            },
            "TOR" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "from TOR pipe",
               Defn      => "",
            },
         },
      },
      "EGRESS_ORDERING" =>
      {
         Box       => "CHA Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAE,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Egress Blocking due to Ordering requirements",
         Defn      => "Counts number of cycles IV was blocked in the TGR Egress due to SNP/GO Ordering requirements",
         Subevents =>
         {
            "IV_SNOOPGO_UP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up",
               Defn      => "",
            },
            "IV_SNOOPGO_DN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down",
               Defn      => "",
            },
         },
      },
      "FAST_ASSERTED" =>
      {
         Box       => "CHA Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA5,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "FaST wire asserted",
         Defn      => "Counts the number of cycles either the local or incoming distress signals are asserted.  Incoming distress includes up, dn and across.",
         Subevents =>
         {
            "VERT" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Vertical",
               Defn      => "",
            },
            "HORZ" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Horizontal",
               Defn      => "",
            },
         },
      },
      "HITME_HIT" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA HitME Events",
         EvSel     => 0x5F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Counts Number of Hits in HitMe Cache",
         Defn      => "",
         Subevents =>
         {
            "EX_RDS" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Exclusive hit and op is RdCode, RdData, RdDataMigratory, RdCur, RdInv*, Inv*",
               Defn      => "",
            },
            "SHARED_OWNREQ" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Shared hit and op is RdInvOwn, RdInv, Inv*",
               Defn      => "",
            },
            "WBMTOE" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "op is WbMtoE",
               Defn      => "",
            },
            "WBMTOI_OR_S" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "op is WbMtoI, WbPushMtoI, WbFlush, or WbMtoS",
               Defn      => "",
            },
         },
      },
      "HITME_LOOKUP" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA HitME Events",
         EvSel     => 0x5E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Counts Number of times HitMe Cache is accessed",
         Defn      => "",
         Subevents =>
         {
            "READ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "op is RdCode, RdData, RdDataMigratory, RdCur, RdInvOwn, RdInv, Inv*",
               Defn      => "",
            },
            "WRITE" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "op is WbMtoE, WbMtoI, WbPushMtoI, WbFlush, or WbMtoS",
               Defn      => "",
            },
         },
      },
      "HITME_MISS" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA HitME Events",
         EvSel     => 0x60,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Counts Number of Misses in HitMe Cache",
         Defn      => "",
         Subevents =>
         {
            "SHARED_RDINVOWN" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SF/LLC HitS/F and op is RdInvOwn",
               Defn      => "",
            },
            "NOTSHARED_RDINVOWN" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "No SF/LLC HitS/F and op is RdInvOwn",
               Defn      => "",
            },
            "READ_OR_INV" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "op is RdCode, RdData, RdDataMigratory, RdCur, RdInv, Inv*",
               Defn      => "",
            },
         },
      },
      "HITME_UPDATE" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA HitME Pipe Events",
         EvSel     => 0x61,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Counts the number of Allocate/Update to HitMe Cache",
         Defn      => "",
         Subevents =>
         {
            "DEALLOCATE_RSPFWDI_LOC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "op is RspIFwd or RspIFwdWb for a local request",
               Defn      => "Received RspFwdI* for a local request, but converted HitME$ to SF entry",
            },
            "RSPFWDI_REM" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "op is RspIFwd or RspIFwdWb for a remote request",
               Defn      => "Updated HitME$ on RspFwdI* or local HitM/E received for a remote request",
            },
            "SHARED" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Update HitMe Cache to SHARed",
               Defn      => "",
            },
            "RDINVOWN" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Update HitMe Cache on RdInvOwn even if not RspFwdI*",
               Defn      => "",
            },
            "DEALLOCATE" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Deallocate HtiME$ on Reads without RspFwdI*",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_AD_IN_USE" =>
      {
         Box       => "CHA Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xA7,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal AD Ring In Use",
         Defn      => "Counts the number of cycles that the Horizontal AD ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_AK_IN_USE" =>
      {
         Box       => "CHA Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xA9,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal AK Ring In Use",
         Defn      => "Counts the number of cycles that the Horizontal AK ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_BL_IN_USE" =>
      {
         Box       => "CHA Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAB,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal BL Ring in Use",
         Defn      => "Counts the number of cycles that the Horizontal BL ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from  the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_IV_IN_USE" =>
      {
         Box       => "CHA Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAD,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal IV Ring in Use",
         Defn      => "Counts the number of cycles that the Horizontal IV ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  There is only 1 IV ring.  Therefore, if one wants to monitor the \"Even\" ring, they should select both UP_EVEN and DN_EVEN.  To monitor the \"Odd\" ring, they should select both UP_ODD and DN_ODD.",
         Subevents =>
         {
            "LEFT" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left",
               Defn      => "",
            },
            "RIGHT" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right",
               Defn      => "",
            },
         },
      },
      "IMC_READS_COUNT" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA READ WRITE Events",
         EvSel     => 0x59,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "HA to iMC Reads Issued",
         Defn      => "Count of the number of reads issued to any of the memory controller channels.  This can be filtered by the priority of the reads.",
         Notes     => "To match the number of reads seen at the IMC, it's necessary to account for any bypasses.   IMC_READS_COUNT.* + BYPASS_CHA_IMC.TAKEN == CAS_COUNT.RD",
         Subevents =>
         {
            "NORMAL" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Normal",
               Defn      => "",
            },
            "PRIORITY" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "ISOCH",
               Defn      => "",
            },
         },
      },
      "IMC_WRITES_COUNT" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA READ WRITE Events",
         EvSel     => 0x5B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Writes Issued to the iMC by the HA",
         Defn      => "Counts the total number of writes issued from the HA into the memory controller.  This counts for all four channels.  It can be filtered by full/partial and ISOCH/non-ISOCH.",
         Notes     => "Directory bits are stored in memory.   Remote socket RFOs will result in a directory update which, in turn, will cause a write command.",
         Subevents =>
         {
            "FULL" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Full Line Non-ISOCH",
               Defn      => "",
            },
            "PARTIAL" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Partial Non-ISOCH",
               Defn      => "",
            },
            "FULL_PRIORITY" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "ISOCH Full Line",
               Defn      => "",
            },
            "PARTIAL_PRIORITY" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "ISOCH Partial",
               Defn      => "",
            },
            "FULL_MIG" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Full Line MIG",
               Defn      => "",
            },
            "PARTIAL_MIG" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Partial MIG",
               Defn      => "Filter for memory controller 5 only.",
            },
         },
      },
      "IODC_ALLOC" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA IODC Events",
         EvSel     => 0x62,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Counts Number of times IODC entry allocation is attempted",
         Defn      => "",
         Subevents =>
         {
            "INVITOM" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Number of IODC allocations",
               Defn      => "",
            },
            "IODCFULL" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Number of IODC allocations dropped due to IODC Full",
               Defn      => "",
            },
            "OSBGATED" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Number of IDOC allocation dropped due to OSB gate",
               Defn      => "",
            },
         },
      },
      "IODC_DEALLOC" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA IODC Events",
         EvSel     => 0x63,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Counts number of IODC deallocations",
         Defn      => "",
         Subevents =>
         {
            "WBMTOE" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "IODC deallocated due to WbMtoE",
               Defn      => "",
            },
            "WBMTOI" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "IODC deallocated due to WbMtoI",
               Defn      => "",
            },
            "WBPUSHMTOI" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "IODC deallocated due to WbPushMtoI",
               Defn      => "Moved to Cbo section",
            },
            "SNPOUT" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IODC deallocated due to conflicting transaction",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IODC deallocated due to any reason",
               Defn      => "",
            },
         },
      },
      "LLC_LOOKUP" =>
      {
         Box       => "CHA Box Events",
         Category  => "CACHE Events",
         EvSel     => 0x34,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cache and Snoop Filter Lookups",
         Defn      => "Counts the number of times the LLC was accessed - this includes code, data, prefetches and hints coming from L2.  This has numerous filters available.  Note the non-standard filtering equation.  This event will count requests that lookup the cache multiple times with multiple increments.  One must ALWAYS set umask bit 0 and select a state or states to match.  Otherwise, the event will count nothing.   CHAFilter0[24:21,17] bits correspond to [FMESI] state.",
         Notes     => "Bit 0 of the umask must always be set for this event.  This allows us to match against a given state (or states) as programmed in the Cn_MSR_PMON_BOX_FILTER0.state field bitmask.    0 = I (miss), 4 = S, 5 = E, 6 = M, 7 = F.  For example, if you wanted to monitor F and S hits, you could set 00001001b in the 8-bit state field.   To monitor any lookup, set the field to 0x1F.  Extra note - it may be a little confusing for customers of earlier products.  With the CBo and HA functionality combined, it's possible to also measure Snoop Filter lookups with bits 1-3 of the FILTER0.state field",
         Subevents =>
         {
            "DATA_READ" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "CHAFilter0[26:17]",
               Desc      => "Data Read Request",
               Defn      => "Read transactions",
            },
            "WRITE" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "CHAFilter0[26:17]",
               Desc      => "Write Requests",
               Defn      => "Writeback transactions from L2 to the LLC  This includes all write transactions -- both Cachable and UC.",
            },
            "REMOTE_SNOOP" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "CHAFilter0[26:17]",
               Desc      => "External Snoop Request",
               Defn      => "Filters for only snoop requests coming from the remote socket(s) through the IPQ.",
            },
            "ANY" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "CHAFilter0[26:17]",
               Desc      => "Any Request",
               Defn      => "Filters for any transaction originating from the IPQ or IRQ.  This does not include lookups originating from the ISMQ.",
            },
            "LOCAL" =>
            {
               Umask     => "b00110001",
               Counters  => "",
               Filter    => "CHAFilter0[26:17]",
               Desc      => "Local",
               Defn      => "",
            },
            "REMOTE" =>
            {
               Umask     => "b10010001",
               Counters  => "",
               Filter    => "CHAFilter0[26:17]",
               Desc      => "Remote",
               Defn      => "",
            },
         },
      },
      "LLC_VICTIMS" =>
      {
         Box       => "CHA Box Events",
         Category  => "CACHE Events",
         EvSel     => 0x37,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Lines Victimized",
         Defn      => "Counts the number of lines that were victimized on a fill.  This can be filtered by the state that the line was in.",
         Notes     => "Does not include evict cleans",
         Subevents =>
         {
            "LOCAL_M" =>
            {
               Umask     => "b00100001",
               Counters  => "",
               Filter    => "",
               Desc      => "Local - Lines in M State",
               Defn      => "",
            },
            "LOCAL_E" =>
            {
               Umask     => "b00100010",
               Counters  => "",
               Filter    => "",
               Desc      => "Local - Lines in E State",
               Defn      => "",
            },
            "LOCAL_S" =>
            {
               Umask     => "b00100100",
               Counters  => "",
               Filter    => "",
               Desc      => "Local - Lines in S State",
               Defn      => "",
            },
            "LOCAL_F" =>
            {
               Umask     => "b00101000",
               Counters  => "",
               Filter    => "",
               Desc      => "Local - Lines in F State",
               Defn      => "",
            },
            "LOCAL_ALL" =>
            {
               Umask     => "b00101111",
               Counters  => "",
               Filter    => "",
               Desc      => "Local - All Lines",
               Defn      => "",
            },
            "REMOTE_M" =>
            {
               Umask     => "b10000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Remote - Lines in M State",
               Defn      => "",
            },
            "REMOTE_E" =>
            {
               Umask     => "b10000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Remote - Lines in E State",
               Defn      => "",
            },
            "REMOTE_S" =>
            {
               Umask     => "b10000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Remote - Lines in S State",
               Defn      => "",
            },
            "REMOTE_F" =>
            {
               Umask     => "b10001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Remote - Lines in F State",
               Defn      => "",
            },
            "REMOTE_ALL" =>
            {
               Umask     => "b10001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Remote - All Lines",
               Defn      => "",
            },
            "TOTAL_M" =>
            {
               Umask     => "b10100001",
               Counters  => "",
               Filter    => "",
               Desc      => "Lines in M State",
               Defn      => "",
            },
            "TOTAL_E" =>
            {
               Umask     => "b10100010",
               Counters  => "",
               Filter    => "",
               Desc      => "Lines in E State",
               Defn      => "",
            },
            "TOTAL_S" =>
            {
               Umask     => "b10100100",
               Counters  => "",
               Filter    => "",
               Desc      => "Lines in S State",
               Defn      => "",
            },
            "TOTAL_F" =>
            {
               Umask     => "b10101000",
               Counters  => "",
               Filter    => "",
               Desc      => "Lines in F State",
               Defn      => "",
            },
         },
      },
      "MISC" =>
      {
         Box       => "CHA Box Events",
         Category  => "MISC Events",
         EvSel     => 0x39,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cbo Misc",
         Defn      => "Miscellaneous events in the Cbo.",
         Subevents =>
         {
            "RSPI_WAS_FSE" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Silent Snoop Eviction",
               Defn      => "Counts the number of times when a Snoop hit in FSE states and triggered a silent eviction.  This is useful because this information is lost in the PRE encodings.",
            },
            "WC_ALIASING" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Combining Aliasing",
               Defn      => "Counts the number of times that a USWC write (WCIL(F)) transaction hit in the LLC in M state, triggering a WBMtoI followed by the USWC write.  This occurs when there is WC aliasing.",
            },
            "RFO_HIT_S" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RFO HitS",
               Defn      => "Number of times that an RFO hit in S state.  This is useful for determining if it might be good for a workload to use RspIWB instead of RspSWB.",
            },
            "CV0_PREF_VIC" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "CV0 Prefetch Victim",
               Defn      => "",
            },
            "CV0_PREF_MISS" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "CV0 Prefetch Miss",
               Defn      => "",
            },
         },
      },
      "OSB" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA OSB Events",
         EvSel     => 0x55,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "OSB Snoop Broadcast",
         Defn      => "Count of OSB snoop broadcasts. Counts by 1 per request causing OSB snoops to be broadcast. Does not count all the snoops generated by OSB.",
      },
      "READ_NO_CREDITS" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA READ WRITE Events",
         EvSel     => 0x58,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CHA iMC CHNx READ Credits Empty",
         Defn      => "Counts the number of times when there are no credits available for sending reads from the CHA into the iMC.  In order to send reads into the memory controller, the HA must first acquire a credit for the iMC's AD Ingress queue.",
         Subevents =>
         {
            "MC0_SMI0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "MC0_SMI0",
               Defn      => "Filter for memory controller 0 only.",
            },
            "MC1_SMI1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "MC1_SMI1",
               Defn      => "Filter for memory controller 1 only.",
            },
            "EDC0_SMI2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "EDC0_SMI2",
               Defn      => "Filter for memory controller 2 only.",
            },
            "EDC1_SMI3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "EDC1_SMI3",
               Defn      => "Filter for memory controller 3 only.",
            },
            "EDC2_SMI4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "EDC2_SMI4",
               Defn      => "Filter for memory controller 4 only.",
            },
            "EDC3_SMI5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "EDC3_SMI5",
               Defn      => "Filter for memory controller 5 only.",
            },
         },
      },
      "REQUESTS" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA REQUEST Events",
         EvSel     => 0x50,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Read and Write Requests",
         Defn      => "Counts the total number of read requests made into the Home Agent. Reads include all read opcodes (including RFO).  Writes include all writes (streaming, evictions, HitM, etc).",
         Subevents =>
         {
            "READS" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Reads",
               Defn      => "",
            },
            "WRITES" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Writes",
               Defn      => "",
            },
            "READS_LOCAL" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Reads Local",
               Defn      => "",
            },
            "READS_REMOTE" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Reads Remote",
               Defn      => "",
            },
            "WRITES_LOCAL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Writes Local",
               Defn      => "",
            },
            "WRITES_REMOTE" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Writes Remote",
               Defn      => "",
            },
            "INVITOE_LOCAL" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "InvalItoE Local",
               Defn      => "",
            },
            "INVITOE_REMOTE" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "InvalItoE Remote",
               Defn      => "",
            },
         },
      },
      "RING_BOUNCES_HORZ" =>
      {
         Box       => "CHA Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA1,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Messages that bounced on the Horizontal Ring.",
         Defn      => "Number of cycles incoming messages from the Horizontal ring that were bounced, by ring type.",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
         },
      },
      "RING_BOUNCES_VERT" =>
      {
         Box       => "CHA Box Events",
         Category  => "Vertical RING Events",
         EvSel     => 0xA0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Messages that bounced on the Vertical Ring.",
         Defn      => "Number of cycles incoming messages from the Vertical ring that were bounced, by ring type.",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to core",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data Responses to core",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops of processor's cache.",
               Defn      => "",
            },
         },
      },
      "RING_SINK_STARVED_HORZ" =>
      {
         Box       => "CHA Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA3,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sink Starvation on Horizontal Ring",
         Defn      => "",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to Agent 1",
               Defn      => "",
            },
         },
      },
      "RING_SINK_STARVED_VERT" =>
      {
         Box       => "CHA Box Events",
         Category  => "Vertical RING Events",
         EvSel     => 0xA2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sink Starvation on Vertical Ring",
         Defn      => "",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to core",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data Responses to core",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops of processor's cache.",
               Defn      => "",
            },
         },
      },
      "RING_SRC_THRTL" =>
      {
         Box       => "CHA Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Source Throttle",
         Defn      => "",
      },
      "RxC_INSERTS" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x13,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress (from CMS) Allocations",
         Defn      => "Counts number of allocations per cycle into the specified Ingress queue.",
         Notes     => "IRQ_REJECTED should not be Ored with the other umasks.",
         Subevents =>
         {
            "IRQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "IRQ",
               Defn      => "",
            },
            "IRQ_REJ" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "IRQ Rejected",
               Defn      => "",
            },
            "IPQ" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "IPQ",
               Defn      => "",
            },
            "PRQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PRQ",
               Defn      => "",
            },
            "PRQ_REJ" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PRQ",
               Defn      => "",
            },
            "RRQ" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RRQ",
               Defn      => "",
            },
            "WBQ" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WBQ",
               Defn      => "",
            },
         },
      },
      "RxC_IPQ0_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x22,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress Probe Queue Rejects",
         Defn      => "",
         Subevents =>
         {
            "AD_REQ_VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD REQ on VN0",
               Defn      => "",
            },
            "AD_RSP_VN0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD RSP on VN0",
               Defn      => "",
            },
            "BL_RSP_VN0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL RSP on VN0",
               Defn      => "",
            },
            "BL_WB_VN0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL WB on VN0",
               Defn      => "",
            },
            "BL_NCB_VN0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCB on VN0",
               Defn      => "",
            },
            "BL_NCS_VN0" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCS on VN0",
               Defn      => "",
            },
            "AK_NON_UPI" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI AK Request",
               Defn      => "",
            },
            "IV_NON_UPI" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI IV Request",
               Defn      => "",
            },
         },
      },
      "RxC_IPQ1_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x23,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress Probe Queue Rejects",
         Defn      => "",
         Subevents =>
         {
            "ANY0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "ANY0",
               Defn      => "",
            },
            "HA" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "HA",
               Defn      => "",
            },
            "LLC_VICTIM" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "LLC Victim",
               Defn      => "",
            },
            "SF_VICTIM" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SF Victim",
               Defn      => "",
            },
            "VICTIM" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Victim",
               Defn      => "",
            },
            "LLC_OR_SF_WAY" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Merging these two together to make room for ANY_REJECT_*0",
               Defn      => "",
            },
            "ALLOW_SNP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Allow Snoop",
               Defn      => "",
            },
            "PA_MATCH" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PhyAddr Match",
               Defn      => "",
            },
         },
      },
      "RxC_IRQ0_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x18,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress (from CMS) Request Queue Rejects",
         Defn      => "",
         Subevents =>
         {
            "AD_REQ_VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD REQ on VN0",
               Defn      => "",
            },
            "AD_RSP_VN0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD RSP on VN0",
               Defn      => "",
            },
            "BL_RSP_VN0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL RSP on VN0",
               Defn      => "",
            },
            "BL_WB_VN0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL WB on VN0",
               Defn      => "",
            },
            "BL_NCB_VN0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCB on VN0",
               Defn      => "",
            },
            "BL_NCS_VN0" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCS on VN0",
               Defn      => "",
            },
            "AK_NON_UPI" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI AK Request",
               Defn      => "",
            },
            "IV_NON_UPI" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI IV Request",
               Defn      => "",
            },
         },
      },
      "RxC_IRQ1_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x19,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress (from CMS) Request Queue Rejects",
         Defn      => "",
         Subevents =>
         {
            "ANY0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "ANY0",
               Defn      => "",
            },
            "HA" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "HA",
               Defn      => "",
            },
            "LLC_VICTIM" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "LLC Victim",
               Defn      => "",
            },
            "SF_VICTIM" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SF Victim",
               Defn      => "",
            },
            "VICTIM" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Victim",
               Defn      => "",
            },
            "LLC_OR_SF_WAY" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Merging these two together to make room for ANY_REJECT_*0",
               Defn      => "",
            },
            "ALLOW_SNP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Allow Snoop",
               Defn      => "",
            },
            "PA_MATCH" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PhyAddr Match",
               Defn      => "",
            },
         },
      },
      "RxC_ISMQ0_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x24,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "ISMQ Rejects",
         Defn      => "Number of times a transaction flowing through the ISMQ had to retry.  Transaction pass through the ISMQ as responses for requests that already exist in the Cbo.  Some examples include: when data is returned or when snoop responses come back from the cores.",
         Subevents =>
         {
            "AD_REQ_VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD REQ on VN0",
               Defn      => "",
            },
            "AD_RSP_VN0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD RSP on VN0",
               Defn      => "",
            },
            "BL_RSP_VN0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL RSP on VN0",
               Defn      => "",
            },
            "BL_WB_VN0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL WB on VN0",
               Defn      => "",
            },
            "BL_NCB_VN0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCB on VN0",
               Defn      => "",
            },
            "BL_NCS_VN0" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCS on VN0",
               Defn      => "",
            },
            "AK_NON_UPI" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI AK Request",
               Defn      => "",
            },
            "IV_NON_UPI" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI IV Request",
               Defn      => "",
            },
         },
      },
      "RxC_ISMQ0_RETRY" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x2C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "ISMQ Retries",
         Defn      => "Number of times a transaction flowing through the ISMQ had to retry.  Transaction pass through the ISMQ as responses for requests that already exist in the Cbo.  Some examples include: when data is returned or when snoop responses come back from the cores.",
         Subevents =>
         {
            "AD_REQ_VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD REQ on VN0",
               Defn      => "",
            },
            "AD_RSP_VN0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD RSP on VN0",
               Defn      => "",
            },
            "BL_RSP_VN0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL RSP on VN0",
               Defn      => "",
            },
            "BL_WB_VN0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL WB on VN0",
               Defn      => "",
            },
            "BL_NCB_VN0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCB on VN0",
               Defn      => "",
            },
            "BL_NCS_VN0" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCS on VN0",
               Defn      => "",
            },
            "AK_NON_UPI" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI AK Request",
               Defn      => "",
            },
            "IV_NON_UPI" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI IV Request",
               Defn      => "",
            },
         },
      },
      "RxC_ISMQ1_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x25,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "ISMQ Rejects",
         Defn      => "Number of times a transaction flowing through the ISMQ had to retry.  Transaction pass through the ISMQ as responses for requests that already exist in the Cbo.  Some examples include: when data is returned or when snoop responses come back from the cores.",
         Subevents =>
         {
            "ANY0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "ANY0",
               Defn      => "",
            },
            "HA" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "HA",
               Defn      => "",
            },
         },
      },
      "RxC_ISMQ1_RETRY" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x2D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "ISMQ Retries",
         Defn      => "Number of times a transaction flowing through the ISMQ had to retry.  Transaction pass through the ISMQ as responses for requests that already exist in the Cbo.  Some examples include: when data is returned or when snoop responses come back from the cores.",
         Subevents =>
         {
            "ANY0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "ANY0",
               Defn      => "",
            },
            "HA" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "HA",
               Defn      => "",
            },
         },
      },
      "RxC_OCCUPANCY" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x11,
         Counters  => "0",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress (from CMS) Occupancy",
         Defn      => "Counts number of entries in the specified Ingress queue in each cycle.",
         Notes     => "IRQ_REJECTED should not be Ored with the other umasks.",
         Subevents =>
         {
            "IRQ" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "IRQ",
               Defn      => "",
            },
            "IPQ" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "IPQ",
               Defn      => "",
            },
            "RRQ" =>
            {
               Umask     => "b01000000",
               Counters  => "",
               Filter    => "",
               Desc      => "RRQ",
               Defn      => "",
            },
            "WBQ" =>
            {
               Umask     => "b10000000",
               Counters  => "",
               Filter    => "",
               Desc      => "WBQ",
               Defn      => "",
            },
         },
      },
      "RxC_OTHER0_RETRY" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x2E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Other Retries",
         Defn      => "Retry Queue Inserts of Transactions that were already in another Retry Q (sub-events encode the reason for the next reject)",
         Subevents =>
         {
            "AD_REQ_VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD REQ on VN0",
               Defn      => "",
            },
            "AD_RSP_VN0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD RSP on VN0",
               Defn      => "",
            },
            "BL_RSP_VN0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL RSP on VN0",
               Defn      => "",
            },
            "BL_WB_VN0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL WB on VN0",
               Defn      => "",
            },
            "BL_NCB_VN0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCB on VN0",
               Defn      => "",
            },
            "BL_NCS_VN0" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCS on VN0",
               Defn      => "",
            },
            "AK_NON_UPI" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI AK Request",
               Defn      => "",
            },
            "IV_NON_UPI" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI IV Request",
               Defn      => "",
            },
         },
      },
      "RxC_OTHER1_RETRY" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x2F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Other Retries",
         Defn      => "Retry Queue Inserts of Transactions that were already in another Retry Q (sub-events encode the reason for the next reject)",
         Subevents =>
         {
            "ANY0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "ANY0",
               Defn      => "",
            },
            "HA" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "HA",
               Defn      => "",
            },
            "LLC_VICTIM" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "LLC Victim",
               Defn      => "",
            },
            "SF_VICTIM" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SF Victim",
               Defn      => "",
            },
            "VICTIM" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Victim",
               Defn      => "",
            },
            "LLC_OR_SF_WAY" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Merging these two together to make room for ANY_REJECT_*0",
               Defn      => "",
            },
            "ALLOW_SNP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Allow Snoop",
               Defn      => "",
            },
            "PA_MATCH" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PhyAddr Match",
               Defn      => "",
            },
         },
      },
      "RxC_PRQ0_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x20,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress (from CMS) Request Queue Rejects",
         Defn      => "",
         Subevents =>
         {
            "AD_REQ_VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD REQ on VN0",
               Defn      => "",
            },
            "AD_RSP_VN0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD RSP on VN0",
               Defn      => "",
            },
            "BL_RSP_VN0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL RSP on VN0",
               Defn      => "",
            },
            "BL_WB_VN0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL WB on VN0",
               Defn      => "",
            },
            "BL_NCB_VN0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCB on VN0",
               Defn      => "",
            },
            "BL_NCS_VN0" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCS on VN0",
               Defn      => "",
            },
            "AK_NON_UPI" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI AK Request",
               Defn      => "",
            },
            "IV_NON_UPI" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI IV Request",
               Defn      => "",
            },
         },
      },
      "RxC_PRQ1_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x21,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress (from CMS) Request Queue Rejects",
         Defn      => "",
         Subevents =>
         {
            "ANY0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "ANY0",
               Defn      => "",
            },
            "HA" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "HA",
               Defn      => "",
            },
            "LLC_VICTIM" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "LLC Victim",
               Defn      => "",
            },
            "SF_VICTIM" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SF Victim",
               Defn      => "",
            },
            "VICTIM" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Victim",
               Defn      => "",
            },
            "LLC_OR_SF_WAY" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "LLC OR SF Way",
               Defn      => "",
            },
            "ALLOW_SNP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Allow Snoop",
               Defn      => "",
            },
            "PA_MATCH" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PhyAddr Match",
               Defn      => "",
            },
         },
      },
      "RxC_REQ_Q0_RETRY" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x2A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Request Queue Retries",
         Defn      => "\"REQUESTQ\" includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         Subevents =>
         {
            "AD_REQ_VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD REQ on VN0",
               Defn      => "",
            },
            "AD_RSP_VN0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD RSP on VN0",
               Defn      => "",
            },
            "BL_RSP_VN0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL RSP on VN0",
               Defn      => "",
            },
            "BL_WB_VN0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL WB on VN0",
               Defn      => "",
            },
            "BL_NCB_VN0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCB on VN0",
               Defn      => "",
            },
            "BL_NCS_VN0" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCS on VN0",
               Defn      => "",
            },
            "AK_NON_UPI" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI AK Request",
               Defn      => "",
            },
            "IV_NON_UPI" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI IV Request",
               Defn      => "",
            },
         },
      },
      "RxC_REQ_Q1_RETRY" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x2B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Request Queue Retries",
         Defn      => "\"REQUESTQ\" includes:  IRQ, PRQ, IPQ, RRQ, WBQ (everything except for ISMQ)",
         Subevents =>
         {
            "ANY0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "ANY0",
               Defn      => "",
            },
            "HA" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "HA",
               Defn      => "",
            },
            "LLC_VICTIM" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "LLC Victim",
               Defn      => "",
            },
            "SF_VICTIM" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SF Victim",
               Defn      => "",
            },
            "VICTIM" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Victim",
               Defn      => "",
            },
            "LLC_OR_SF_WAY" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Merging these two together to make room for ANY_REJECT_*0",
               Defn      => "",
            },
            "ALLOW_SNP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Allow Snoop",
               Defn      => "",
            },
            "PA_MATCH" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PhyAddr Match",
               Defn      => "",
            },
         },
      },
      "RxC_RRQ0_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x26,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RRQ Rejects",
         Defn      => "Number of times a transaction flowing through the RRQ (Remote Response Queue) had to retry.",
         Subevents =>
         {
            "AD_REQ_VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD REQ on VN0",
               Defn      => "",
            },
            "AD_RSP_VN0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD RSP on VN0",
               Defn      => "",
            },
            "BL_RSP_VN0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL RSP on VN0",
               Defn      => "",
            },
            "BL_WB_VN0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL WB on VN0",
               Defn      => "",
            },
            "BL_NCB_VN0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCB on VN0",
               Defn      => "",
            },
            "BL_NCS_VN0" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCS on VN0",
               Defn      => "",
            },
            "AK_NON_UPI" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI AK Request",
               Defn      => "",
            },
            "IV_NON_UPI" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI IV Request",
               Defn      => "",
            },
         },
      },
      "RxC_RRQ1_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x27,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RRQ Rejects",
         Defn      => "Number of times a transaction flowing through the RRQ (Remote Response Queue) had to retry.",
         Subevents =>
         {
            "ANY0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "ANY0",
               Defn      => "",
            },
            "HA" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "HA",
               Defn      => "",
            },
            "LLC_VICTIM" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "LLC Victim",
               Defn      => "",
            },
            "SF_VICTIM" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SF Victim",
               Defn      => "",
            },
            "VICTIM" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Victim",
               Defn      => "",
            },
            "LLC_OR_SF_WAY" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Merging these two together to make room for ANY_REJECT_*0",
               Defn      => "",
            },
            "ALLOW_SNP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Allow Snoop",
               Defn      => "",
            },
            "PA_MATCH" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PhyAddr Match",
               Defn      => "",
            },
         },
      },
      "RxC_WBQ0_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x28,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WBQ Rejects",
         Defn      => "Number of times a transaction flowing through the WBQ (Writeback Queue) had to retry.",
         Subevents =>
         {
            "AD_REQ_VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD REQ on VN0",
               Defn      => "",
            },
            "AD_RSP_VN0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD RSP on VN0",
               Defn      => "",
            },
            "BL_RSP_VN0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL RSP on VN0",
               Defn      => "",
            },
            "BL_WB_VN0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL WB on VN0",
               Defn      => "",
            },
            "BL_NCB_VN0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCB on VN0",
               Defn      => "",
            },
            "BL_NCS_VN0" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL NCS on VN0",
               Defn      => "",
            },
            "AK_NON_UPI" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI AK Request",
               Defn      => "",
            },
            "IV_NON_UPI" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non UPI IV Request",
               Defn      => "",
            },
         },
      },
      "RxC_WBQ1_REJECT" =>
      {
         Box       => "CHA Box Events",
         Category  => "INGRESS_RETRY Events",
         EvSel     => 0x29,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WBQ Rejects",
         Defn      => "Number of times a transaction flowing through the WBQ (Writeback Queue) had to retry.",
         Subevents =>
         {
            "ANY0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "ANY0",
               Defn      => "",
            },
            "HA" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "HA",
               Defn      => "",
            },
            "LLC_VICTIM" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "LLC Victim",
               Defn      => "",
            },
            "SF_VICTIM" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SF Victim",
               Defn      => "",
            },
            "VICTIM" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Victim",
               Defn      => "",
            },
            "LLC_OR_SF_WAY" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Merging these two together to make room for ANY_REJECT_*0",
               Defn      => "",
            },
            "ALLOW_SNP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Allow Snoop",
               Defn      => "",
            },
            "PA_MATCH" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PhyAddr Match",
               Defn      => "",
            },
         },
      },
      "RxR_BUSY_STARVED" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Injection Starvation",
         Defn      => "Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, because a message from the other queue has higher priority",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the OR of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_BYPASS" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Bypass",
         Defn      => "Number of packets bypassing the CMS Ingress",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_CRD_STARVED" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB3,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Injection Starvation",
         Defn      => "Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, the Ingress is unable to forward to the Egress due to a lack of credit.",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the OR of the two. For this purpose IFV is considered an AK ring type. Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
            "IFV" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IFV - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_INSERTS" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB1,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Allocations",
         Defn      => "Number of allocations into the CMS Ingress  The Ingress is used to queue up requests received from the mesh",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_OCCUPANCY" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Occupancy",
         Defn      => "Occupancy event for the Ingress buffers in the CMS  The Ingress is used to queue up requests received from the mesh",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "SF_EVICTION" =>
      {
         Box       => "CHA Box Events",
         Category  => "CACHE Events",
         EvSel     => 0x3D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Snoop Filter Eviction",
         Defn      => "",
         Subevents =>
         {
            "M_STATE" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "M state",
               Defn      => "",
            },
            "E_STATE" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "E state",
               Defn      => "",
            },
            "S_STATE" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "S state",
               Defn      => "",
            },
         },
      },
      "SNOOPS_SENT" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA REQUEST Events",
         EvSel     => 0x51,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Snoops Sent",
         Defn      => "Counts the number of snoops issued by the HA.",
         Subevents =>
         {
            "ALL" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
            "LOCAL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Broadcast or directed Snoops sent for Local Requests",
               Defn      => "Counts the number of broadcast or directed snoops issued by the HA per request. This filter includes only requests coming from the local socket.",
            },
            "REMOTE" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Broadcast or directed Snoops sent for Remote Requests",
               Defn      => "Counts the number of broadcast or directed snoops issued by the HA per request. This filter includes only requests coming from the remote socket.",
            },
            "BCST_LOCAL" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Broadcast snoop for Local Requests",
               Defn      => "Counts the number of broadcast snoops issued by the HA. This filter includes only requests coming from local sockets.",
            },
            "BCST_REMOTE" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Broadcast snoops for Remote Requests",
               Defn      => "Counts the number of broadcast snoops issued by the HA.This filter includes only requests coming from remote sockets.",
            },
            "DIRECT_LOCAL" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Directed snoops for Local Requests",
               Defn      => "Counts the number of directed snoops issued by the HA. This filter includes only requests coming from local sockets.",
            },
            "DIRECT_REMOTE" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Directed snoops for Remote Requests",
               Defn      => "Counts the number of directed snoops issued by the HA. This filter includes only requests coming from remote sockets.",
            },
         },
      },
      "SNOOP_RESP" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA SNOOP RESPONSE Events",
         EvSel     => 0x5C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Snoop Responses Received",
         Defn      => "Counts the total number of RspI snoop responses received.  Whenever a snoops are issued, one or more snoop responses will be returned depending on the topology of the system.   In systems larger than 2s, when multiple snoops are returned this will count all the snoops that are received.  For example, if 3 snoops were issued and returned RspI, RspS, and RspSFwd; then each of these sub-events would increment by 1.",
         Subevents =>
         {
            "RSPI" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "RspI",
               Defn      => "Filters for snoops responses of RspI.  RspI is returned when the remote cache does not have the data, or when the remote cache silently evicts data (such as when an RFO hits non-modified data).",
            },
            "RSPS" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "RspS",
               Defn      => "Filters for snoop responses of RspS.  RspS is returned when a remote cache has data but is not forwarding it.  It is a way to let the requesting socket know that it cannot allocate the data in E state.  No data is sent with S RspS.",
            },
            "RSPIFWD" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RspIFwd",
               Defn      => "Filters for snoop responses of RspIFwd.  This is returned when a remote caching agent forwards data and the requesting agent is able to acquire the data in E or M states.  This is commonly returned with RFO transactions.  It can be either a HitM or a HitFE.",
            },
            "RSPSFWD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RspSFwd",
               Defn      => "Filters for a snoop response of RspSFwd.  This is returned when a remote caching agent forwards data but holds on to its currentl copy.  This is common for data and code reads that hit in a remote socket in E or F state.",
            },
            "RSP_WBWB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Rsp*WB",
               Defn      => "Filters for a snoop response of RspIWB or RspSWB.  This is returned when a non-RFO request hits in M state.  Data and Code Reads can return either RspIWB or RspSWB depending on how the system has been configured.  InvItoE transactions will also return RspIWB because they must acquire ownership.",
            },
            "RSP_FWD_WB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Rsp*Fwd*WB",
               Defn      => "Filters for a snoop response of Rsp*Fwd*WB.  This snoop response is only used in 4s systems.  It is used when a snoop HITM's in a remote caching agent and it directly forwards data to a requestor, and simultaneously returns data to the home to be written back to memory.",
            },
            "RSPCNFLCTS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSPCNFLCT*",
               Defn      => "Filters for snoops responses of RspConflict.  This is returned when a snoop finds an existing outstanding transaction in a remote caching agent when it CAMs that caching agent.  This triggers conflict resolution hardware.  This covers both RspCnflct and RspCnflctWbI.",
            },
            "RSPFWD" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RspFwd",
               Defn      => "Filters for a snoop response of RspFwd to a CA request.  This snoop response is only possible for RdCur when a snoop HITM/E in a remote caching agent and it directly forwards data to a requestor without changing the requestor's cache line state.",
            },
         },
      },
      "SNOOP_RESP_LOCAL" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA SNOOP RESPONSE Events",
         EvSel     => 0x5D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Snoop Responses Received Local",
         Defn      => "Number of snoop responses received for a Local  request",
         Subevents =>
         {
            "RSPI" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "RspI",
               Defn      => "Filters for snoops responses of RspI to local CA requests.  RspI is returned when the remote cache does not have the data, or when the remote cache silently evicts data (such as when an RFO hits non-modified data).",
            },
            "RSPS" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "RspS",
               Defn      => "Filters for snoop responses of RspS to local CA requests.  RspS is returned when a remote cache has data but is not forwarding it.  It is a way to let the requesting socket know that it cannot allocate the data in E state.  No data is sent with S RspS.",
            },
            "RSPIFWD" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RspIFwd",
               Defn      => "Filters for snoop responses of RspIFwd to local CA requests.  This is returned when a remote caching agent forwards data and the requesting agent is able to acquire the data in E or M states.  This is commonly returned with RFO transactions.  It can be either a HitM or a HitFE.",
            },
            "RSPSFWD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RspSFwd",
               Defn      => "Filters for a snoop response of RspSFwd to local CA requests.  This is returned when a remote caching agent forwards data but holds on to its currentl copy.  This is common for data and code reads that hit in a remote socket in E or F state.",
            },
            "RSP_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Rsp*WB",
               Defn      => "Filters for a snoop response of RspIWB or RspSWB to local CA requests.  This is returned when a non-RFO request hits in M state.  Data and Code Reads can return either RspIWB or RspSWB depending on how the system has been configured.  InvItoE transactions will also return RspIWB because they must acquire ownership.",
            },
            "RSP_FWD_WB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Rsp*FWD*WB",
               Defn      => "Filters for a snoop response of Rsp*Fwd*WB to local CA requests.  This snoop response is only used in 4s systems.  It is used when a snoop HITM's in a remote caching agent and it directly forwards data to a requestor, and simultaneously returns data to the home to be written back to memory.",
            },
            "RSPFWD" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RspFwd",
               Defn      => "Filters for a snoop response of RspFwd to local CA requests.  This snoop response is only possible for RdCur when a snoop HITM/E in a remote caching agent and it directly forwards data to a requestor without changing the requestor's cache line state.",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_AD_AG0" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No AD Agent0 Transgress Credits",
         Defn      => "Number of cycles the AD Agent 0 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_AD_AG1" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No AD Agent1 Transgress Credits",
         Defn      => "Number of cycles the AD Agent 1 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_BL_AG0" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No BL Agent0 Transgress Credits",
         Defn      => "Number of cycles the BL Agent 0 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_BL_AG1" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD6,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No BL Agent1 Transgress Credits",
         Defn      => "Number of cycles the BL Agent 1 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "TOR_INSERTS" =>
      {
         Box       => "CHA Box Events",
         Category  => "TOR Events",
         EvSel     => 0x35,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "TOR Inserts",
         Defn      => "Counts the number of entries successfuly inserted into the TOR that match qualifications specified by the subevent.",
         Notes     => "HW does not strictly OR each subevent.   The equation is roughly (IRQ|EVICT|PRQ|IPQ|RRQ|WBQ) & (HIT|MISS).  Meaing it is necessary to set one of the queue bits before one can measure .HIT or .MISS.   Also note this event is subect to CHA Filter1 which allows a user to opcode match against TOR entries, distinguish those requests satsified locally vs. those that came from a remote node, etc.",
         Subevents =>
         {
            "IRQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "IRQ",
               Defn      => "",
            },
            "EVICT" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "SF/LLC Evictions",
               Defn      => "TOR allocation occurred as a result of SF/LLC evictions (came from the ISMQ)",
            },
            "PRQ" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "PRQ",
               Defn      => "",
            },
            "IPQ" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "IPQ",
               Defn      => "",
            },
            "HIT" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Hit (Not a Miss)",
               Defn      => "HITs (hit is defined to be \"not a miss\" [see below], as a result for any request allocated into the TOR, one of either HIT or MISS must be true)",
            },
            "MISS" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Miss",
               Defn      => "Misses.  (a miss is defined to be any transaction from the IRQ, PRQ, RRQ, IPQ or (in the victim case) the ISMQ, that required the CHA to spawn a new UPI/SMI3 request on the UPI fabric (including UPI snoops and/or any RD/WR to a local memory controller, in the event that the CHA is the home node)).  Basically, if the LLC/SF/MLC complex were not able to service the request without involving another agent...it is a miss.  If only IDI snoops were required, it is not a miss (that means the SF/MLC complex took care of it).",
            },
            "IO" =>
            {
               Umask     => "b00110100",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "All from Local IO",
               Defn      => "All locally generated IO traffic",
            },
            "IO_HIT" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Hits from Local IO",
               Defn      => "",
            },
            "IO_MISS" =>
            {
               Umask     => "b00100100",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Misses from Local IO",
               Defn      => "",
            },
            "IA" =>
            {
               Umask     => "b00110001",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "All from Local iA",
               Defn      => "All locally initiated requests from iA Cores",
            },
            "IA_HIT" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Hits from Local iA",
               Defn      => "",
            },
            "IA_MISS" =>
            {
               Umask     => "b00100001",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Misses from Local iA",
               Defn      => "",
            },
            "ALL_IO_IA" =>
            {
               Umask     => "b00110101",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "All from Local iA and IO",
               Defn      => "All locally initiated requests",
            },
            "ALL_HIT" =>
            {
               Umask     => "b00010101",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Hits from Local",
               Defn      => "",
            },
            "ALL_MISS" =>
            {
               Umask     => "b00100101",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Misses from Local",
               Defn      => "",
            },
         },
      },
      "TOR_OCCUPANCY" =>
      {
         Box       => "CHA Box Events",
         Category  => "TOR Events",
         EvSel     => 0x36,
         Counters  => "0",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "TOR Occupancy",
         Defn      => "For each cycle, this event accumulates the number of valid entries in the TOR that match qualifications specified by the subevent.   T",
         Notes     => "HW does not strictly OR each subevent.   The equation is roughly (IRQ|EVICT|PRQ|IPQ|RRQ|WBQ) & (HIT|MISS).  Meaing it is necessary to set one of the queue bits before one can measure .HIT or .MISS.   Also note this event is subect to CHA Filter1 which allows a user to opcode match against TOR entries, distinguish those requests satsified locally vs. those that came from a remote node, etc.",
         Subevents =>
         {
            "IRQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "IRQ",
               Defn      => "",
            },
            "EVICT" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "SF/LLC Evictions",
               Defn      => "TOR allocation occurred as a result of SF/LLC evictions (came from the ISMQ)",
            },
            "PRQ" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "PRQ",
               Defn      => "",
            },
            "IPQ" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "IPQ",
               Defn      => "",
            },
            "HIT" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Hit (Not a Miss)",
               Defn      => "HITs (hit is defined to be \"not a miss\" [see below], as a result for any request allocated into the TOR, one of either HIT or MISS must be true)",
            },
            "MISS" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Miss",
               Defn      => "Misses.  (a miss is defined to be any transaction from the IRQ, PRQ, RRQ, IPQ or (in the victim case) the ISMQ, that required the CHA to spawn a new UPI/SMI3 request on the UPI fabric (including UPI snoops and/or any RD/WR to a local memory controller, in the event that the CHA is the home node)).  Basically, if the LLC/SF/MLC complex were not able to service the request without involving another agent...it is a miss.  If only IDI snoops were required, it is not a miss (that means the SF/MLC complex took care of it).",
            },
            "IO" =>
            {
               Umask     => "b00110100",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "All from Local IO",
               Defn      => "All locally generated IO traffic",
            },
            "IO_HIT" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Hits from Local IO",
               Defn      => "",
            },
            "IO_MISS" =>
            {
               Umask     => "b00100100",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Misses from Local IO",
               Defn      => "",
            },
            "IA" =>
            {
               Umask     => "b00110001",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "All from Local iA",
               Defn      => "All locally initiated requests from iA Cores",
            },
            "IA_HIT" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Hits from Local iA",
               Defn      => "",
            },
            "IA_MISS" =>
            {
               Umask     => "b00100001",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Misses from Local iA",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "b00110111",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "All from Local",
               Defn      => "All remotely generated requests",
            },
            "ALL_HIT" =>
            {
               Umask     => "b00010111",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Hits from Local",
               Defn      => "",
            },
            "ALL_MISS" =>
            {
               Umask     => "b00100111",
               Counters  => "",
               Filter    => "CHAFilter1[31:0]",
               Desc      => "Misses from Local",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_ADS_USED" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal ADS Used",
         Defn      => "Number of packets using the Horizontal Anti-Deadlock Slot, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_BYPASS" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Bypass Used",
         Defn      => "Number of packets bypassing the Horizontal Egress, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_CYCLES_FULL" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x96,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Horizontal Egress Queue is Full",
         Defn      => "Cycles the Transgress buffers in the Common Mesh Stop are Full.  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_CYCLES_NE" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x97,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Horizontal Egress Queue is Not Empty",
         Defn      => "Cycles the Transgress buffers in the Common Mesh Stop are Not-Empty.  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_INSERTS" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x95,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Inserts",
         Defn      => "Number of allocations into the Transgress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_NACK" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x99,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress NACKs",
         Defn      => "Counts number of Egress packets NACK'ed on to the Horizontal Ring",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_OCCUPANCY" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x94,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Occupancy",
         Defn      => "Occupancy event for the Transgress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_STARVED" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Injection Starvation",
         Defn      => "Counts injection starvation.  This starvation is triggered when the CMS Transgress buffer cannot send a transaction onto the Horizontal ring for a long period of time.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_ADS_USED" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical ADS Used",
         Defn      => "Number of packets using the Vertical Anti-Deadlock Slot, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_BYPASS" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical ADS Used",
         Defn      => "Number of packets bypassing the Vertical Egress, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_CYCLES_FULL" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x92,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Vertical Egress Queue Is Full",
         Defn      => "Number of cycles the Common Mesh Stop Egress was Not Full.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_CYCLES_NE" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x93,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Vertical Egress Queue Is Not Empty",
         Defn      => "Number of cycles the Common Mesh Stop Egress was Not Empty.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_INSERTS" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x91,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vert Egress Allocations",
         Defn      => "Number of allocations into the Common Mesh Stop Egress.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_NACK" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x98,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical Egress NACKs",
         Defn      => "Counts number of Egress packets NACK'ed on to the Vertical Ring",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_OCCUPANCY" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x90,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vert Egress Occupancy",
         Defn      => "Occupancy event for the Egress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_STARVED" =>
      {
         Box       => "CHA Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical Egress Injection Starvation",
         Defn      => "Counts injection starvation.  This starvation is triggered when the CMS Egress cannot send a transaction onto the Vertical ring for a long period of time.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "VERT_RING_AD_IN_USE" =>
      {
         Box       => "CHA Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xA6,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical AD Ring In Use",
         Defn      => "Counts the number of cycles that the Vertical AD ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  We really have two rings  -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_AK_IN_USE" =>
      {
         Box       => "CHA Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xA8,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical AK Ring In Use",
         Defn      => "Counts the number of cycles that the Vertical AK ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.We really have two rings in -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_BL_IN_USE" =>
      {
         Box       => "CHA Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xAA,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical BL Ring in Use",
         Defn      => "Counts the number of cycles that the Vertical BL ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from  the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_IV_IN_USE" =>
      {
         Box       => "CHA Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xAC,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical IV Ring in Use",
         Defn      => "Counts the number of cycles that the Vertical IV ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  There is only 1 IV ring.  Therefore, if one wants to monitor the \"Even\" ring, they should select both UP_EVEN and DN_EVEN.  To monitor the \"Odd\" ring, they should select both UP_ODD and DN_ODD.",
         Subevents =>
         {
            "UP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up",
               Defn      => "",
            },
            "DN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down",
               Defn      => "",
            },
         },
      },
      "WB_PUSH_MTOI" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA WBPUSHMTOI Events",
         EvSel     => 0x56,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WbPushMtoI",
         Defn      => "Counts the number of times when the CHA was received WbPushMtoI",
         Subevents =>
         {
            "LLC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Pushed to LLC",
               Defn      => "Counts the number of times when the CHA was able to push WbPushMToI to LLC",
            },
            "MEM" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Pushed to Memory",
               Defn      => "Counts the number of times when the CHA was unable to push WbPushMToI to LLC (hence pushed it to MEM)",
            },
         },
      },
      "WRITE_NO_CREDITS" =>
      {
         Box       => "CHA Box Events",
         Category  => "HA READ WRITE Events",
         EvSel     => 0x5A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CHA iMC CHNx WRITE Credits Empty",
         Defn      => "Counts the number of times when there are no credits available for sending WRITEs from the CHA into the iMC.  In order to send WRITEs into the memory controller, the HA must first acquire a credit for the iMC's BL Ingress queue.",
         Subevents =>
         {
            "MC0_SMI0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "MC0_SMI0",
               Defn      => "Filter for memory controller 0 only.",
            },
            "MC1_SMI1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "MC1_SMI1",
               Defn      => "Filter for memory controller 1 only.",
            },
            "EDC0_SMI2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "EDC0_SMI2",
               Defn      => "Filter for memory controller 2 only.",
            },
            "EDC1_SMI3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "EDC1_SMI3",
               Defn      => "Filter for memory controller 3 only.",
            },
            "EDC2_SMI4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "EDC2_SMI4",
               Defn      => "Filter for memory controller 4 only.",
            },
            "EDC3_SMI5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "EDC3_SMI5",
               Defn      => "Filter for memory controller 5 only.",
            },
         },
      },
      "XSNP_RESP" =>
      {
         Box       => "CHA Box Events",
         Category  => "ISMQ Events",
         EvSel     => 0x32,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Core Cross Snoop Responses",
         Defn      => "Counts the number of core cross snoops.  Cores are snooped if the transaction looks up the cache and determines that it is necessary based on the operation type. This event can be filtered based on who triggered the initial snoop(s):  from Evictions, Core  or External (i.e. from a remote node) Requests.  And the event can be filtered based on the responses:  RspX_Fwd/HitY where Y is the state prior to the snoop response and X is the state following.",
         Subevents =>
         {
            "EXT_RSP_HITFSE" =>
            {
               Umask     => "b00100001",
               Counters  => "",
               Filter    => "",
               Desc      => "External RspHitFSE",
               Defn      => "External Request - Response any to Hit F/S/E",
            },
            "CORE_RSP_HITFSE" =>
            {
               Umask     => "b01000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Core RspHitFSE",
               Defn      => "Core Request - Response any to Hit F/S/E",
            },
            "EVICT_RSP_HITFSE" =>
            {
               Umask     => "b10000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Evict RspHitFSE",
               Defn      => "Eviction Request - Response any to Hit F/S/E",
            },
            "ANY_RSP_HITFSE" =>
            {
               Umask     => "b11100001",
               Counters  => "",
               Filter    => "",
               Desc      => "Any RspHitFSE",
               Defn      => "Any Request - Response any to Hit F/S/E",
            },
            "EXT_RSPS_FWDFE" =>
            {
               Umask     => "b00100010",
               Counters  => "",
               Filter    => "",
               Desc      => "External RspSFwdFE",
               Defn      => "External Request - Response S to Fwd F/E",
            },
            "CORE_RSPS_FWDFE" =>
            {
               Umask     => "b01000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Core RspSFwdFE",
               Defn      => "Core Request - Response S to Fwd F/E",
            },
            "EVICT_RSPS_FWDFE" =>
            {
               Umask     => "b10000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Evict RspSFwdFE",
               Defn      => "Eviction Request - Response S to Fwd F/E",
            },
            "ANY_RSPS_FWDFE" =>
            {
               Umask     => "b11100010",
               Counters  => "",
               Filter    => "",
               Desc      => "Any RspSFwdFE",
               Defn      => "Any Request - Response S to Fwd F/E",
            },
            "EXT_RSPI_FWDFE" =>
            {
               Umask     => "b00100100",
               Counters  => "",
               Filter    => "",
               Desc      => "External RspIFwdFE",
               Defn      => "External Request - Response I to Fwd F/E",
            },
            "CORE_RSPI_FWDFE" =>
            {
               Umask     => "b01000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Core RspIFwdFE",
               Defn      => "Core Request - Response I to Fwd F/E",
            },
            "EVICT_RSPI_FWDFE" =>
            {
               Umask     => "b10000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Evict RspIFwdFE",
               Defn      => "Eviction Request - Response I to Fwd F/E",
            },
            "ANY_RSPI_FWDFE" =>
            {
               Umask     => "b11100100",
               Counters  => "",
               Filter    => "",
               Desc      => "Any RspIFwdFE",
               Defn      => "Any Request - Response I to Fwd F/E",
            },
            "EXT_RSPS_FWDM" =>
            {
               Umask     => "b00101000",
               Counters  => "",
               Filter    => "",
               Desc      => "External RspSFwdM",
               Defn      => "External Request - Response S to Fwd M",
            },
            "CORE_RSPS_FWDM" =>
            {
               Umask     => "b01001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Core RspSFwdM",
               Defn      => "Core Request - Response S to Fwd M",
            },
            "EVICT_RSPS_FWDM" =>
            {
               Umask     => "b10001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Evict RspSFwdM",
               Defn      => "Eviction Request - Response S to Fwd M",
            },
            "ANY_RSPS_FWDM" =>
            {
               Umask     => "b11101000",
               Counters  => "",
               Filter    => "",
               Desc      => "Any RspSFwdM",
               Defn      => "Any Request - Response S to Fwd M",
            },
            "EXT_RSPI_FWDM" =>
            {
               Umask     => "b00110000",
               Counters  => "",
               Filter    => "",
               Desc      => "External RspIFwdM",
               Defn      => "External Request - Response I to Fwd M",
            },
            "CORE_RSPI_FWDM" =>
            {
               Umask     => "b01010000",
               Counters  => "",
               Filter    => "",
               Desc      => "Core RspIFwdM",
               Defn      => "Core Request - Response I to Fwd M",
            },
            "EVICT_RSPI_FWDM" =>
            {
               Umask     => "b10010000",
               Counters  => "",
               Filter    => "",
               Desc      => "Evict RspIFwdM",
               Defn      => "Eviction Request - Response I to Fwd M",
            },
         },
      },
   },
   "IIO Box Events" =>
   {
      "CLOCKTICKS" =>
      {
         Box       => "IIO Box Events",
         Category  => "CLOCK Events",
         EvSel     => 0x81,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Traffic Controller Clocks",
         Defn      => "Increments counter once every Traffic Controller clock, the LSCLK (1 GHz)",
      },
      "CLOCKTICKS" =>
      {
         Box       => "IIO Box Events",
         Category  => "Debug Events",
         EvSel     => 0x01,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Traffic Controller Clocks",
         Defn      => "",
      },
      "COMP_BUF_INSERTS" =>
      {
         Box       => "IIO Box Events",
         Category  => "PCIe Completion Buffer Events",
         EvSel     => 0xC2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "PCIe Completion Buffer Inserts",
         Defn      => "",
         Subevents =>
         {
            "PORT0" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Port 0",
               Defn      => "",
            },
            "PORT1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Port 1",
               Defn      => "",
            },
            "PORT2" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Port 2",
               Defn      => "",
            },
            "PORT3" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Port 3",
               Defn      => "",
            },
         },
      },
      "COMP_BUF_OCCUPANCY" =>
      {
         Box       => "IIO Box Events",
         Category  => "PCIe Completion Buffer Events",
         EvSel     => 0xD5,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "PCIe Completion Buffer Occupancy",
         Defn      => "",
         Subevents =>
         {
            "PORT0" =>
            {
               Umask     => "bxxxxxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Port 0",
               Defn      => "",
            },
            "PORT1" =>
            {
               Umask     => "bxxxxxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Port 1",
               Defn      => "",
            },
            "PORT2" =>
            {
               Umask     => "bxxxxxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Port 2",
               Defn      => "",
            },
            "PORT3" =>
            {
               Umask     => "bxxxxxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Port 3",
               Defn      => "",
            },
         },
      },
      "DATA_REQ_BY_CPU" =>
      {
         Box       => "IIO Box Events",
         Category  => "Payload Events",
         EvSel     => 0xC0,
         Counters  => "2-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Data requested by the CPU",
         Defn      => "Number of double word (4 bytes) requests initiated by the main die to the attached device.",
         Notes     => "Unlike free running counters, Mem Read and Peer read subevents count requests not completions.  Peer R/W subevents do not include confined P2P traffic.",
         Subevents =>
         {
            "MEM_WRITE.PART0" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "MEM_WRITE.PART1" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "MEM_WRITE.PART2" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "MEM_WRITE.PART3" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MEM_WRITE.VTD0" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "VTd - Type 0",
            },
            "MEM_WRITE.VTD1" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "VTd - Type 1",
            },
            "PEER_WRITE.PART0" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "PEER_WRITE.PART1" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "PEER_WRITE.PART2" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "PEER_WRITE.PART3" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "PEER_WRITE.VTD0" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "VTd - Type 0",
            },
            "PEER_WRITE.VTD1" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "VTd - Type 1",
            },
            "MEM_READ.PART0" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "MEM_READ.PART1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "MEM_READ.PART2" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "MEM_READ.PART3" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MEM_READ.VTD0" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "VTd - Type 0",
            },
            "MEM_READ.VTD1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "VTd - Type 1",
            },
            "PEER_READ.PART0" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "PEER_READ.PART1" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "PEER_READ.PART2" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "PEER_READ.PART3" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "PEER_READ.VTD0" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "VTd - Type 0",
            },
            "PEER_READ.VTD1" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "VTd - Type 1",
            },
            "CFG_WRITE.PART0" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "CFG_WRITE.PART1" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "CFG_WRITE.PART2" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "CFG_WRITE.PART3" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "CFG_WRITE.VTD0" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "VTd - Type 0",
            },
            "CFG_WRITE.VTD1" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "VTd - Type 1",
            },
            "IO_WRITE.PART0" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "IO_WRITE.PART1" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "IO_WRITE.PART2" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "IO_WRITE.PART3" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "IO_WRITE.VTD0" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "VTd - Type 0",
            },
            "IO_WRITE.VTD1" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "VTd - Type 1",
            },
            "CFG_READ.PART0" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "CFG_READ.PART1" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "CFG_READ.PART2" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "CFG_READ.PART3" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "CFG_READ.VTD0" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "VTd - Type 0",
            },
            "CFG_READ.VTD1" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "VTd - Type 1",
            },
            "IO_READ.PART0" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "IO_READ.PART1" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "IO_READ.PART2" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "IO_READ.PART3" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "IO_READ.VTD0" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "VTd - Type 0",
            },
            "IO_READ.VTD1" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "VTd - Type 1",
            },
         },
      },
      "DATA_REQ_OF_CPU" =>
      {
         Box       => "IIO Box Events",
         Category  => "Payload Events",
         EvSel     => 0x83,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Data requested of the CPU",
         Defn      => "Number of double word (4 bytes) requests the attached device made of the main die.",
         Notes     => "Multiply value by 4 to convert to number of Bytes.   Unlike free running counters, Mem Read and Peer read subevents count requests not completions.  Peer R/W subevents do not include confined P2P traffic.   Counts are incremented on the request path rather than the completion path.    Expect to change back on next prodcut.",
         Subevents =>
         {
            "MEM_WRITE.PART0" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "MEM_WRITE.PART1" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "MEM_WRITE.PART2" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "MEM_WRITE.PART3" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MEM_WRITE.VTD0" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "VTd - Type 0",
            },
            "MEM_WRITE.VTD1" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "VTd - Type 1",
            },
            "PEER_WRITE.PART0" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "PEER_WRITE.PART1" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "PEER_WRITE.PART2" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "PEER_WRITE.PART3" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "PEER_WRITE.VTD0" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "VTd - Type 0",
            },
            "PEER_WRITE.VTD1" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "VTd - Type 1",
            },
            "MEM_READ.PART0" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "MEM_READ.PART1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "MEM_READ.PART2" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "MEM_READ.PART3" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MEM_READ.VTD0" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "VTd - Type 0",
            },
            "MEM_READ.VTD1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "VTd - Type 1",
            },
            "PEER_READ.PART0" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "PEER_READ.PART1" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "PEER_READ.PART2" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "PEER_READ.PART3" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "PEER_READ.VTD0" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "VTd - Type 0",
            },
            "PEER_READ.VTD1" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "VTd - Type 1",
            },
            "ATOMIC.PART0" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "ATOMIC.PART1" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "ATOMIC.PART2" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "ATOMIC.PART3" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "ATOMIC.VTD0" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "VTd - Type 0",
            },
            "ATOMIC.VTD1" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "VTd - Type 1",
            },
            "ATOMICCMP.PART0" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Completion of atomic requests targeting DRAM",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "ATOMICCMP.PART1" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Completion of atomic requests targeting DRAM",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "ATOMICCMP.PART2" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Completion of atomic requests targeting DRAM",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "ATOMICCMP.PART3" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Completion of atomic requests targeting DRAM",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MSG.PART0" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "MSG.PART1" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "MSG.PART2" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "MSG.PART3" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MSG.VTD0" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "VTd - Type 0",
            },
            "MSG.VTD1" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "VTd - Type 1",
            },
         },
      },
      "LINK_NUM_CORR_ERR" =>
      {
         Box       => "IIO Box Events",
         Category  => "Link Events",
         EvSel     => 0x0F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Num Link  Correctable Errors",
         Defn      => "",
      },
      "LINK_NUM_RETRIES" =>
      {
         Box       => "IIO Box Events",
         Category  => "Link Events",
         EvSel     => 0x0E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Num Link Retries",
         Defn      => "",
      },
      "MASK_MATCH" =>
      {
         Box       => "IIO Box Events",
         Category  => "Miscellaneous Events",
         EvSel     => 0x21,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number packets that passed the Mask/Match Filter",
         Defn      => "",
      },
      "MASK_MATCH_AND" =>
      {
         Box       => "IIO Box Events",
         Category  => "Debug Events",
         EvSel     => 0x02,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AND Mask/match for debug bus",
         Defn      => "Asserted if all bits specified by mask match",
         Subevents =>
         {
            "BUS0" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-PCIE bus",
               Defn      => "",
            },
            "BUS1" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "PCIE bus",
               Defn      => "",
            },
            "BUS0_NOT_BUS1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-PCIE bus and !(PCIE bus)",
               Defn      => "",
            },
            "BUS0_BUS1" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-PCIE bus and PCIE bus",
               Defn      => "",
            },
            "NOT_BUS0_BUS1" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "!(Non-PCIE bus) and PCIE bus",
               Defn      => "",
            },
            "NOT_BUS0_NOT_BUS1" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "MASK_MATCH_OR" =>
      {
         Box       => "IIO Box Events",
         Category  => "Debug Events",
         EvSel     => 0x03,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "OR Mask/match for debug bus",
         Defn      => "Asserted if any bits specified by mask match",
         Subevents =>
         {
            "BUS0" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-PCIE bus",
               Defn      => "",
            },
            "BUS1" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "PCIE bus",
               Defn      => "",
            },
            "BUS0_NOT_BUS1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-PCIE bus and !(PCIE bus)",
               Defn      => "",
            },
            "BUS0_BUS1" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-PCIE bus and PCIE bus",
               Defn      => "",
            },
            "NOT_BUS0_BUS1" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "!(Non-PCIE bus) and PCIE bus",
               Defn      => "",
            },
            "NOT_BUS0_NOT_BUS1" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "!(Non-PCIE bus) and !(PCIE bus)",
               Defn      => "",
            },
         },
      },
      "NOTHING" =>
      {
         Box       => "IIO Box Events",
         Category  => "CLOCK Events",
         EvSel     => 0x00,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "SYMBOL_TIMES" =>
      {
         Box       => "IIO Box Events",
         Category  => "Miscellaneous Events",
         EvSel     => 0x82,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Symbol Times on Link",
         Defn      => "Gen1 - increment once every 4nS, Gen2 - increment once every 2nS, Gen3 - increment once every 1nS",
      },
      "TXN_REQ_BY_CPU" =>
      {
         Box       => "IIO Box Events",
         Category  => "Transaction Events",
         EvSel     => 0xC1,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number Transactions requested by the CPU",
         Defn      => "Also known as Outbound.  Number of requests, to the attached device, initiated by the main die.",
         Notes     => "Unlike free running counters, Mem Read and Peer read subevents count requests not completions.  Peer R/W subevents do not include confined P2P traffic.",
         Subevents =>
         {
            "MEM_WRITE.PART0" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "MEM_WRITE.PART1" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "MEM_WRITE.PART2" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "MEM_WRITE.PART3" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MEM_WRITE.VTD0" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "VTd - Type 0",
            },
            "MEM_WRITE.VTD1" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's MMIO space",
               Defn      => "VTd - Type 1",
            },
            "PEER_WRITE.PART0" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "PEER_WRITE.PART1" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "PEER_WRITE.PART2" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "PEER_WRITE.PART3" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "PEER_WRITE.VTD0" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "VTd - Type 0",
            },
            "PEER_WRITE.VTD1" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) writing to this card.",
               Defn      => "VTd - Type 1",
            },
            "MEM_READ.PART0" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "MEM_READ.PART1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "MEM_READ.PART2" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "MEM_READ.PART3" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MEM_READ.VTD0" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "VTd - Type 0",
            },
            "MEM_READ.VTD1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's MMIO space",
               Defn      => "VTd - Type 1",
            },
            "PEER_READ.PART0" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "PEER_READ.PART1" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "PEER_READ.PART2" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "PEER_READ.PART3" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "PEER_READ.VTD0" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "VTd - Type 0",
            },
            "PEER_READ.VTD1" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Another card (different IIO stack) reading from this card.",
               Defn      => "VTd - Type 1",
            },
            "CFG_WRITE.PART0" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "CFG_WRITE.PART1" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "CFG_WRITE.PART2" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "CFG_WRITE.PART3" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "CFG_WRITE.VTD0" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "VTd - Type 0",
            },
            "CFG_WRITE.VTD1" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's PCICFG space",
               Defn      => "VTd - Type 1",
            },
            "IO_WRITE.PART0" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "IO_WRITE.PART1" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "IO_WRITE.PART2" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "IO_WRITE.PART3" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "IO_WRITE.VTD0" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "VTd - Type 0",
            },
            "IO_WRITE.VTD1" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core writing to Card's IO space",
               Defn      => "VTd - Type 1",
            },
            "CFG_READ.PART0" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "CFG_READ.PART1" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "CFG_READ.PART2" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "CFG_READ.PART3" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "CFG_READ.VTD0" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "VTd - Type 0",
            },
            "CFG_READ.VTD1" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's PCICFG space",
               Defn      => "VTd - Type 1",
            },
            "IO_READ.PART0" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "IO_READ.PART1" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "IO_READ.PART2" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "IO_READ.PART3" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "IO_READ.VTD0" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "VTd - Type 0",
            },
            "IO_READ.VTD1" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Core reading from Card's IO space",
               Defn      => "VTd - Type 1",
            },
         },
      },
      "TXN_REQ_OF_CPU" =>
      {
         Box       => "IIO Box Events",
         Category  => "Transaction Events",
         EvSel     => 0x84,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number Transactions requested of the CPU",
         Defn      => "Also known as Inbound.  Number of 64 byte cache line requests initiated by the attached device.",
         Notes     => "Unlike free running counters, Mem Read and Peer read subevents count requests not completions.  Peer R/W subevents do not include confined P2P traffic.",
         Subevents =>
         {
            "MEM_WRITE.PART0" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "MEM_WRITE.PART1" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "MEM_WRITE.PART2" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "MEM_WRITE.PART3" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MEM_WRITE.VTD0" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "VTd - Type 0",
            },
            "MEM_WRITE.VTD1" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to DRAM",
               Defn      => "VTd - Type 1",
            },
            "PEER_WRITE.PART0" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "PEER_WRITE.PART1" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "PEER_WRITE.PART2" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "PEER_WRITE.PART3" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "PEER_WRITE.VTD0" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "VTd - Type 0",
            },
            "PEER_WRITE.VTD1" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card writing to another Card (same or different stack)",
               Defn      => "VTd - Type 1",
            },
            "MEM_READ.PART0" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "MEM_READ.PART1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "MEM_READ.PART2" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "MEM_READ.PART3" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MEM_READ.VTD0" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "VTd - Type 0",
            },
            "MEM_READ.VTD1" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from DRAM",
               Defn      => "VTd - Type 1",
            },
            "PEER_READ.PART0" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "PEER_READ.PART1" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "PEER_READ.PART2" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "PEER_READ.PART3" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "PEER_READ.VTD0" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "VTd - Type 0",
            },
            "PEER_READ.VTD1" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Card reading from another Card (same or different stack)",
               Defn      => "VTd - Type 1",
            },
            "ATOMIC.PART0" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bx1xxxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "ATOMIC.PART1" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "ATOMIC.PART2" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "ATOMIC.PART3" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "ATOMIC.VTD0" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "VTd - Type 0",
            },
            "ATOMIC.VTD1" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic requests targeting DRAM",
               Defn      => "VTd - Type 1",
            },
            "ATOMICCMP.PART0" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Completion of atomic requests targeting DRAM",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "ATOMICCMP.PART1" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Completion of atomic requests targeting DRAM",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "ATOMICCMP.PART2" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Completion of atomic requests targeting DRAM",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "ATOMICCMP.PART3" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Completion of atomic requests targeting DRAM",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MSG.PART0" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxxxx1",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "x16 card plugged in to stack, Or x8 card plugged in to Lane 0/1, Or x4 card is plugged in to slot 0",
            },
            "MSG.PART1" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxxx1x",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "x4 card is plugged in to slot 1",
            },
            "MSG.PART2" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxxx1xx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "x8 card plugged in to Lane 2/3, Or x4 card is plugged in to slot 2",
            },
            "MSG.PART3" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxxx1xxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "x4 card is plugged in to slot 3",
            },
            "MSG.VTD0" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxxx1xxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "VTd - Type 0",
            },
            "MSG.VTD1" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "bxx1xxxxx",
               FCMask    => "b111",
               Counters  => "",
               Filter    => "",
               Desc      => "Messages",
               Defn      => "VTd - Type 1",
            },
         },
      },
      "VTD_ACCESS" =>
      {
         Box       => "IIO Box Events",
         Category  => "VTd Events",
         EvSel     => 0x41,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VTd Access",
         Defn      => "",
         Notes     => ".L4_PAGE_HIT + L4_MISS == # VT-D Lookups?   .CTXT_MISS + .L1_MISS + .L2_MISS + .L3_MISS + .L4_MISS == # Page Walker Reads Issued by VT-d?",
         Subevents =>
         {
            "L4_PAGE_HIT" =>
            {
               Umask     => "bxxxxxxx1",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Vtd hit",
               Defn      => "",
            },
            "CTXT_MISS" =>
            {
               Umask     => "bxxxxxx1x",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "context cache miss",
               Defn      => "",
            },
            "L1_MISS" =>
            {
               Umask     => "bxxxxx1xx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "L1 miss",
               Defn      => "",
            },
            "L2_MISS" =>
            {
               Umask     => "bxxxx1xxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "L2 miss",
               Defn      => "",
            },
            "L3_MISS" =>
            {
               Umask     => "bxxx1xxxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "L3 miss",
               Defn      => "",
            },
            "TLB_MISS" =>
            {
               Umask     => "bxx1xxxxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "TLB miss",
               Defn      => "",
            },
            "TLB_FULL" =>
            {
               Umask     => "bx1xxxxxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "TLB is full",
               Defn      => "",
            },
            "TLB1_MISS" =>
            {
               Umask     => "b1xxxxxxx",
               PortMask  => "",
               FCMask    => "",
               Counters  => "",
               Filter    => "",
               Desc      => "TLB miss",
               Defn      => "",
            },
         },
      },
      "VTD_OCCUPANCY" =>
      {
         Box       => "IIO Box Events",
         Category  => "VTd Events",
         EvSel     => 0x40,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VTd Occupancy",
         Defn      => "",
      },
   },
   "IRP Box Events" =>
   {
      "CACHE_TOTAL_OCCUPANCY" =>
      {
         Box       => "IRP Box Events",
         Category  => "WRITE_CACHE Events",
         EvSel     => 0x0F,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Total Write Cache Occupancy",
         Defn      => "Accumulates the number of reads and writes that are outstanding in the uncore in each cycle.  This is effectively the sum of the READ_OCCUPANCY and WRITE_OCCUPANCY events.",
         Subevents =>
         {
            "ANY" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Any Source",
               Defn      => "Tracks all requests from any source port.",
            },
            "IV_Q" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops",
               Defn      => "",
            },
            "MEM" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Mem",
               Defn      => "",
            },
         },
      },
      "CLOCKTICKS" =>
      {
         Box       => "IRP Box Events",
         Category  => "CLOCK Events",
         EvSel     => 0x01,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "IRP Clocks",
         Defn      => "",
      },
      "COHERENT_OPS" =>
      {
         Box       => "IRP Box Events",
         Category  => "Coherency Events",
         EvSel     => 0x10,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Coherent Ops",
         Defn      => "Counts the number of coherency related operations servied by the IRP",
         Subevents =>
         {
            "PCIRDCUR" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "PCIRdCur",
               Defn      => "",
            },
            "CRD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "CRd",
               Defn      => "",
            },
            "DRD" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "DRd",
               Defn      => "",
            },
            "RFO" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RFO",
               Defn      => "",
            },
            "PCITOM" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PCIItoM",
               Defn      => "",
            },
            "PCIDCAHINT" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "PCIDCAHin5t",
               Defn      => "",
            },
            "WBMTOI" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WbMtoI",
               Defn      => "",
            },
            "CLFLUSH" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "CLFlush",
               Defn      => "",
            },
         },
      },
      "FAF_FULL" =>
      {
         Box       => "IRP Box Events",
         Category  => "FAF Events",
         EvSel     => 0x17,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "FAF RF full",
         Defn      => "",
      },
      "FAF_INSERTS" =>
      {
         Box       => "IRP Box Events",
         Category  => "FAF Events",
         EvSel     => 0x18,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "FAF - request insert from TC.",
         Defn      => "",
      },
      "FAF_OCCUPANCY" =>
      {
         Box       => "IRP Box Events",
         Category  => "FAF Events",
         EvSel     => 0x19,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "FAF occupancy",
         Defn      => "",
      },
      "FAF_TRANSACTIONS" =>
      {
         Box       => "IRP Box Events",
         Category  => "FAF Events",
         EvSel     => 0x16,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "FAF allocation -- sent to ADQ",
         Defn      => "",
      },
      "IRP_ALL" =>
      {
         Box       => "IRP Box Events",
         Category  => "IRP Buffer Events",
         EvSel     => 0x1E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "INBOUND_INSERTS" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "All Inserts Inbound (p2p + faf + cset)",
               Defn      => "",
            },
            "OUTBOUND_INSERTS" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "All Inserts Outbound (BL, AK, Snoops)",
               Defn      => "",
            },
         },
      },
      "MISC0" =>
      {
         Box       => "IRP Box Events",
         Category  => "MISC Events",
         EvSel     => 0x1C,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Misc Events - Set 0",
         Defn      => "",
         Subevents =>
         {
            "FAST_REQ" =>
            {
               Umask     => "b000000x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Fastpath Requests",
               Defn      => "",
            },
            "FAST_REJ" =>
            {
               Umask     => "b0000001x",
               Counters  => "",
               Filter    => "",
               Desc      => "Fastpath Rejects",
               Defn      => "",
            },
            "2ND_RD_INSERT" =>
            {
               Umask     => "bx00xx100",
               Counters  => "",
               Filter    => "",
               Desc      => "Cache Inserts of Read Transactions as Secondary",
               Defn      => "",
            },
            "2ND_WR_INSERT" =>
            {
               Umask     => "bx00x1x00",
               Counters  => "",
               Filter    => "",
               Desc      => "Cache Inserts of Write Transactions as Secondary",
               Defn      => "",
            },
            "2ND_ATOMIC_INSERT" =>
            {
               Umask     => "bx001xx00",
               Counters  => "",
               Filter    => "",
               Desc      => "Cache Inserts of Atomic Transactions as Secondary",
               Defn      => "",
            },
            "FAST_XFER" =>
            {
               Umask     => "bxx100000",
               Counters  => "",
               Filter    => "",
               Desc      => "Fastpath Transfers From Primary to Secondary",
               Defn      => "",
            },
            "PF_ACK_HINT" =>
            {
               Umask     => "bx1x00000",
               Counters  => "",
               Filter    => "",
               Desc      => "Prefetch Ack Hints From Primary to Secondary",
               Defn      => "",
            },
            "UNKNOWN" =>
            {
               Umask     => "b1xx00000",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "MISC1" =>
      {
         Box       => "IRP Box Events",
         Category  => "MISC Events",
         EvSel     => 0x1D,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Misc Events - Set 1",
         Defn      => "",
         Subevents =>
         {
            "SLOW_I" =>
            {
               Umask     => "b000xxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Slow Transfer of I Line",
               Defn      => "Snoop took cacheline ownership before write from data was committed.",
            },
            "SLOW_S" =>
            {
               Umask     => "b000xxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Slow Transfer of S Line",
               Defn      => "Secondary received a transfer that did not have sufficient MESI state",
            },
            "SLOW_E" =>
            {
               Umask     => "b000xx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Slow Transfer of E Line",
               Defn      => "Secondary received a transfer that did have sufficient MESI state",
            },
            "SLOW_M" =>
            {
               Umask     => "b000x1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Slow Transfer of M Line",
               Defn      => "Snoop took cacheline ownership before write from data was committed.",
            },
            "LOST_FWD" =>
            {
               Umask     => "b0001xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Lost Forward",
               Defn      => "Snoop pulled away ownership before a write was committed",
            },
            "SEC_RCVD_INVLD" =>
            {
               Umask     => "bxx1x0000",
               Counters  => "",
               Filter    => "",
               Desc      => "Received Invalid",
               Defn      => "Secondary received a transfer that did not have sufficient MESI state",
            },
            "SEC_RCVD_VLD" =>
            {
               Umask     => "bx1xx0000",
               Counters  => "",
               Filter    => "",
               Desc      => "Received Valid",
               Defn      => "Secondary received a transfer that did have sufficient MESI state",
            },
         },
      },
      "P2P_INSERTS" =>
      {
         Box       => "IRP Box Events",
         Category  => "P2P Events",
         EvSel     => 0x14,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "P2P Requests",
         Defn      => "P2P requests from the ITC",
      },
      "P2P_OCCUPANCY" =>
      {
         Box       => "IRP Box Events",
         Category  => "P2P Events",
         EvSel     => 0x15,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "P2P Occupancy",
         Defn      => "P2P B & S Queue Occupancy",
      },
      "P2P_TRANSACTIONS" =>
      {
         Box       => "IRP Box Events",
         Category  => "P2P Events",
         EvSel     => 0x13,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "P2P Transactions",
         Defn      => "",
         Subevents =>
         {
            "RD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "P2P reads",
               Defn      => "",
            },
            "WR" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "P2P Writes",
               Defn      => "",
            },
            "MSG" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "P2P Message",
               Defn      => "",
            },
            "CMPL" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "P2P completions",
               Defn      => "",
            },
            "REM" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Match if remote only",
               Defn      => "",
            },
            "REM_AND_TGT_MATCH" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "match if remote and target matches",
               Defn      => "",
            },
            "LOC" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "match if local only",
               Defn      => "",
            },
            "LOC_AND_TGT_MATCH" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "match if local and target matches",
               Defn      => "",
            },
         },
      },
      "SNOOP_RESP" =>
      {
         Box       => "IRP Box Events",
         Category  => "TRANSACTIONS Events",
         EvSel     => 0x12,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Snoop Responses",
         Defn      => "",
         Notes     => "The first 4 subevent bits are the Responses to the Code/Data/Invalid Snoops represented by the last 3 subevent bits.  At least 1 of the bottom 4 bits must be combined with 1 of the top 3 bits to obtain counts.  Unsure which combinations are possible.",
         Subevents =>
         {
            "MISS" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Miss",
               Defn      => "",
            },
            "HIT_I" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Hit I",
               Defn      => "",
            },
            "HIT_ES" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Hit E or S",
               Defn      => "",
            },
            "HIT_M" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Hit M",
               Defn      => "",
            },
            "SNPCODE" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SnpCode",
               Defn      => "",
            },
            "SNPDATA" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SnpData",
               Defn      => "",
            },
            "SNPINV" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "SnpInv",
               Defn      => "",
            },
         },
      },
      "TRANSACTIONS" =>
      {
         Box       => "IRP Box Events",
         Category  => "TRANSACTIONS Events",
         EvSel     => 0x11,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Inbound Transaction Count",
         Defn      => "Counts the number of \"Inbound\" transactions from the IRP to the Uncore.  This can be filtered based on request type in addition to the source queue.  Note the special filtering equation.  We do OR-reduction on the request type.  If the SOURCE bit is set, then we also do AND qualification based on the source portID.",
         Notes     => "Bit 7 is a filter that can be applied to the other subevents.  Meaningless by itself.",
         Subevents =>
         {
            "READS" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Reads",
               Defn      => "Tracks only read requests (not including read prefetches).",
            },
            "WRITES" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Writes",
               Defn      => "Trackes only write requests.  Each write request should have a prefetch, so there is no need to explicitly track these requests.  For writes that are tickled and have to retry, the counter will be incremented for each retry.",
            },
            "RD_PREF" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read Prefetches",
               Defn      => "Tracks the number of read prefetches.",
            },
            "WR_PREF" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Prefetches",
               Defn      => "Tracks the number of write prefetches.",
            },
            "ATOMIC" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Atomic",
               Defn      => "Tracks the number of atomic transactions",
            },
            "OTHER" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Other",
               Defn      => "Tracks the number of 'other' kinds of transactions.",
            },
         },
      },
      "TxC_AK_INSERTS" =>
      {
         Box       => "IRP Box Events",
         Category  => "AK Egress Events",
         EvSel     => 0x0B,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AK Egress Allocations",
         Defn      => "",
      },
      "TxC_BL_DRS_CYCLES_FULL" =>
      {
         Box       => "IRP Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x05,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL DRS Egress Cycles Full",
         Defn      => "",
      },
      "TxC_BL_DRS_INSERTS" =>
      {
         Box       => "IRP Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x02,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL DRS Egress Inserts",
         Defn      => "",
      },
      "TxC_BL_DRS_OCCUPANCY" =>
      {
         Box       => "IRP Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x08,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL DRS Egress Occupancy",
         Defn      => "",
      },
      "TxC_BL_NCB_CYCLES_FULL" =>
      {
         Box       => "IRP Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x06,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL NCB Egress Cycles Full",
         Defn      => "",
      },
      "TxC_BL_NCB_INSERTS" =>
      {
         Box       => "IRP Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x03,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL NCB Egress Inserts",
         Defn      => "",
      },
      "TxC_BL_NCB_OCCUPANCY" =>
      {
         Box       => "IRP Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x09,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL NCB Egress Occupancy",
         Defn      => "",
      },
      "TxC_BL_NCS_CYCLES_FULL" =>
      {
         Box       => "IRP Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x07,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL NCS Egress Cycles Full",
         Defn      => "",
      },
      "TxC_BL_NCS_INSERTS" =>
      {
         Box       => "IRP Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x04,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL NCS Egress Inserts",
         Defn      => "",
      },
      "TxC_BL_NCS_OCCUPANCY" =>
      {
         Box       => "IRP Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x0A,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL NCS Egress Occupancy",
         Defn      => "",
      },
      "TxR2_AD_STALL_CREDIT_CYCLES" =>
      {
         Box       => "IRP Box Events",
         Category  => "STALL_CYCLES Events",
         EvSel     => 0x1A,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "No AD Egress Credit Stalls",
         Defn      => "Counts the number times when it is not possible to issue a request to the R2PCIe because there are no AD Egress Credits available.",
      },
      "TxR2_BL_STALL_CREDIT_CYCLES" =>
      {
         Box       => "IRP Box Events",
         Category  => "STALL_CYCLES Events",
         EvSel     => 0x1B,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "No BL Egress Credit Stalls",
         Defn      => "Counts the number times when it is not possible to issue data to the R2PCIe because there are no BL Egress Credits available.",
      },
      "TxS_DATA_INSERTS_NCB" =>
      {
         Box       => "IRP Box Events",
         Category  => "OUTBOUND_REQUESTS Events",
         EvSel     => 0x0D,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Outbound Read Requests",
         Defn      => "Counts the number of requests issued to the switch (towards the devices).",
      },
      "TxS_DATA_INSERTS_NCS" =>
      {
         Box       => "IRP Box Events",
         Category  => "OUTBOUND_REQUESTS Events",
         EvSel     => 0x0E,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Outbound Read Requests",
         Defn      => "Counts the number of requests issued to the switch (towards the devices).",
      },
      "TxS_REQUEST_OCCUPANCY" =>
      {
         Box       => "IRP Box Events",
         Category  => "OUTBOUND_REQUESTS Events",
         EvSel     => 0x0C,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Outbound Request Queue Occupancy",
         Defn      => "Accumultes the number of outstanding outbound requests from the IRP to the switch (towards the devices).  This can be used in conjuection with the allocations event in order to calculate average latency of outbound requests.",
      },
   },
   "M2M Box Events" =>
   {
      "AG0_AD_CRD_ACQUIRED" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x80,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 AD Credits Acquired",
         Defn      => "Number of CMS Agent 0 AD credits acquired in a given cycle, per transgress.",
         Notes     => "If multiple masks are selected, will count the OR of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_AD_CRD_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x82,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 AD Credits Occupancy",
         Defn      => "Number of CMS Agent 0 AD credits in use in a given cycle, per transgress",
         Notes     => "If multiple masks are selected, will count the SUM of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_BL_CRD_ACQUIRED" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x88,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 BL Credits Acquired",
         Defn      => "Number of CMS Agent 0 BL credits acquired in a given cycle, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_BL_CRD_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 BL Credits Occupancy",
         Defn      => "Number of CMS Agent 0 BL credits in use in a given cycle, per transgress",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_AD_CRD_ACQUIRED" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x84,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 AD Credits Acquired",
         Defn      => "Number of CMS Agent 1 AD credits acquired in a given cycle, per transgress.",
         Notes     => "If multiple masks are selected, will count the OR of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_AD_CRD_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x86,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 AD Credits Occupancy",
         Defn      => "Number of CMS Agent 1 AD credits in use in a given cycle, per transgress",
         Notes     => "If multiple masks are selected, will count the SUM of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_BL_CRD_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 BL Credits Occupancy",
         Defn      => "Number of CMS Agent 1 BL credits in use in a given cycle, per transgress",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_BL_CREDITS_ACQUIRED" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 BL Credits Acquired",
         Defn      => "Number of CMS Agent 1 BL credits acquired in a given cycle, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "BYPASS_M2M_EGRESS" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x22,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2M to iMC Bypass",
         Defn      => "",
         Subevents =>
         {
            "TAKEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Taken",
               Defn      => "",
            },
            "NOT_TAKEN" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Not Taken",
               Defn      => "",
            },
         },
      },
      "BYPASS_M2M_INGRESS" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL Ingress Events",
         EvSel     => 0x21,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2M to iMC Bypass",
         Defn      => "",
         Subevents =>
         {
            "TAKEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Taken",
               Defn      => "",
            },
            "NOT_TAKEN" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Not Taken",
               Defn      => "",
            },
         },
      },
      "CLOCKTICKS" =>
      {
         Box       => "M2M Box Events",
         Category  => "UCLK Events",
         EvSel     => 0x00,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles - at UCLK",
         Defn      => "",
      },
      "CMS_CLOCKTICKS" =>
      {
         Box       => "M2M Box Events",
         Category  => "Misc Events",
         EvSel     => 0xC0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Clockticks",
         Defn      => "",
      },
      "DIRECT2CORE_NOT_TAKEN_DIRSTATE" =>
      {
         Box       => "M2M Box Events",
         Category  => "DIRECT2CORE Events",
         EvSel     => 0x24,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles when Direct2Core was Disabled",
         Defn      => "",
      },
      "DIRECT2CORE_TAKEN" =>
      {
         Box       => "M2M Box Events",
         Category  => "DIRECT2CORE Events",
         EvSel     => 0x23,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Direct2Core Messages Sent",
         Defn      => "",
      },
      "DIRECT2CORE_TXN_OVERRIDE" =>
      {
         Box       => "M2M Box Events",
         Category  => "DIRECT2CORE Events",
         EvSel     => 0x25,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number of Reads that had Direct2Core Overridden",
         Defn      => "",
      },
      "DIRECT2UPI_NOT_TAKEN_CREDITS" =>
      {
         Box       => "M2M Box Events",
         Category  => "DIRECT2UPI Events",
         EvSel     => 0x28,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number of Reads that had Direct2UPI Overridden",
         Defn      => "",
      },
      "DIRECT2UPI_NOT_TAKEN_DIRSTATE" =>
      {
         Box       => "M2M Box Events",
         Category  => "DIRECT2UPI Events",
         EvSel     => 0x27,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles when Direct2UPI was Disabled",
         Defn      => "",
      },
      "DIRECT2UPI_TAKEN" =>
      {
         Box       => "M2M Box Events",
         Category  => "DIRECT2UPI Events",
         EvSel     => 0x26,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Direct2UPI Messages Sent",
         Defn      => "",
      },
      "DIRECT2UPI_TXN_OVERRIDE" =>
      {
         Box       => "M2M Box Events",
         Category  => "DIRECT2UPI Events",
         EvSel     => 0x29,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number of Reads that had Direct2UPI Overridden",
         Defn      => "",
      },
      "DIRECTORY_HIT" =>
      {
         Box       => "M2M Box Events",
         Category  => "Directory State Events",
         EvSel     => 0x2A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Directory Hit",
         Defn      => "",
         Notes     => "Covers NearMem Reads (Demand and Underfill).",
         Subevents =>
         {
            "DIRTY_I" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "On Dirty Line in I State",
               Defn      => "",
            },
            "DIRTY_S" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "On Dirty Line in S State",
               Defn      => "",
            },
            "DIRTY_P" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "On Dirty Line in L State",
               Defn      => "",
            },
            "DIRTY_A" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "On Dirty Line in A State",
               Defn      => "",
            },
            "CLEAN_I" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "On NonDirty Line in I State",
               Defn      => "",
            },
            "CLEAN_S" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "On NonDirty Line in S State",
               Defn      => "",
            },
            "CLEAN_P" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "On NonDirty Line in L State",
               Defn      => "",
            },
            "CLEAN_A" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "On NonDirty Line in A State",
               Defn      => "",
            },
         },
      },
      "DIRECTORY_LOOKUP" =>
      {
         Box       => "M2M Box Events",
         Category  => "DIRECTORY Events",
         EvSel     => 0x2D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Directory Lookups",
         Defn      => "",
         Subevents =>
         {
            "ANY" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Any state",
               Defn      => "",
            },
            "STATE_I" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "I State",
               Defn      => "",
            },
            "STATE_S" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "S State",
               Defn      => "",
            },
            "STATE_A" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "A State",
               Defn      => "",
            },
         },
      },
      "DIRECTORY_MISS" =>
      {
         Box       => "M2M Box Events",
         Category  => "Directory State Events",
         EvSel     => 0x2B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Directory Miss",
         Defn      => "",
         Notes     => "Covers NearMem Reads (Demand and Underfill).",
         Subevents =>
         {
            "DIRTY_I" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "On Dirty Line in I State",
               Defn      => "",
            },
            "DIRTY_S" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "On Dirty Line in S State",
               Defn      => "",
            },
            "DIRTY_P" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "On Dirty Line in L State",
               Defn      => "",
            },
            "DIRTY_A" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "On Dirty Line in A State",
               Defn      => "",
            },
            "CLEAN_I" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "On NonDirty Line in I State",
               Defn      => "",
            },
            "CLEAN_S" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "On NonDirty Line in S State",
               Defn      => "",
            },
            "CLEAN_P" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "On NonDirty Line in L State",
               Defn      => "",
            },
            "CLEAN_A" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "On NonDirty Line in A State",
               Defn      => "",
            },
         },
      },
      "DIRECTORY_UPDATE" =>
      {
         Box       => "M2M Box Events",
         Category  => "DIRECTORY Events",
         EvSel     => 0x2E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Directory Updates",
         Defn      => "",
         Notes     => "Tie to Packet Mask/Match?",
         Subevents =>
         {
            "ANY" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Any",
               Defn      => "",
            },
            "I2S" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "I2S",
               Defn      => "",
            },
            "I2A" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "I2A",
               Defn      => "",
            },
            "S2I" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "S2I",
               Defn      => "",
            },
            "S2A" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "S2A",
               Defn      => "",
            },
            "A2I" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "A2I",
               Defn      => "",
            },
            "A2S" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "A2S",
               Defn      => "",
            },
         },
      },
      "EGRESS_ORDERING" =>
      {
         Box       => "M2M Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAE,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Egress Blocking due to Ordering requirements",
         Defn      => "Counts number of cycles IV was blocked in the TGR Egress due to SNP/GO Ordering requirements",
         Subevents =>
         {
            "IV_SNOOPGO_UP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up",
               Defn      => "",
            },
            "IV_SNOOPGO_DN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down",
               Defn      => "",
            },
         },
      },
      "FAST_ASSERTED" =>
      {
         Box       => "M2M Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA5,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "FaST wire asserted",
         Defn      => "Counts the number of cycles either the local or incoming distress signals are asserted.  Incoming distress includes up, dn and across.",
         Subevents =>
         {
            "VERT" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Vertical",
               Defn      => "",
            },
            "HORZ" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Horizontal",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_AD_IN_USE" =>
      {
         Box       => "M2M Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xA7,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal AD Ring In Use",
         Defn      => "Counts the number of cycles that the Horizontal AD ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_AK_IN_USE" =>
      {
         Box       => "M2M Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xA9,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal AK Ring In Use",
         Defn      => "Counts the number of cycles that the Horizontal AK ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_BL_IN_USE" =>
      {
         Box       => "M2M Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAB,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal BL Ring in Use",
         Defn      => "Counts the number of cycles that the Horizontal BL ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from  the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_IV_IN_USE" =>
      {
         Box       => "M2M Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAD,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal IV Ring in Use",
         Defn      => "Counts the number of cycles that the Horizontal IV ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  There is only 1 IV ring.  Therefore, if one wants to monitor the \"Even\" ring, they should select both UP_EVEN and DN_EVEN.  To monitor the \"Odd\" ring, they should select both UP_ODD and DN_ODD.",
         Subevents =>
         {
            "LEFT" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left",
               Defn      => "",
            },
            "RIGHT" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right",
               Defn      => "",
            },
         },
      },
      "IMC_READS" =>
      {
         Box       => "M2M Box Events",
         Category  => "IMC Events",
         EvSel     => 0x37,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2M Reads Issued to iMC",
         Defn      => "",
         Notes     => "Scrub Reads due to ECC errors not currently included",
         Subevents =>
         {
            "NORMAL" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Normal Priority",
               Defn      => "",
            },
            "ISOCH" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Critical Priority",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "All, regardless of priority.",
               Defn      => "",
            },
            "FROM_TRANSGRESS" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "All, regardless of priority.",
               Defn      => "",
            },
         },
      },
      "IMC_WRITES" =>
      {
         Box       => "M2M Box Events",
         Category  => "IMC Events",
         EvSel     => 0x38,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2M Writes Issued to iMC",
         Defn      => "",
         Notes     => "Scrub Writes due to ECC errors not currently included",
         Subevents =>
         {
            "FULL" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Full Line Non-ISOCH",
               Defn      => "",
            },
            "PARTIAL" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Partial Non-ISOCH",
               Defn      => "",
            },
            "FULL_ISOCH" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "ISOCH Full Line",
               Defn      => "",
            },
            "PARTIAL_ISOCH" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "ISOCH Partial",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "All Writes",
               Defn      => "",
            },
            "FROM_TRANSGRESS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "All, regardless of priority.",
               Defn      => "",
            },
            "NI" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "All, regardless of priority.",
               Defn      => "",
            },
         },
      },
      "PKT_MATCH" =>
      {
         Box       => "M2M Box Events",
         Category  => "PACKET MATCH Events",
         EvSel     => 0x4C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number Packet Header Matches",
         Defn      => "",
         Subevents =>
         {
            "MESH" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Mesh Match",
               Defn      => "",
            },
            "MC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "MC Match",
               Defn      => "",
            },
         },
      },
      "PREFCAM_CYCLES_FULL" =>
      {
         Box       => "M2M Box Events",
         Category  => "CAM Prefetch Events",
         EvSel     => 0x53,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Prefetch CAM Cycles Full",
         Defn      => "",
      },
      "PREFCAM_CYCLES_NE" =>
      {
         Box       => "M2M Box Events",
         Category  => "CAM Prefetch Events",
         EvSel     => 0x54,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Prefetch CAM Cycles Not Empty",
         Defn      => "",
      },
      "PREFCAM_DEMAND_PROMOTIONS" =>
      {
         Box       => "M2M Box Events",
         Category  => "CAM Prefetch Events",
         EvSel     => 0x56,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Prefetch CAM Demand Promotions",
         Defn      => "",
      },
      "PREFCAM_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "CAM Prefetch Events",
         EvSel     => 0x57,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Prefetch CAM Inserts",
         Defn      => "",
      },
      "PREFCAM_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "CAM Prefetch Events",
         EvSel     => 0x55,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Prefetch CAM Occupancy",
         Defn      => "",
      },
      "RING_BOUNCES_HORZ" =>
      {
         Box       => "M2M Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA1,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Messages that bounced on the Horizontal Ring.",
         Defn      => "Number of cycles incoming messages from the Horizontal ring that were bounced, by ring type.",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
         },
      },
      "RING_BOUNCES_VERT" =>
      {
         Box       => "M2M Box Events",
         Category  => "Vertical RING Events",
         EvSel     => 0xA0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Messages that bounced on the Vertical Ring.",
         Defn      => "Number of cycles incoming messages from the Vertical ring that were bounced, by ring type.",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to core",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data Responses to core",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops of processor's cache.",
               Defn      => "",
            },
         },
      },
      "RING_SINK_STARVED_HORZ" =>
      {
         Box       => "M2M Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA3,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sink Starvation on Horizontal Ring",
         Defn      => "",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to Agent 1",
               Defn      => "",
            },
         },
      },
      "RING_SINK_STARVED_VERT" =>
      {
         Box       => "M2M Box Events",
         Category  => "Vertical RING Events",
         EvSel     => 0xA2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sink Starvation on Vertical Ring",
         Defn      => "",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to core",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data Responses to core",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops of processor's cache.",
               Defn      => "",
            },
         },
      },
      "RING_SRC_THRTL" =>
      {
         Box       => "M2M Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Source Throttle",
         Defn      => "",
      },
      "RPQ_CYCLES_REG_CREDITS" =>
      {
         Box       => "M2M Box Events",
         Category  => "RPQ CREDIT Events",
         EvSel     => 0x43,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2M to iMC RPQ Cycles w/Credits - Regular",
         Defn      => "",
         Notes     => "To Count # cycles w/o credits, either set .thresh to 1 and .invert to 1 OR subtract this from total cycles",
         Subevents =>
         {
            "CHN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CHN1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CHN2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "RPQ_CYCLES_SPEC_CREDITS" =>
      {
         Box       => "M2M Box Events",
         Category  => "RPQ CREDIT Events",
         EvSel     => 0x44,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2M to iMC RPQ Cycles w/Credits - Special",
         Defn      => "",
         Notes     => "To Count # cycles w/o credits, either set .thresh to 1 and .invert to 1 OR subtract this from total cycles",
         Subevents =>
         {
            "CHN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CHN1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CHN2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "RxC_AD_CYCLES_FULL" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD Ingress Events",
         EvSel     => 0x04,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Ingress (from CMS) Full",
         Defn      => "",
      },
      "RxC_AD_CYCLES_NE" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD Ingress Events",
         EvSel     => 0x03,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Ingress (from CMS) Not Empty",
         Defn      => "",
      },
      "RxC_AD_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD Ingress Events",
         EvSel     => 0x01,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Ingress (from CMS) Allocations",
         Defn      => "",
      },
      "RxC_AD_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD Ingress Events",
         EvSel     => 0x02,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Ingress (from CMS) Occupancy",
         Defn      => "",
      },
      "RxC_BL_CYCLES_FULL" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL Ingress Events",
         EvSel     => 0x08,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Ingress (from CMS) Full",
         Defn      => "",
      },
      "RxC_BL_CYCLES_NE" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL Ingress Events",
         EvSel     => 0x07,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Ingress (from CMS) Not Empty",
         Defn      => "",
      },
      "RxC_BL_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL Ingress Events",
         EvSel     => 0x05,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Ingress (from CMS) Allocations",
         Defn      => "",
      },
      "RxC_BL_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL Ingress Events",
         EvSel     => 0x06,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Ingress (from CMS) Occupancy",
         Defn      => "",
      },
      "RxR_BUSY_STARVED" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Injection Starvation",
         Defn      => "Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, because a message from the other queue has higher priority",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the OR of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_BYPASS" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Bypass",
         Defn      => "Number of packets bypassing the CMS Ingress",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_CRD_STARVED" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB3,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Injection Starvation",
         Defn      => "Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, the Ingress is unable to forward to the Egress due to a lack of credit.",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the OR of the two. For this purpose IFV is considered an AK ring type. Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
            "IFV" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IFV - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB1,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Allocations",
         Defn      => "Number of allocations into the CMS Ingress  The Ingress is used to queue up requests received from the mesh",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Occupancy",
         Defn      => "Occupancy event for the Ingress buffers in the CMS  The Ingress is used to queue up requests received from the mesh",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_AD_AG0" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No AD Agent0 Transgress Credits",
         Defn      => "Number of cycles the AD Agent 0 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_AD_AG1" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No AD Agent1 Transgress Credits",
         Defn      => "Number of cycles the AD Agent 1 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_BL_AG0" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No BL Agent0 Transgress Credits",
         Defn      => "Number of cycles the BL Agent 0 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_BL_AG1" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD6,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No BL Agent1 Transgress Credits",
         Defn      => "Number of cycles the BL Agent 1 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "TGR_AD_CREDITS" =>
      {
         Box       => "M2M Box Events",
         Category  => "Transgress/M2MIngress Credit Events",
         EvSel     => 0x41,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number AD Ingress Credits",
         Defn      => "",
      },
      "TGR_BL_CREDITS" =>
      {
         Box       => "M2M Box Events",
         Category  => "Transgress/M2MIngress Credit Events",
         EvSel     => 0x42,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number BL Ingress Credits",
         Defn      => "",
      },
      "TRACKER_CYCLES_FULL" =>
      {
         Box       => "M2M Box Events",
         Category  => "TRACKER Events",
         EvSel     => 0x45,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Tracker Cycles Full",
         Defn      => "",
         Subevents =>
         {
            "CH0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CH1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CH2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "TRACKER_CYCLES_NE" =>
      {
         Box       => "M2M Box Events",
         Category  => "TRACKER Events",
         EvSel     => 0x46,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Tracker Cycles Not Empty",
         Defn      => "",
         Subevents =>
         {
            "CH0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CH1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CH2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "TRACKER_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "TRACKER Events",
         EvSel     => 0x49,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Tracker Inserts",
         Defn      => "",
         Subevents =>
         {
            "CH0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CH1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CH2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "TRACKER_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "TRACKER Events",
         EvSel     => 0x47,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Tracker Occupancy",
         Defn      => "",
         Notes     => "Tie to Packet Mask/Match?",
         Subevents =>
         {
            "CH0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CH1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CH2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "TRACKER_PENDING_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "TRACKER Events",
         EvSel     => 0x48,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Data Pending Occupancy",
         Defn      => "",
      },
      "TxC_AD_CREDITS_ACQUIRED" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD CMS/Mesh Egress Credit Events",
         EvSel     => 0x0D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Egress (to CMS) Credit Acquired",
         Defn      => "",
      },
      "TxC_AD_CREDIT_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD CMS/Mesh Egress Credit Events",
         EvSel     => 0x0E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Egress (to CMS) Credits Occupancy",
         Defn      => "",
      },
      "TxC_AD_CYCLES_FULL" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD Egress Events",
         EvSel     => 0x0C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Egress (to CMS) Full",
         Defn      => "",
      },
      "TxC_AD_CYCLES_NE" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD Egress Events",
         EvSel     => 0x0B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Egress (to CMS) Not Empty",
         Defn      => "",
      },
      "TxC_AD_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD Egress Events",
         EvSel     => 0x09,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Egress (to CMS) Allocations",
         Defn      => "",
      },
      "TxC_AD_NO_CREDIT_CYCLES" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD CMS/Mesh Egress Credit Events",
         EvSel     => 0x0F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles with No AD Egress (to CMS) Credits",
         Defn      => "",
      },
      "TxC_AD_NO_CREDIT_STALLED" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD CMS/Mesh Egress Credit Events",
         EvSel     => 0x10,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles Stalled with No AD Egress (to CMS) Credits",
         Defn      => "",
      },
      "TxC_AD_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "AD Egress Events",
         EvSel     => 0x0A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Egress (to CMS) Occupancy",
         Defn      => "",
      },
      "TxC_AK" =>
      {
         Box       => "M2M Box Events",
         Category  => "OUTBOUND_TX Events",
         EvSel     => 0x39,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Outbound Ring Transactions on AK",
         Defn      => "",
         Subevents =>
         {
            "NDR" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "NDR Transactions",
               Defn      => "",
            },
            "CRD_CBO" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "CRD Transactions to Cbo",
               Defn      => "",
            },
         },
      },
      "TxC_AK_CREDITS_ACQUIRED" =>
      {
         Box       => "M2M Box Events",
         Category  => "AK CMS/Mesh Egress Credit Events",
         EvSel     => 0x1D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AK Egress (to CMS) Credit Acquired",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
         },
      },
      "TxC_AK_CREDIT_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "AK CMS/Mesh Egress Credit Events",
         EvSel     => 0x1E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AK Egress (to CMS) Credits Occupancy",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
         },
      },
      "TxC_AK_CYCLES_FULL" =>
      {
         Box       => "M2M Box Events",
         Category  => "AK Egress Events",
         EvSel     => 0x14,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AK Egress (to CMS) Full",
         Defn      => "",
         Notes     => "Some extra wild guesses as to what the subevents count - and why does it seem to track 0 credits for each CMS agent, but the other related events don't?",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
            "RDCRD0" =>
            {
               Umask     => "b0xxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read Credit Request",
               Defn      => "",
            },
            "WRCRD0" =>
            {
               Umask     => "b0xx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Credit Request",
               Defn      => "",
            },
            "WRCMP0" =>
            {
               Umask     => "b0x1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Compare Request",
               Defn      => "",
            },
            "RDCRD1" =>
            {
               Umask     => "b1xxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read Credit Request",
               Defn      => "",
            },
            "WRCRD1" =>
            {
               Umask     => "b1xx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Credit Request",
               Defn      => "",
            },
            "WRCMP1" =>
            {
               Umask     => "b1x1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Compare Request",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxxxxx11",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
         },
      },
      "TxC_AK_CYCLES_NE" =>
      {
         Box       => "M2M Box Events",
         Category  => "AK Egress Events",
         EvSel     => 0x13,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AK Egress (to CMS) Not Empty",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
            "RDCRD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read Credit Request",
               Defn      => "",
            },
            "WRCRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Credit Request",
               Defn      => "",
            },
            "WRCMP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Compare Request",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxxxxx11",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
         },
      },
      "TxC_AK_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "AK Egress Events",
         EvSel     => 0x11,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AK Egress (to CMS) Allocations",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
            "RDCRD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read Credit Request",
               Defn      => "",
            },
            "WRCRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Credit Request",
               Defn      => "",
            },
            "WRCMP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Compare Request",
               Defn      => "",
            },
            "PREF_RD_CAM_HIT" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Prefetch Read Cam Hit",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxxxxx11",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
         },
      },
      "TxC_AK_NO_CREDIT_CYCLES" =>
      {
         Box       => "M2M Box Events",
         Category  => "AK CMS/Mesh Egress Credit Events",
         EvSel     => 0x1F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles with No AK Egress (to CMS) Credits",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
         },
      },
      "TxC_AK_NO_CREDIT_STALLED" =>
      {
         Box       => "M2M Box Events",
         Category  => "AK CMS/Mesh Egress Credit Events",
         EvSel     => 0x20,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles Stalled with No AK Egress (to CMS) Credits",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
         },
      },
      "TxC_AK_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "AK Egress Events",
         EvSel     => 0x12,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AK Egress (to CMS) Occupancy",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
            "RDCRD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read Credit Request",
               Defn      => "",
            },
            "WRCRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Credit Request",
               Defn      => "",
            },
            "WRCMP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Compare Request",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxxxxx11",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
         },
      },
      "TxC_AK_SIDEBAND" =>
      {
         Box       => "M2M Box Events",
         Category  => "AK Egress Events",
         EvSel     => 0x6B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AK Egress (to CMS) Sideband",
         Defn      => "",
         Subevents =>
         {
            "RD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "WR" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "TxC_BL" =>
      {
         Box       => "M2M Box Events",
         Category  => "OUTBOUND_TX Events",
         EvSel     => 0x40,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Outbound DRS Ring Transactions to Cache",
         Defn      => "",
         Subevents =>
         {
            "DRS_CACHE" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Data to Cache",
               Defn      => "",
            },
            "DRS_CORE" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Data to Core",
               Defn      => "",
            },
            "DRS_UPI" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data to QPI",
               Defn      => "",
            },
         },
      },
      "TxC_BL_CREDITS_ACQUIRED" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL CMS/Mesh Egress Credit Events",
         EvSel     => 0x19,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Egress (to CMS) Credit Acquired",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
         },
      },
      "TxC_BL_CREDIT_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL CMS/Mesh Egress Credit Events",
         EvSel     => 0x1A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Egress (to CMS) Credits Occupancy",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
         },
      },
      "TxC_BL_CYCLES_FULL" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x18,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Egress (to CMS) Full",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxxxxx11",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
         },
      },
      "TxC_BL_CYCLES_NE" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x17,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Egress (to CMS) Not Empty",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxxxxx11",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
         },
      },
      "TxC_BL_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x15,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Egress (to CMS) Allocations",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxxxxx11",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
         },
      },
      "TxC_BL_NO_CREDIT_CYCLES" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL CMS/Mesh Egress Credit Events",
         EvSel     => 0x1B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles with No BL Egress (to CMS) Credits",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
         },
      },
      "TxC_BL_NO_CREDIT_STALLED" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL CMS/Mesh Egress Credit Events",
         EvSel     => 0x1C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles Stalled with No BL Egress (to CMS) Credits",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
         },
      },
      "TxC_BL_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "BL Egress Events",
         EvSel     => 0x16,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Egress (to CMS) Occupancy",
         Defn      => "",
         Subevents =>
         {
            "CMS0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Near Side",
               Defn      => "",
            },
            "CMS1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Common Mesh Stop - Far Side",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "bxxxxxx11",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_ADS_USED" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal ADS Used",
         Defn      => "Number of packets using the Horizontal Anti-Deadlock Slot, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_BYPASS" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Bypass Used",
         Defn      => "Number of packets bypassing the Horizontal Egress, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_CYCLES_FULL" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x96,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Horizontal Egress Queue is Full",
         Defn      => "Cycles the Transgress buffers in the Common Mesh Stop are Full.  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_CYCLES_NE" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x97,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Horizontal Egress Queue is Not Empty",
         Defn      => "Cycles the Transgress buffers in the Common Mesh Stop are Not-Empty.  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x95,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Inserts",
         Defn      => "Number of allocations into the Transgress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_NACK" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x99,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress NACKs",
         Defn      => "Counts number of Egress packets NACK'ed on to the Horizontal Ring",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x94,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Occupancy",
         Defn      => "Occupancy event for the Transgress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_STARVED" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Injection Starvation",
         Defn      => "Counts injection starvation.  This starvation is triggered when the CMS Transgress buffer cannot send a transaction onto the Horizontal ring for a long period of time.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_ADS_USED" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical ADS Used",
         Defn      => "Number of packets using the Vertical Anti-Deadlock Slot, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_BYPASS" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical ADS Used",
         Defn      => "Number of packets bypassing the Vertical Egress, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_CYCLES_FULL" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x92,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Vertical Egress Queue Is Full",
         Defn      => "Number of cycles the Common Mesh Stop Egress was Not Full.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_CYCLES_NE" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x93,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Vertical Egress Queue Is Not Empty",
         Defn      => "Number of cycles the Common Mesh Stop Egress was Not Empty.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x91,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vert Egress Allocations",
         Defn      => "Number of allocations into the Common Mesh Stop Egress.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_NACK" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x98,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical Egress NACKs",
         Defn      => "Counts number of Egress packets NACK'ed on to the Vertical Ring",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x90,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vert Egress Occupancy",
         Defn      => "Occupancy event for the Egress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_STARVED" =>
      {
         Box       => "M2M Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical Egress Injection Starvation",
         Defn      => "Counts injection starvation.  This starvation is triggered when the CMS Egress cannot send a transaction onto the Vertical ring for a long period of time.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "VERT_RING_AD_IN_USE" =>
      {
         Box       => "M2M Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xA6,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical AD Ring In Use",
         Defn      => "Counts the number of cycles that the Vertical AD ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  We really have two rings  -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_AK_IN_USE" =>
      {
         Box       => "M2M Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xA8,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical AK Ring In Use",
         Defn      => "Counts the number of cycles that the Vertical AK ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.We really have two rings in -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_BL_IN_USE" =>
      {
         Box       => "M2M Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xAA,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical BL Ring in Use",
         Defn      => "Counts the number of cycles that the Vertical BL ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from  the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_IV_IN_USE" =>
      {
         Box       => "M2M Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xAC,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical IV Ring in Use",
         Defn      => "Counts the number of cycles that the Vertical IV ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  There is only 1 IV ring.  Therefore, if one wants to monitor the \"Even\" ring, they should select both UP_EVEN and DN_EVEN.  To monitor the \"Odd\" ring, they should select both UP_ODD and DN_ODD.",
         Subevents =>
         {
            "UP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up",
               Defn      => "",
            },
            "DN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down",
               Defn      => "",
            },
         },
      },
      "WPQ_CYCLES_REG_CREDITS" =>
      {
         Box       => "M2M Box Events",
         Category  => "WPQ_CREDITS Events",
         EvSel     => 0x4D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2M->iMC WPQ Cycles w/Credits - Regular",
         Defn      => "",
         Notes     => "To Count # cycles w/o credits, either set .thresh to 1 and .invert to 1 OR subtract this from total cycles",
         Subevents =>
         {
            "CHN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CHN1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CHN2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "WPQ_CYCLES_SPEC_CREDITS" =>
      {
         Box       => "M2M Box Events",
         Category  => "WPQ_CREDITS Events",
         EvSel     => 0x4E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2M->iMC WPQ Cycles w/Credits - Special",
         Defn      => "",
         Notes     => "To Count # cycles w/o credits, either set .thresh to 1 and .invert to 1 OR subtract this from total cycles",
         Subevents =>
         {
            "CHN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CHN1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CHN2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "WRITE_TRACKER_CYCLES_FULL" =>
      {
         Box       => "M2M Box Events",
         Category  => "TRACKER Events",
         EvSel     => 0x4A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Write Tracker Cycles Full",
         Defn      => "",
         Subevents =>
         {
            "CH0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CH1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CH2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "WRITE_TRACKER_CYCLES_NE" =>
      {
         Box       => "M2M Box Events",
         Category  => "TRACKER Events",
         EvSel     => 0x4B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Write Tracker Cycles Not Empty",
         Defn      => "",
         Subevents =>
         {
            "CH0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CH1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CH2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "WRITE_TRACKER_INSERTS" =>
      {
         Box       => "M2M Box Events",
         Category  => "TRACKER Events",
         EvSel     => 0x61,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Write Tracker Inserts",
         Defn      => "",
         Subevents =>
         {
            "CH0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CH1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CH2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
      "WRITE_TRACKER_OCCUPANCY" =>
      {
         Box       => "M2M Box Events",
         Category  => "TRACKER Events",
         EvSel     => 0x60,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Write Tracker Occupancy",
         Defn      => "",
         Subevents =>
         {
            "CH0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 0",
               Defn      => "",
            },
            "CH1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 1",
               Defn      => "",
            },
            "CH2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Channel 2",
               Defn      => "",
            },
         },
      },
   },
   "M2PCIe Box Events" =>
   {
      "AG0_AD_CRD_ACQUIRED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x80,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 AD Credits Acquired",
         Defn      => "Number of CMS Agent 0 AD credits acquired in a given cycle, per transgress.",
         Notes     => "If multiple masks are selected, will count the OR of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_AD_CRD_OCCUPANCY" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x82,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 AD Credits Occupancy",
         Defn      => "Number of CMS Agent 0 AD credits in use in a given cycle, per transgress",
         Notes     => "If multiple masks are selected, will count the SUM of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_BL_CRD_ACQUIRED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x88,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 BL Credits Acquired",
         Defn      => "Number of CMS Agent 0 BL credits acquired in a given cycle, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_BL_CRD_OCCUPANCY" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 BL Credits Occupancy",
         Defn      => "Number of CMS Agent 0 BL credits in use in a given cycle, per transgress",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_AD_CRD_ACQUIRED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x84,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 AD Credits Acquired",
         Defn      => "Number of CMS Agent 1 AD credits acquired in a given cycle, per transgress.",
         Notes     => "If multiple masks are selected, will count the OR of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_AD_CRD_OCCUPANCY" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x86,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 AD Credits Occupancy",
         Defn      => "Number of CMS Agent 1 AD credits in use in a given cycle, per transgress",
         Notes     => "If multiple masks are selected, will count the SUM of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_BL_CRD_OCCUPANCY" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 BL Credits Occupancy",
         Defn      => "Number of CMS Agent 1 BL credits in use in a given cycle, per transgress",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_BL_CREDITS_ACQUIRED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 BL Credits Acquired",
         Defn      => "Number of CMS Agent 1 BL credits acquired in a given cycle, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "CLOCKTICKS_P" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "UCLK Events",
         EvSel     => 0x01,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number of uclks in domain",
         Defn      => "Counts the number of uclks in the M3 uclk domain.  This could be slightly different than the count in the Ubox because of enable/freeze delays.  However, because the M3 is close to the Ubox, they generally should not diverge by more than a handful of cycles.",
      },
      "CMS_CLOCKTICKS" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Misc Events",
         EvSel     => 0xC0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Clockticks",
         Defn      => "",
      },
      "EGRESS_ORDERING" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAE,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Egress Blocking due to Ordering requirements",
         Defn      => "Counts number of cycles IV was blocked in the TGR Egress due to SNP/GO Ordering requirements",
         Subevents =>
         {
            "IV_SNOOPGO_UP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up",
               Defn      => "",
            },
            "IV_SNOOPGO_DN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down",
               Defn      => "",
            },
         },
      },
      "FAST_ASSERTED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA5,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "FaST wire asserted",
         Defn      => "Counts the number of cycles either the local or incoming distress signals are asserted.  Incoming distress includes up, dn and across.",
         Subevents =>
         {
            "VERT" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Vertical",
               Defn      => "",
            },
            "HORZ" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Horizontal",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_AD_IN_USE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xA7,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal AD Ring In Use",
         Defn      => "Counts the number of cycles that the Horizontal AD ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_AK_IN_USE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xA9,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal AK Ring In Use",
         Defn      => "Counts the number of cycles that the Horizontal AK ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_BL_IN_USE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAB,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal BL Ring in Use",
         Defn      => "Counts the number of cycles that the Horizontal BL ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from  the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_IV_IN_USE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAD,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal IV Ring in Use",
         Defn      => "Counts the number of cycles that the Horizontal IV ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  There is only 1 IV ring.  Therefore, if one wants to monitor the \"Even\" ring, they should select both UP_EVEN and DN_EVEN.  To monitor the \"Odd\" ring, they should select both UP_ODD and DN_ODD.",
         Subevents =>
         {
            "LEFT" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left",
               Defn      => "",
            },
            "RIGHT" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right",
               Defn      => "",
            },
         },
      },
      "IIO_CREDITS_ACQUIRED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "IIO_CREDITS Events",
         EvSel     => 0x33,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2PCIe IIO Credit Acquired",
         Defn      => "Counts the number of credits that are acquired in the M2PCIe agent for sending transactions into the IIO on either NCB or NCS are in use.  Transactions from the BL ring going into the IIO Agent must first acquire a credit.  These credits are for either the NCB or NCS message classes.  NCB, or non-coherent bypass messages are used to transmit data without coherency (and are common).  NCS is used for reads to PCIe (and should be used sparingly).",
         Subevents =>
         {
            "DRS_0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "DRS",
               Defn      => "Credits for transfer through CMS Port 0 to the IIO for the DRS message class.",
            },
            "DRS_1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "DRS",
               Defn      => "Credits for transfer through CMS Port 0 to the IIO for the DRS message class.",
            },
            "NCB_0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB",
               Defn      => "Credits for transfer through CMS Port 0 to the IIO for the NCB message class.",
            },
            "NCB_1" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB",
               Defn      => "Credits for transfer through CMS Port 0 to the IIO for the NCB message class.",
            },
            "NCS_0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS",
               Defn      => "Credits for transfer through CMS Port 0 to the IIO for the NCS message class.",
            },
            "NCS_1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS",
               Defn      => "Credit for transfer through CMS Port 0s to the IIO for the NCS message class.",
            },
         },
      },
      "IIO_CREDITS_REJECT" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "IIO_CREDITS Events",
         EvSel     => 0x34,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2PCIe IIO Failed to Acquire a Credit",
         Defn      => "Counts the number of times that a request pending in the BL Ingress attempted to acquire either a NCB or NCS credit to transmit into the IIO, but was rejected because no credits were available.  NCB, or non-coherent bypass messages are used to transmit data without coherency (and are common).  NCS is used for reads to PCIe (and should be used sparingly).",
         Subevents =>
         {
            "DRS" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "DRS",
               Defn      => "Credits to the IIO for the DRS message class.",
            },
            "NCB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB",
               Defn      => "Credits to the IIO for the NCB message class.",
            },
            "NCS" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS",
               Defn      => "Credits to the IIO for the NCS message class.",
            },
         },
      },
      "IIO_CREDITS_USED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "IIO_CREDITS Events",
         EvSel     => 0x32,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2PCIe IIO Credits in Use",
         Defn      => "Counts the number of cycles when one or more credits in the M2PCIe agent for sending transactions into the IIO on either NCB or NCS are in use.  Transactions from the BL ring going into the IIO Agent must first acquire a credit.  These credits are for either the NCB or NCS message classes.  NCB, or non-coherent bypass messages are used to transmit data without coherency (and are common).  NCS is used for reads to PCIe (and should be used sparingly).",
         Subevents =>
         {
            "DRS_0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "DRS to CMS Port 0",
               Defn      => "Credits for transfer through CMS Port 0 to the IIO for the DRS message class.",
            },
            "DRS_1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "DRS to CMS Port 1",
               Defn      => "Credits for transfer through CMS Port 0 to the IIO for the DRS message class.",
            },
            "NCB_0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB to CMS Port 0",
               Defn      => "Credits for transfer through CMS Port 0 to the IIO for the NCB message class.",
            },
            "NCB_1" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB to CMS Port 1",
               Defn      => "Credits for transfer through CMS Port 0 to the IIO for the NCB message class.",
            },
            "NCS_0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS to CMS Port 0",
               Defn      => "Credits for transfer through CMS Port 0 to the IIO for the NCS message class.",
            },
            "NCS_1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS to CMS Port 1",
               Defn      => "Credit for transfer through CMS Port 0s to the IIO for the NCS message class.",
            },
         },
      },
      "RING_BOUNCES_HORZ" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA1,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Messages that bounced on the Horizontal Ring.",
         Defn      => "Number of cycles incoming messages from the Horizontal ring that were bounced, by ring type.",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
         },
      },
      "RING_BOUNCES_VERT" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Vertical RING Events",
         EvSel     => 0xA0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Messages that bounced on the Vertical Ring.",
         Defn      => "Number of cycles incoming messages from the Vertical ring that were bounced, by ring type.",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to core",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data Responses to core",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops of processor's cache.",
               Defn      => "",
            },
         },
      },
      "RING_SINK_STARVED_HORZ" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA3,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sink Starvation on Horizontal Ring",
         Defn      => "",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to Agent 1",
               Defn      => "",
            },
         },
      },
      "RING_SINK_STARVED_VERT" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Vertical RING Events",
         EvSel     => 0xA2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sink Starvation on Vertical Ring",
         Defn      => "",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to core",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data Responses to core",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops of processor's cache.",
               Defn      => "",
            },
         },
      },
      "RING_SRC_THRTL" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Source Throttle",
         Defn      => "",
      },
      "RxC_CYCLES_NE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x10,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress (from CMS) Queue Cycles Not Empty",
         Defn      => "Counts the number of cycles when the M2PCIe Ingress is not empty.",
         Subevents =>
         {
            "CBO_IDI" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "CBO_NCB" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "CBO_NCS" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "QPI_NCS" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "QPI_NCS" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "IIO_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "IIO_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "RxC_INSERTS" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x11,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress (from CMS) Queue Inserts",
         Defn      => "Counts the number of entries inserted into the M2PCIe Ingress Queue.  This can be used in conjunction with the M2PCIe Ingress Occupancy Accumulator event in order to calculate average queue latency.",
         Subevents =>
         {
            "CBO_IDI" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "CBO_NCB" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "CBO_NCS" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "QPI_NCS" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "QPI_NCS" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "IIO_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "IIO_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "RxC_OCCUPANCY" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x13,
         Counters  => "0",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress (from CMS) Queue Occupancy",
         Defn      => "Accumulates the occupancy of a given M2PCIe Ingress queue in each cycles.   This can be used with the CLOCKTICKS event to calculate average occupancy or the M2PCIe Ingress Allocations event in order to calculate average queuing latency.",
         Subevents =>
         {
            "CBO_IDI" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "CBO_NCB" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "CBO_NCS" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "QPI_NCS" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "QPI_NCS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "IIO_NCB" =>
            {
               Umask     => "b00100000",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "IIO_NCS" =>
            {
               Umask     => "b01000000",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "ALL" =>
            {
               Umask     => "b10000000",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "RxR_BUSY_STARVED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Injection Starvation",
         Defn      => "Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, because a message from the other queue has higher priority",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the OR of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_BYPASS" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Bypass",
         Defn      => "Number of packets bypassing the CMS Ingress",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_CRD_STARVED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB3,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Injection Starvation",
         Defn      => "Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, the Ingress is unable to forward to the Egress due to a lack of credit.",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the OR of the two. For this purpose IFV is considered an AK ring type. Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
            "IFV" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IFV - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_INSERTS" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB1,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Allocations",
         Defn      => "Number of allocations into the CMS Ingress  The Ingress is used to queue up requests received from the mesh",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_OCCUPANCY" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Occupancy",
         Defn      => "Occupancy event for the Ingress buffers in the CMS  The Ingress is used to queue up requests received from the mesh",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_AD_AG0" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No AD Agent0 Transgress Credits",
         Defn      => "Number of cycles the AD Agent 0 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_AD_AG1" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No AD Agent1 Transgress Credits",
         Defn      => "Number of cycles the AD Agent 1 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_BL_AG0" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No BL Agent0 Transgress Credits",
         Defn      => "Number of cycles the BL Agent 0 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_BL_AG1" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD6,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No BL Agent1 Transgress Credits",
         Defn      => "Number of cycles the BL Agent 1 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "TxC_CREDITS" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "EGRESS Events",
         EvSel     => 0x2D,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "PRQ_0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "PRQ_1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "ISOCH_0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "ISOCH_1" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "TxC_CYCLES_FULL" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "EGRESS Events",
         EvSel     => 0x25,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Egress (to CMS) Cycles Full",
         Defn      => "Counts the number of cycles when the M2PCIe Egress is full.  This tracks messages for one of the two CMS ports that are used by the M2PCIe agent.",
         Subevents =>
         {
            "AD_0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BL_0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AD_1" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BL_1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "TxC_CYCLES_NE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "EGRESS Events",
         EvSel     => 0x23,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Egress (to CMS) Cycles Not Empty",
         Defn      => "Counts the number of cycles when the M2PCIe Egress is not empty.  This tracks messages for one of the two CMS ports that are used by the M2PCIe agent.  This can be used in conjunction with the M2PCIe Ingress Occupancy Accumulator event in order to calculate average queue occupancy.  Multiple egress buffers can be tracked at a given time using multiple counters.",
         Subevents =>
         {
            "AD_0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BL_0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AD_1" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BL_1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "TxC_INSERTS" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "EGRESS Events",
         EvSel     => 0x24,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Egress (to CMS) Ingress",
         Defn      => "Counts the number of number of messages inserted into the  the M2PCIe Egress queue.  This tracks messages for one of the two CMS ports that are used by the M2PCIe agent.  This can be used in conjunction with the M2PCIe Ingress Occupancy Accumulator event in order to calculate average queue occupancy.",
         Subevents =>
         {
            "AD_0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BL_0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_CRD_0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AD_1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BL_1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_CRD_1" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "TxC_OCCUPANCY" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "EGRESS Events",
         EvSel     => 0x27,
         Counters  => "0",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Egress (to CMS) Queue Occupancy",
         Defn      => "Counts the number of entries in the M2PCIe Egress Queue for each cycle.  This tracks messages for one of the two CMS ports that are used by the M2PCIe agent.",
         Subevents =>
         {
            "AD_0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BL_0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AD_1" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BL_1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_ADS_USED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal ADS Used",
         Defn      => "Number of packets using the Horizontal Anti-Deadlock Slot, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_BYPASS" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Bypass Used",
         Defn      => "Number of packets bypassing the Horizontal Egress, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_CYCLES_FULL" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x96,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Horizontal Egress Queue is Full",
         Defn      => "Cycles the Transgress buffers in the Common Mesh Stop are Full.  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_CYCLES_NE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x97,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Horizontal Egress Queue is Not Empty",
         Defn      => "Cycles the Transgress buffers in the Common Mesh Stop are Not-Empty.  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_INSERTS" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x95,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Inserts",
         Defn      => "Number of allocations into the Transgress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_NACK" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x99,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress NACKs",
         Defn      => "Counts number of Egress packets NACK'ed on to the Horizontal Ring",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_OCCUPANCY" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x94,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Occupancy",
         Defn      => "Occupancy event for the Transgress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_STARVED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Injection Starvation",
         Defn      => "Counts injection starvation.  This starvation is triggered when the CMS Transgress buffer cannot send a transaction onto the Horizontal ring for a long period of time.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_ADS_USED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical ADS Used",
         Defn      => "Number of packets using the Vertical Anti-Deadlock Slot, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_BYPASS" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical ADS Used",
         Defn      => "Number of packets bypassing the Vertical Egress, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_CYCLES_FULL" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x92,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Vertical Egress Queue Is Full",
         Defn      => "Number of cycles the Common Mesh Stop Egress was Not Full.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_CYCLES_NE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x93,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Vertical Egress Queue Is Not Empty",
         Defn      => "Number of cycles the Common Mesh Stop Egress was Not Empty.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_INSERTS" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x91,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vert Egress Allocations",
         Defn      => "Number of allocations into the Common Mesh Stop Egress.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_NACK" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x98,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical Egress NACKs",
         Defn      => "Counts number of Egress packets NACK'ed on to the Vertical Ring",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_OCCUPANCY" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x90,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vert Egress Occupancy",
         Defn      => "Occupancy event for the Egress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_STARVED" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical Egress Injection Starvation",
         Defn      => "Counts injection starvation.  This starvation is triggered when the CMS Egress cannot send a transaction onto the Vertical ring for a long period of time.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "VERT_RING_AD_IN_USE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xA6,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical AD Ring In Use",
         Defn      => "Counts the number of cycles that the Vertical AD ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  We really have two rings  -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_AK_IN_USE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xA8,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical AK Ring In Use",
         Defn      => "Counts the number of cycles that the Vertical AK ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.We really have two rings in -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_BL_IN_USE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xAA,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical BL Ring in Use",
         Defn      => "Counts the number of cycles that the Vertical BL ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from  the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_IV_IN_USE" =>
      {
         Box       => "M2PCIe Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xAC,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical IV Ring in Use",
         Defn      => "Counts the number of cycles that the Vertical IV ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  There is only 1 IV ring.  Therefore, if one wants to monitor the \"Even\" ring, they should select both UP_EVEN and DN_EVEN.  To monitor the \"Odd\" ring, they should select both UP_ODD and DN_ODD.",
         Subevents =>
         {
            "UP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up",
               Defn      => "",
            },
            "DN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down",
               Defn      => "",
            },
         },
      },
   },
   "M3UPI Box Events" =>
   {
      "AG0_AD_CRD_ACQUIRED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x80,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 AD Credits Acquired",
         Defn      => "Number of CMS Agent 0 AD credits acquired in a given cycle, per transgress.",
         Notes     => "If multiple masks are selected, will count the OR of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_AD_CRD_ACQUIRED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x80,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 AD Credits Acquired",
         Defn      => "Number of CMS Agent 0 AD credits acquired in a given cycle, per transgress.",
         Notes     => "If multiple masks are selected, will count the OR of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_AD_CRD_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x82,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 AD Credits Occupancy",
         Defn      => "Number of CMS Agent 0 AD credits in use in a given cycle, per transgress",
         Notes     => "If multiple masks are selected, will count the SUM of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_AD_CRD_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x82,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 AD Credits Occupancy",
         Defn      => "Number of CMS Agent 0 AD credits in use in a given cycle, per transgress",
         Notes     => "If multiple masks are selected, will count the SUM of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_BL_CRD_ACQUIRED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x88,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 BL Credits Acquired",
         Defn      => "Number of CMS Agent 0 BL credits acquired in a given cycle, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_BL_CRD_ACQUIRED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x88,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 BL Credits Acquired",
         Defn      => "Number of CMS Agent 0 BL credits acquired in a given cycle, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_BL_CRD_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 BL Credits Occupancy",
         Defn      => "Number of CMS Agent 0 BL credits in use in a given cycle, per transgress",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG0_BL_CRD_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent0 BL Credits Occupancy",
         Defn      => "Number of CMS Agent 0 BL credits in use in a given cycle, per transgress",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_AD_CRD_ACQUIRED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x84,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 AD Credits Acquired",
         Defn      => "Number of CMS Agent 1 AD credits acquired in a given cycle, per transgress.",
         Notes     => "If multiple masks are selected, will count the OR of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_AD_CRD_ACQUIRED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x84,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 AD Credits Acquired",
         Defn      => "Number of CMS Agent 1 AD credits acquired in a given cycle, per transgress.",
         Notes     => "If multiple masks are selected, will count the OR of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_AD_CRD_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x86,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 AD Credits Occupancy",
         Defn      => "Number of CMS Agent 1 AD credits in use in a given cycle, per transgress",
         Notes     => "If multiple masks are selected, will count the SUM of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_AD_CRD_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x86,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 AD Credits Occupancy",
         Defn      => "Number of CMS Agent 1 AD credits in use in a given cycle, per transgress",
         Notes     => "If multiple masks are selected, will count the SUM of all selected",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_BL_CRD_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 BL Credits Occupancy",
         Defn      => "Number of CMS Agent 1 BL credits in use in a given cycle, per transgress",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_BL_CRD_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 BL Credits Occupancy",
         Defn      => "Number of CMS Agent 1 BL credits in use in a given cycle, per transgress",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_BL_CREDITS_ACQUIRED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 BL Credits Acquired",
         Defn      => "Number of CMS Agent 1 BL credits acquired in a given cycle, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "AG1_BL_CREDITS_ACQUIRED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0x8C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Agent1 BL Credits Acquired",
         Defn      => "Number of CMS Agent 1 BL credits acquired in a given cycle, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "CHA_AD_CREDITS_EMPTY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "EGRESS Credit Events",
         EvSel     => 0x22,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CBox AD Credits Empty",
         Defn      => "No credits available to send to Cbox on the AD Ring (covers higher CBoxes)",
         Subevents =>
         {
            "VNA" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VNA Messages",
               Defn      => "",
            },
            "WB" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Writebacks",
               Defn      => "",
            },
            "REQ" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Requests",
               Defn      => "",
            },
            "SNP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops",
               Defn      => "",
            },
         },
      },
      "CLOCKTICKS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "UCLK Events",
         EvSel     => 0x01,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number of uclks in domain",
         Defn      => "Counts the number of uclks in the M3 uclk domain.  This could be slightly different than the count in the Ubox because of enable/freeze delays.  However, because the M3 is close to the Ubox, they generally should not diverge by more than a handful of cycles.",
      },
      "CMS_CLOCKTICKS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Misc Events",
         EvSel     => 0xC0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Clockticks",
         Defn      => "",
      },
      "CMS_CLOCKTICKS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Misc Events",
         EvSel     => 0xC0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Clockticks",
         Defn      => "",
      },
      "D2C_SENT" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Special Egress Events",
         EvSel     => 0x2B,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "D2C Sent",
         Defn      => "Count cases BL sends direct to core",
      },
      "D2U_SENT" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Special Egress Events",
         EvSel     => 0x2A,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "D2U Sent",
         Defn      => "Cases where SMI3 sends D2U command",
         Notes     => "NOT required anymore",
      },
      "EGRESS_ORDERING" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAE,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Egress Blocking due to Ordering requirements",
         Defn      => "Counts number of cycles IV was blocked in the TGR Egress due to SNP/GO Ordering requirements",
         Subevents =>
         {
            "IV_SNOOPGO_UP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up",
               Defn      => "",
            },
            "IV_SNOOPGO_DN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down",
               Defn      => "",
            },
         },
      },
      "EGRESS_ORDERING" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAE,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Egress Blocking due to Ordering requirements",
         Defn      => "Counts number of cycles IV was blocked in the TGR Egress due to SNP/GO Ordering requirements",
         Subevents =>
         {
            "IV_SNOOPGO_UP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up",
               Defn      => "",
            },
            "IV_SNOOPGO_DN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down",
               Defn      => "",
            },
         },
      },
      "FAST_ASSERTED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA5,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "FaST wire asserted",
         Defn      => "Counts the number of cycles either the local or incoming distress signals are asserted.  Incoming distress includes up, dn and across.",
         Subevents =>
         {
            "VERT" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Vertical",
               Defn      => "",
            },
            "HORZ" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Horizontal",
               Defn      => "",
            },
         },
      },
      "FAST_ASSERTED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA5,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "FaST wire asserted",
         Defn      => "Counts the number of cycles either the local or incoming distress signals are asserted.  Incoming distress includes up, dn and across.",
         Subevents =>
         {
            "VERT" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Vertical",
               Defn      => "",
            },
            "HORZ" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Horizontal",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_AD_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xA7,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal AD Ring In Use",
         Defn      => "Counts the number of cycles that the Horizontal AD ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_AD_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xA7,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal AD Ring In Use",
         Defn      => "Counts the number of cycles that the Horizontal AD ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_AK_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xA9,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal AK Ring In Use",
         Defn      => "Counts the number of cycles that the Horizontal AK ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_AK_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xA9,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal AK Ring In Use",
         Defn      => "Counts the number of cycles that the Horizontal AK ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_BL_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAB,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal BL Ring in Use",
         Defn      => "Counts the number of cycles that the Horizontal BL ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from  the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_BL_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAB,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal BL Ring in Use",
         Defn      => "Counts the number of cycles that the Horizontal BL ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from  the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "LEFT_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Even",
               Defn      => "",
            },
            "LEFT_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Left and Odd",
               Defn      => "",
            },
            "RIGHT_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Even",
               Defn      => "",
            },
            "RIGHT_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right and Odd",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_IV_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAD,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal IV Ring in Use",
         Defn      => "Counts the number of cycles that the Horizontal IV ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  There is only 1 IV ring.  Therefore, if one wants to monitor the \"Even\" ring, they should select both UP_EVEN and DN_EVEN.  To monitor the \"Odd\" ring, they should select both UP_ODD and DN_ODD.",
         Subevents =>
         {
            "LEFT" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left",
               Defn      => "",
            },
            "RIGHT" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right",
               Defn      => "",
            },
         },
      },
      "HORZ_RING_IV_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal In Use RING Events",
         EvSel     => 0xAD,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Horizontal IV Ring in Use",
         Defn      => "Counts the number of cycles that the Horizontal IV ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  There is only 1 IV ring.  Therefore, if one wants to monitor the \"Even\" ring, they should select both UP_EVEN and DN_EVEN.  To monitor the \"Odd\" ring, they should select both UP_ODD and DN_ODD.",
         Subevents =>
         {
            "LEFT" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Left",
               Defn      => "",
            },
            "RIGHT" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Right",
               Defn      => "",
            },
         },
      },
      "M2_BL_CREDITS_EMPTY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "EGRESS Credit Events",
         EvSel     => 0x23,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "M2 BL Credits Empty",
         Defn      => "No vn0 and vna credits available to send to M2",
         Subevents =>
         {
            "IIO0_IIO1_NCB" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "IIO0 and IIO1 share the same ring destination. (1 VN0 credit only)",
               Defn      => "",
            },
            "IIO2_NCB" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "IIO2",
               Defn      => "",
            },
            "IIO3_NCB" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "IIO3",
               Defn      => "",
            },
            "IIO4_NCB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IIO4",
               Defn      => "",
            },
            "IIO5_NCB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IIO5",
               Defn      => "",
            },
            "NCS" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "All IIO targets for NCS are in single mask. ORs them together",
               Defn      => "",
            },
            "NCS_SEL" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Selected M2p BL NCS credits",
               Defn      => "",
            },
         },
      },
      "MULTI_SLOT_RCVD" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Special Egress Events",
         EvSel     => 0x3E,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Multi Slot Flit Received",
         Defn      => "Multi slot flit received - S0, S1 and/or S2 populated (can use AK S0/S1 masks for AK allocations)",
         Subevents =>
         {
            "AD_SLOT0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Slot 0",
               Defn      => "",
            },
            "AD_SLOT1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Slot 1",
               Defn      => "",
            },
            "AD_SLOT2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Slot 2",
               Defn      => "",
            },
            "BL_SLOT0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Slot 0",
               Defn      => "",
            },
            "AK_SLOT0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Slot 0",
               Defn      => "",
            },
            "AK_SLOT2" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Slot 2",
               Defn      => "",
            },
         },
      },
      "RING_BOUNCES_HORZ" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA1,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Messages that bounced on the Horizontal Ring.",
         Defn      => "Number of cycles incoming messages from the Horizontal ring that were bounced, by ring type.",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
         },
      },
      "RING_BOUNCES_HORZ" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA1,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Messages that bounced on the Horizontal Ring.",
         Defn      => "Number of cycles incoming messages from the Horizontal ring that were bounced, by ring type.",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
         },
      },
      "RING_BOUNCES_VERT" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical RING Events",
         EvSel     => 0xA0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Messages that bounced on the Vertical Ring.",
         Defn      => "Number of cycles incoming messages from the Vertical ring that were bounced, by ring type.",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to core",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data Responses to core",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops of processor's cache.",
               Defn      => "",
            },
         },
      },
      "RING_BOUNCES_VERT" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical RING Events",
         EvSel     => 0xA0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Messages that bounced on the Vertical Ring.",
         Defn      => "Number of cycles incoming messages from the Vertical ring that were bounced, by ring type.",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to core",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data Responses to core",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops of processor's cache.",
               Defn      => "",
            },
         },
      },
      "RING_SINK_STARVED_HORZ" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA3,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sink Starvation on Horizontal Ring",
         Defn      => "",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to Agent 1",
               Defn      => "",
            },
         },
      },
      "RING_SINK_STARVED_HORZ" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA3,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sink Starvation on Horizontal Ring",
         Defn      => "",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to Agent 1",
               Defn      => "",
            },
         },
      },
      "RING_SINK_STARVED_VERT" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical RING Events",
         EvSel     => 0xA2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sink Starvation on Vertical Ring",
         Defn      => "",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to core",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data Responses to core",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops of processor's cache.",
               Defn      => "",
            },
         },
      },
      "RING_SINK_STARVED_VERT" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical RING Events",
         EvSel     => 0xA2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sink Starvation on Vertical Ring",
         Defn      => "",
         Subevents =>
         {
            "AD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD",
               Defn      => "",
            },
            "AK" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Acknowledgements to core",
               Defn      => "",
            },
            "BL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Data Responses to core",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoops of processor's cache.",
               Defn      => "",
            },
         },
      },
      "RING_SRC_THRTL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Source Throttle",
         Defn      => "",
      },
      "RING_SRC_THRTL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Horizontal  RING Events",
         EvSel     => 0xA4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Source Throttle",
         Defn      => "",
      },
      "RxC_ARB_LOST_VN0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Arbitration Events",
         EvSel     => 0x4B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Lost Arb for VN0",
         Defn      => "VN0 message requested but lost arbitration",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_ARB_LOST_VN1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Arbitration Events",
         EvSel     => 0x4C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Lost Arb for VN1",
         Defn      => "VN1 message requested but lost arbitration",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_ARB_MISC" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Arbitration Events",
         EvSel     => 0x4D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Arb Miscellaneous",
         Defn      => "",
         Subevents =>
         {
            "PAR_BIAS_VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Parallel Bias to VN0",
               Defn      => "VN0/VN1 arbiter gave second, consecutive win to vn0, delaying vn1 win, because vn0 offered parallel ad/bl",
            },
            "PAR_BIAS_VN1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Parallel Bias to VN1",
               Defn      => "VN0/VN1 arbiter gave second, consecutive win to vn1, delaying vn0 win, because vn1 offered parallel ad/bl",
            },
            "NO_PROG_AD_VN0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "No Progress on Pending AD VN0",
               Defn      => "Arbitration stage made no progress on pending ad vn0 messages because slotting stage cannot accept new message",
            },
            "NO_PROG_AD_VN1" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "No Progress on Pending AD VN1",
               Defn      => "Arbitration stage made no progress on pending ad vn1 messages because slotting stage cannot accept new message",
            },
            "NO_PROG_BL_VN0" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "No Progress on Pending BL VN0",
               Defn      => "Arbitration stage made no progress on pending bl vn0 messages because slotting stage cannot accept new message",
            },
            "NO_PROG_BL_VN1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "No Progress on Pending BL VN1",
               Defn      => "Arbitration stage made no progress on pending bl vn1 messages because slotting stage cannot accept new message",
            },
            "ADBL_PARALLEL_WIN" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD, BL Parallel Win",
               Defn      => "AD and BL messages won arbitration concurrently / in parallel",
            },
         },
      },
      "RxC_ARB_NOAD_REQ_VN0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Arbitration Events",
         EvSel     => 0x49,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Can't Arb for VN0",
         Defn      => "VN0 message was not able to request arbitration while some other message won arbitration",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_ARB_NOAD_REQ_VN1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Arbitration Events",
         EvSel     => 0x4A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Can't Arb for VN1",
         Defn      => "VN1 message was not able to request arbitration while some other message won arbitration",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_ARB_NOCRED_VN0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Arbitration Events",
         EvSel     => 0x47,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "No Credits to Arb for VN0",
         Defn      => "VN0 message is blocked from requesting arbitration due to lack of remote UPI credits",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_ARB_NOCRED_VN1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Arbitration Events",
         EvSel     => 0x48,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "No Credits to Arb for VN1",
         Defn      => "VN1 message is blocked from requesting arbitration due to lack of remote UPI credits",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_BYPASSED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x40,
         Counters  => "0-2",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Ingress Queue Bypasses",
         Defn      => "Number ot times message is bypassed around the Ingress Queue",
         Subevents =>
         {
            "AD_S0_IDLE" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD to Slot 0 on Idle",
               Defn      => "AD is taking bypass to slot 0 of independent flit while pipeline is idle",
            },
            "AD_S0_BL_ARB" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AD to Slot 0 on BL Arb",
               Defn      => "AD is taking bypass to slot 0 of independent flit while bl message is in arbitration",
            },
            "AD_S1_BL_SLOT" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD + BL to Slot 1",
               Defn      => "AD is taking bypass to flit slot 1 while merging with bl message in same flit",
            },
            "AD_S2_BL_SLOT" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD + BL to Slot 2",
               Defn      => "AD is taking bypass to flit slot 2 while merging with bl message in same flit",
            },
         },
      },
      "RxC_COLLISION_VN0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Sloting Events",
         EvSel     => 0x50,
         Counters  => "0-2",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN0 message lost contest for flit",
         Defn      => "Count cases where Ingress VN0 packets lost the contest for Flit Slot 0.",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_COLLISION_VN1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Sloting Events",
         EvSel     => 0x51,
         Counters  => "0-2",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN1 message lost contest for flit",
         Defn      => "Count cases where Ingress VN1 packets lost the contest for Flit Slot 0.",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_CRD_MISC" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Credit Events",
         EvSel     => 0x60,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Miscellaneous Credit Events",
         Defn      => "",
         Subevents =>
         {
            "ANY_BGF_FIFO" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Any In BGF FIFO",
               Defn      => "Indication that at least one packet (flit) is in the bgf (fifo only)",
            },
            "ANY_BGF_PATH" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Any in BGF Path",
               Defn      => "Indication that at least one packet (flit) is in the bgf path (i.e. pipe to fifo)",
            },
            "NO_D2K_FOR_ARB" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "No D2K For Arb",
               Defn      => "VN0 or VN1 BL RSP message was blocked from arbitration request due to lack of D2K CMP credits",
            },
         },
      },
      "RxC_CRD_OCC" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Credit Events",
         EvSel     => 0x61,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Credit Occupancy",
         Defn      => "",
         Subevents =>
         {
            "VNA_IN_USE" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VNA In Use",
               Defn      => "Remote UPI VNA credit occupancy (number of credits in use), accumulated across all cycles",
            },
            "FLITS_IN_FIFO" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Packets in BGF FIFO",
               Defn      => "Occupancy of m3upi ingress -> upi link layer bgf; packets (flits) in fifo",
            },
            "FLITS_IN_PATH" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Packets in BGF Path",
               Defn      => "Occupancy of m3upi ingress -> upi link layer bgf; packets (flits) in path (i.e. pipe to fifo or fifo)",
            },
            "TxQ_CRD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Transmit Credits",
               Defn      => "Link layer transmit queue credit occupancy (credits in use), accumulated across all cycles",
            },
            "D2K_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "D2K Credits",
               Defn      => "D2K completion fifo credit occupancy (credits in use), accumulated across all cycles",
            },
            "P1P_TOTAL" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "count of bl messages in pump-1-pending state, in marker table and in fifo",
            },
            "P1P_FIFO" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "count of bl messages in pump-1-pending state, in completion fifo only",
            },
         },
      },
      "RxC_CYCLES_NE_VN0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x43,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN0 Ingress (from CMS) Queue - Cycles Not Empty",
         Defn      => "Counts the number of cycles when the UPI Ingress is not empty.  This tracks one of the three rings that are used by the UPI agent.  This can be used in conjunction with the UPI Ingress Occupancy Accumulator event in order to calculate average queue occupancy.  Multiple ingress buffers can be tracked at a given time using multiple counters.",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_CYCLES_NE_VN1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x44,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN1 Ingress (from CMS) Queue - Cycles Not Empty",
         Defn      => "Counts the number of allocations into the UPI VN1  Ingress.  This tracks one of the three rings that are used by the UPI agent.  This can be used in conjunction with the UPI VN1  Ingress Occupancy Accumulator event in order to calculate average queue latency.  Multiple ingress buffers can be tracked at a given time using multiple counters.",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_FLITS_DATA_NOT_SENT" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Flit Events",
         EvSel     => 0x57,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Data Flit Not Sent",
         Defn      => "Data flit is ready for transmission but could not be sent",
         Subevents =>
         {
            "ALL" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
            "NO_BGF" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "No BGF Credits",
               Defn      => "",
            },
            "NO_TXQ" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "No TxQ Credits",
               Defn      => "",
            },
         },
      },
      "RxC_FLITS_GEN_BL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Flit Events",
         EvSel     => 0x59,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Generating BL Data Flit Sequence",
         Defn      => "",
         Subevents =>
         {
            "P0_WAIT" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Wait on Pump 0",
               Defn      => "generating bl data flit sequence; waiting for data pump 0",
            },
            "P1_WAIT" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Wait on Pump 1",
               Defn      => "generating bl data flit sequence; waiting for data pump 1",
            },
            "P1P_TO_LIMBO" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "a bl message finished but is in limbo and moved to pump-1-pending logic",
            },
            "P1P_BUSY" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "pump-1-pending logic is tracking at least one message",
            },
            "P1P_AT_LIMIT" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "pump-1-pending logic is at capacity (pending table plus completion fifo at limit)",
            },
            "P1P_HOLD_P0" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "pump-1-pending logic is at or near capacity, such that pump-0-only bl messages are getting stalled in slotting stage",
            },
            "P1P_FIFO_FULL" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "pump-1-pending completion fifo is full",
            },
         },
      },
      "RxC_FLITS_MISC" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Flit Events",
         EvSel     => 0x5A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "RxC_FLITS_SENT" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Flit Events",
         EvSel     => 0x56,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Sent Header Flit",
         Defn      => "",
         Subevents =>
         {
            "1_MSG" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "One Message",
               Defn      => "One message in flit; VNA or non-VNA flit",
            },
            "2_MSGS" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Two Messages",
               Defn      => "Two messages in flit; VNA flit",
            },
            "3_MSGS" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Three Messages",
               Defn      => "Three messages in flit; VNA flit",
            },
            "1_MSG_VNX" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "One Message in non-VNA",
               Defn      => "One message in flit; non-VNA flit",
            },
            "SLOTS_1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "SLOTS_2" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "SLOTS_3" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "RxC_FLITS_SLOT_BL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Flit Events",
         EvSel     => 0x58,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Slotting BL Message Into Header Flit",
         Defn      => "",
         Subevents =>
         {
            "ALL" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
            "NEED_DATA" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Needs Data Flit",
               Defn      => "BL message requires data flit sequence",
            },
            "P0_WAIT" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Wait on Pump 0",
               Defn      => "Waiting for header pump 0",
            },
            "P1_WAIT" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Wait on Pump 1",
               Defn      => "Waiting for header pump 1",
            },
            "P1_NOT_REQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Don't Need Pump 1",
               Defn      => "Header pump 1 is not required for flit",
            },
            "P1_NOT_REQ_BUT_BUBBLE" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Don't Need Pump 1 - Bubble",
               Defn      => "Header pump 1 is not required for flit but flit transmission delayed",
            },
            "P1_NOT_REQ_NOT_AVAIL" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Don't Need Pump 1 - Not Avail",
               Defn      => "Header pump 1 is not required for flit and not available",
            },
         },
      },
      "RxC_FLIT_GEN_HDR1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Flit Events",
         EvSel     => 0x53,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Flit Gen - Header 1",
         Defn      => "Events related to Header Flit Generation - Set 1",
         Subevents =>
         {
            "ACCUM" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Acumullate",
               Defn      => "Header flit slotting control state machine is in any accumulate state; multi-message flit may be assembled over multiple cycles",
            },
            "ACCUM_READ" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Accumulate Ready",
               Defn      => "header flit slotting control state machine is in accum_ready state; flit is ready to send but transmission is blocked; more messages may be slotted into flit",
            },
            "ACCUM_WASTED" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Accumulate Wasted",
               Defn      => "Flit is being assembled over multiple cycles, but no additional message is being slotted into flit in current cycle; accumulate cycle is wasted",
            },
            "AHEAD_BLOCKED" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Run-Ahead - Blocked",
               Defn      => "Header flit slotting entered run-ahead state; new header flit is started while transmission of prior, fully assembled flit is blocked",
            },
            "AHEAD_MSG" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Run-Ahead - Message",
               Defn      => "Header flit slotting is in run-ahead to start new flit, and message is actually slotted into new flit",
            },
            "PAR" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Parallel Ok",
               Defn      => "New header flit construction may proceed in parallel with data flit sequence",
            },
            "PAR_MSG" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Parallel Message",
               Defn      => "Message is slotted into header flit in parallel with data flit sequence",
            },
            "PAR_FLIT" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Parallel Flit Finished",
               Defn      => "Header flit finished assembly in parallel with data flit sequence",
            },
         },
      },
      "RxC_FLIT_GEN_HDR2" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Flit Events",
         EvSel     => 0x54,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Flit Gen - Header 2",
         Defn      => "Events related to Header Flit Generation - Set 2",
         Subevents =>
         {
            "RMSTALL" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Rate-matching Stall",
               Defn      => "Rate-matching stall injected",
            },
            "RMSTALL_NOMSG" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Rate-matching Stall - No Message",
               Defn      => "Rate matching stall injected, but no additional message slotted during stall cycle",
            },
         },
      },
      "RxC_FLIT_NOT_SENT" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Flit Events",
         EvSel     => 0x55,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Header Not Sent",
         Defn      => "header flit is ready for transmission but could not be sent",
         Subevents =>
         {
            "ALL" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "All",
               Defn      => "",
            },
            "NO_BGF_CRD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "No BGF Credits",
               Defn      => "No BGF credits available",
            },
            "NO_TXQ_CRD" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "No TxQ Credits",
               Defn      => "No TxQ credits available",
            },
            "NO_BGF_NO_MSG" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "No BGF Credits + No Extra Message Slotted",
               Defn      => "No BGF credits available; no additional message slotted into flit",
            },
            "NO_TXQ_NO_MSG" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "No TxQ Credits + No Extra Message Slotted",
               Defn      => "No TxQ credits available; no additional message slotted into flit",
            },
            "ONE_TAKEN" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Sent - One Slot Taken",
               Defn      => "sending header flit with only one slot taken (two slots free)",
            },
            "TWO_TAKEN" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Sent - Two Slots Taken",
               Defn      => "sending header flit with only two slots taken (one slots free)",
            },
            "THREE_TAKEN" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Sent - Three Slots Taken",
               Defn      => "sending header flit with three slots taken (no slots free)",
            },
         },
      },
      "RxC_HELD" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Sloting Events",
         EvSel     => 0x52,
         Counters  => "0-2",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Message Held",
         Defn      => "",
         Subevents =>
         {
            "VN0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0",
               Defn      => "vn0 message(s) that couldn't be slotted into last vn0 flit are held in slotting stage while processing vn1 flit",
            },
            "VN1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1",
               Defn      => "vn1 message(s) that couldn't be slotted into last vn1 flit are held in slotting stage while processing vn0 flit",
            },
            "PARALLEL_ATTEMPT" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Parallel Attempt",
               Defn      => "ad and bl messages attempted to slot into the same flit in parallel",
            },
            "PARALLEL_SUCCESS" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Parallel Success",
               Defn      => "ad and bl messages were actually slotted into the same flit in paralle",
            },
            "PARALLEL_AD_LOST" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Parallel AD Lost",
               Defn      => "some AD message lost contest for slot 0 (logical OR of all AD events under INGR_SLOT_LOST_MC_VN{0,1})",
            },
            "PARALLEL_BL_LOST" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Parallel BL Lost",
               Defn      => "some BL message lost contest for slot 0 (logical OR of all BL events under INGR_SLOT_LOST_MC_VN{0,1})",
            },
            "CANT_SLOT_AD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Can't Slot AD",
               Defn      => "some AD message could not be slotted (logical OR of all AD events under INGR_SLOT_CANT_MC_VN{0,1})",
            },
            "CANT_SLOT_BL" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Can't Slot BL",
               Defn      => "some BL message could not be slotted (logical OR of all BL events under INGR_SLOT_CANT_MC_VN{0,1})",
            },
         },
      },
      "RxC_INSERTS_VN0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x41,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN0 Ingress (from CMS) Queue - Inserts",
         Defn      => "Counts the number of allocations into the UPI Ingress.  This tracks one of the three rings that are used by the UPI agent.  This can be used in conjunction with the UPI Ingress Occupancy Accumulator event in order to calculate average queue latency.  Multiple ingress buffers can be tracked at a given time using multiple counters.",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_INSERTS_VN1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x42,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN1 Ingress (from CMS) Queue - Inserts",
         Defn      => "Counts the number of allocations into the UPI VN1  Ingress.  This tracks one of the three rings that are used by the UPI agent.  This can be used in conjunction with the UPI VN1  Ingress Occupancy Accumulator event in order to calculate average queue latency.  Multiple ingress buffers can be tracked at a given time using multiple counters.",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_OCCUPANCY_VN0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x45,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN0 Ingress (from CMS) Queue - Occupancy",
         Defn      => "Accumulates the occupancy of a given UPI VN1  Ingress queue in each cycle.  This tracks one of the three ring Ingress buffers.  This can be used with the UPI VN1  Ingress Not Empty event to calculate average occupancy or the UPI VN1  Ingress Allocations event in order to calculate average queuing latency.",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_OCCUPANCY_VN1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Events",
         EvSel     => 0x46,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN1 Ingress (from CMS) Queue - Occupancy",
         Defn      => "Accumulates the occupancy of a given UPI VN1  Ingress queue in each cycle.  This tracks one of the three ring Ingress buffers.  This can be used with the UPI VN1  Ingress Not Empty event to calculate average occupancy or the UPI VN1  Ingress Allocations event in order to calculate average queuing latency.",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_PACKING_MISS_VN0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Sloting Events",
         EvSel     => 0x4E,
         Counters  => "0-2",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN0 message can't slot into flit",
         Defn      => "Count cases where Ingress has packets to send but did not have time to pack into flit before sending to Agent so slot was left NULL which could have been used.",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_PACKING_MISS_VN1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Sloting Events",
         EvSel     => 0x4F,
         Counters  => "0-2",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN1 message can't slot into flit",
         Defn      => "Count cases where Ingress has packets to send but did not have time to pack into flit before sending to Agent so slot was left NULL which could have been used.",
         Subevents =>
         {
            "AD_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "AD_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "AD_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "BL_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "BL_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
            "BL_NCS" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCS on BL",
               Defn      => "Non-Coherent Standard (NCS) messages on BL.",
            },
         },
      },
      "RxC_SMI3_PFTCH" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Credit Events",
         EvSel     => 0x62,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "SMI3 Prefetch Messages",
         Defn      => "",
         Subevents =>
         {
            "ARRIVED" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Arrived",
               Defn      => "",
            },
            "ARB_LOST" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Lost Arbitration",
               Defn      => "",
            },
            "SLOTTED" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Slotted",
               Defn      => "",
            },
            "DROP_OLD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Dropped - Old",
               Defn      => "",
            },
            "DROP_WRAP" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Dropped - Wrap",
               Defn      => "Dropped because it was overwritten by new message while prefetch queue was full",
            },
         },
      },
      "RxC_VNA_CRD" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "INGRESS Credit Events",
         EvSel     => 0x5B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Remote VNA Credits",
         Defn      => "",
         Subevents =>
         {
            "USED" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Used",
               Defn      => "Number of remote vna credits consumed per cycle",
            },
            "CORRECTED" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Corrected",
               Defn      => "Number of remote vna credits corrected (local return) per cycle",
            },
            "LT1" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Level < 1",
               Defn      => "Remote vna credit level is less than 1 (i.e. no vna credits available)",
            },
            "LT4" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Level < 4",
               Defn      => "Remote vna credit level is less than 4; bl (or ad requiring 4 vna) cannot arb on vna",
            },
            "LT5" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Level < 5",
               Defn      => "Remote vna credit level is less than 5; parallel ad/bl arb on vna not possible",
            },
            "ANY_IN_USE" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Any In Use",
               Defn      => "At least one remote vna credit is in use",
            },
         },
      },
      "RxR_BUSY_STARVED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Injection Starvation",
         Defn      => "Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, because a message from the other queue has higher priority",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the OR of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_BUSY_STARVED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Injection Starvation",
         Defn      => "Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, because a message from the other queue has higher priority",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the OR of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_BYPASS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Bypass",
         Defn      => "Number of packets bypassing the CMS Ingress",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_BYPASS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Bypass",
         Defn      => "Number of packets bypassing the CMS Ingress",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_CRD_STARVED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB3,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Injection Starvation",
         Defn      => "Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, the Ingress is unable to forward to the Egress due to a lack of credit.",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the OR of the two. For this purpose IFV is considered an AK ring type. Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
            "IFV" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IFV - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_CRD_STARVED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB3,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Injection Starvation",
         Defn      => "Counts cycles under injection starvation mode.  This starvation is triggered when the CMS Ingress cannot send a transaction onto the mesh for a long period of time.  In this case, the Ingress is unable to forward to the Egress due to a lack of credit.",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the OR of the two. For this purpose IFV is considered an AK ring type. Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
            "IFV" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IFV - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_INSERTS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB1,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Allocations",
         Defn      => "Number of allocations into the CMS Ingress  The Ingress is used to queue up requests received from the mesh",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_INSERTS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB1,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Allocations",
         Defn      => "Number of allocations into the CMS Ingress  The Ingress is used to queue up requests received from the mesh",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Occupancy",
         Defn      => "Occupancy event for the Ingress buffers in the CMS  The Ingress is used to queue up requests received from the mesh",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "RxR_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress INGRESS Events",
         EvSel     => 0xB0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transgress Ingress Occupancy",
         Defn      => "Occupancy event for the Ingress buffers in the CMS  The Ingress is used to queue up requests received from the mesh",
         Notes     => "If both masks are selected for one ring type (ex: AD CRD + BNC), will count the SUM of the two.  Selecting multiple ring types NOT supported",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_AD_AG0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No AD Agent0 Transgress Credits",
         Defn      => "Number of cycles the AD Agent 0 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_AD_AG0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD0,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No AD Agent0 Transgress Credits",
         Defn      => "Number of cycles the AD Agent 0 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_AD_AG1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No AD Agent1 Transgress Credits",
         Defn      => "Number of cycles the AD Agent 1 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_AD_AG1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD2,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No AD Agent1 Transgress Credits",
         Defn      => "Number of cycles the AD Agent 1 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_BL_AG0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No BL Agent0 Transgress Credits",
         Defn      => "Number of cycles the BL Agent 0 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_BL_AG0" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD4,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No BL Agent0 Transgress Credits",
         Defn      => "Number of cycles the BL Agent 0 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_BL_AG1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD6,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No BL Agent1 Transgress Credits",
         Defn      => "Number of cycles the BL Agent 1 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "STALL_NO_TxR_HORZ_CRD_BL_AG1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Transgress Credit Events",
         EvSel     => 0xD6,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Stall on No BL Agent1 Transgress Credits",
         Defn      => "Number of cycles the BL Agent 1 Egress Buffer is stalled waiting for a TGR credit to become available, per transgress.",
         Subevents =>
         {
            "TGR0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 0",
               Defn      => "",
            },
            "TGR1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 1",
               Defn      => "",
            },
            "TGR2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 2",
               Defn      => "",
            },
            "TGR3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 3",
               Defn      => "",
            },
            "TGR4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 4",
               Defn      => "",
            },
            "TGR5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "For Transgress 5",
               Defn      => "",
            },
         },
      },
      "TxC_AD_ARB_FAIL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "ARB Events",
         EvSel     => 0x30,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Failed ARB for AD",
         Defn      => "AD arb but no win; arb request asserted but not won",
         Subevents =>
         {
            "VN0_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 REQ Messages",
               Defn      => "",
            },
            "VN0_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 SNP Messages",
               Defn      => "",
            },
            "VN0_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN1_REQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 REQ Messages",
               Defn      => "",
            },
            "VN1_SNP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 SNP Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
         },
      },
      "TxC_AD_FLQ_BYPASS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Special Egress Events",
         EvSel     => 0x2C,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD FlowQ Bypass",
         Defn      => "Counts cases when the AD flowQ is bypassed (S0, S1 and S2 indicate which slot was bypassed with S0 having the highest priority and S2 the least)",
         Subevents =>
         {
            "AD_SLOT0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AD_SLOT1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AD_SLOT2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BL_EARLY_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "TxC_AD_FLQ_CYCLES_NE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "FlowQ Events",
         EvSel     => 0x27,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Flow Q Not Empty",
         Defn      => "Number of cycles the AD Egress queue is Not Empty",
         Notes     => "Counts the number of cycles when the QPI FlowQ is not empty.  This tracks one of the three rings that are used by the QPI agent.  This can be used in conjunction with the QPI FlowQ Occupancy Accumulator event in order to calculate average queue occupancy.  Only a single FlowQ queue can be tracked at any given time.  It is not possible to filter based on direction or polarity.",
         Subevents =>
         {
            "VN0_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 REQ Messages",
               Defn      => "",
            },
            "VN0_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 SNP Messages",
               Defn      => "",
            },
            "VN0_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN1_REQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 REQ Messages",
               Defn      => "",
            },
            "VN1_SNP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 SNP Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
         },
      },
      "TxC_AD_FLQ_INSERTS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "FlowQ Events",
         EvSel     => 0x2D,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Flow Q Inserts",
         Defn      => "Counts the number of allocations into the QPI FlowQ. This can be used in conjunction with the QPI FlowQ Occupancy Accumulator event in order to calculate average queue latency.  Only a single FlowQ queue can be tracked at any given time.  It is not possible to filter based on direction or polarity.",
         Subevents =>
         {
            "VN0_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 REQ Messages",
               Defn      => "",
            },
            "VN0_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 SNP Messages",
               Defn      => "",
            },
            "VN0_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN1_REQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 REQ Messages",
               Defn      => "",
            },
            "VN1_SNP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 SNP Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
         },
      },
      "TxC_AD_FLQ_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "FlowQ Events",
         EvSel     => 0x1C,
         Counters  => "0",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AD Flow Q Occupancy",
         Defn      => "",
         Subevents =>
         {
            "VN0_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 REQ Messages",
               Defn      => "",
            },
            "VN0_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 SNP Messages",
               Defn      => "",
            },
            "VN0_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN1_REQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 REQ Messages",
               Defn      => "",
            },
            "VN1_SNP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 SNP Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
         },
      },
      "TxC_AD_SNPF_GRP1_VN1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "ARB Events",
         EvSel     => 0x3C,
         Counters  => "0",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number of Snoop Targets",
         Defn      => "Number of snpfanout targets and non-idle cycles can be used to calculate average snpfanout latency",
         Subevents =>
         {
            "VN0_PEER_UPI0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Peer UPI0 on VN0",
               Defn      => "Number of VN0 Snpf to peer UPI0",
            },
            "VN0_PEER_UPI1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Peer UPI1 on VN0",
               Defn      => "Number of VN0 Snpf to peer UPI1",
            },
            "VN0_CHA" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "CHA on VN0",
               Defn      => "Number of VN0 Snpf to CHA",
            },
            "VN1_PEER_UPI0" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Peer UPI0 on VN1",
               Defn      => "Number of VN1 Snpf to peer UPI0",
            },
            "VN1_PEER_UPI1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Peer UPI1 on VN1",
               Defn      => "Number of VN1 Snpf to peer UPI1",
            },
            "VN1_CHA" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "CHA on VN1",
               Defn      => "Number of VN1 Snpf to CHA",
            },
            "VN0_NON_IDLE" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non Idle cycles on VN0",
               Defn      => "Number of non-idle cycles in issuing Vn0 Snpf",
            },
            "VN1_NON_IDLE" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Non Idle cycles on VN1",
               Defn      => "Number of non-idle cycles in issuing Vn1 Snpf",
            },
         },
      },
      "TxC_AD_SNPF_GRP2_VN1" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "ARB Events",
         EvSel     => 0x3D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Snoop Arbitration",
         Defn      => "Outcome of SnpF pending arbitration",
         Subevents =>
         {
            "VN0_SNPFP_NONSNP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "FlowQ Won",
               Defn      => "FlowQ txn issued when SnpF pending on Vn0",
            },
            "VN1_SNPFP_NONSNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "FlowQ Won",
               Defn      => "FlowQ txn issued when SnpF pending on Vn1",
            },
            "VN0_SNPFP_VN2SNP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "FlowQ SnpF Won",
               Defn      => "FlowQ Vn0 SnpF issued when SnpF pending on Vn1",
            },
            "VN1_SNPFP_VN0SNP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "FlowQ SnpF Won",
               Defn      => "FlowQ Vn1 SnpF issued when SnpF pending on Vn0",
            },
         },
      },
      "TxC_AD_SPEC_ARB_CRD_AVAIL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "ARB Events",
         EvSel     => 0x34,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Speculative ARB for AD  -  Credit Available",
         Defn      => "AD speculative arb request with prior cycle credit check complete and credit avail",
         Subevents =>
         {
            "VN0_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 REQ Messages",
               Defn      => "",
            },
            "VN0_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 SNP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN1_REQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 REQ Messages",
               Defn      => "",
            },
            "VN1_SNP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 SNP Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
         },
      },
      "TxC_AD_SPEC_ARB_NEW_MSG" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "ARB Events",
         EvSel     => 0x33,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Speculative ARB for AD  - New Message",
         Defn      => "AD speculative arb request due to new message arriving on a specific channel (MC/VN)",
         Subevents =>
         {
            "VN0_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 REQ Messages",
               Defn      => "",
            },
            "VN0_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 SNP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN1_REQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 REQ Messages",
               Defn      => "",
            },
            "VN1_SNP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 SNP Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
         },
      },
      "TxC_AD_SPEC_ARB_NO_OTHER_PEND" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "ARB Events",
         EvSel     => 0x32,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Speculative ARB for AD  - No Credit",
         Defn      => "AD speculative arb request asserted due to no other channel being active (have a valid entry but don't have credits to send)",
         Subevents =>
         {
            "VN0_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 REQ Messages",
               Defn      => "",
            },
            "VN0_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 SNP Messages",
               Defn      => "",
            },
            "VN0_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN1_REQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 REQ Messages",
               Defn      => "",
            },
            "VN1_SNP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 SNP Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
         },
      },
      "TxC_AK_FLQ_INSERTS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "FlowQ Events",
         EvSel     => 0x2F,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AK Flow Q Inserts",
         Defn      => "",
      },
      "TxC_AK_FLQ_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "FlowQ Events",
         EvSel     => 0x1E,
         Counters  => "0",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "AK Flow Q Occupancy",
         Defn      => "",
      },
      "TxC_BL_ARB_FAIL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "ARB Events",
         EvSel     => 0x35,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Failed ARB for BL",
         Defn      => "BL arb but no win; arb request asserted but not won",
         Subevents =>
         {
            "VN0_RSP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN0_NCB" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 NCB Messages",
               Defn      => "",
            },
            "VN0_NCS" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 NCS Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
            "VN1_NCB" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 NCS Messages",
               Defn      => "",
            },
            "VN1_NCS" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 NCB Messages",
               Defn      => "",
            },
         },
      },
      "TxC_BL_FLQ_CYCLES_NE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "FlowQ Events",
         EvSel     => 0x28,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Flow Q Not Empty",
         Defn      => "Number of cycles the BL Egress queue is Not Empty",
         Notes     => "Counts the number of cycles when the QPI FlowQ is not empty.  This tracks one of the three rings that are used by the QPI agent.  This can be used in conjunction with the QPI FlowQ Occupancy Accumulator event in order to calculate average queue occupancy.  Only a single FlowQ queue can be tracked at any given time.  It is not possible to filter based on direction or polarity.",
         Subevents =>
         {
            "VN0_REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 REQ Messages",
               Defn      => "",
            },
            "VN0_SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 SNP Messages",
               Defn      => "",
            },
            "VN0_RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN1_REQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 REQ Messages",
               Defn      => "",
            },
            "VN1_SNP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 SNP Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
         },
      },
      "TxC_BL_FLQ_INSERTS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "FlowQ Events",
         EvSel     => 0x2E,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Flow Q Inserts",
         Defn      => "Counts the number of allocations into the QPI FlowQ. This can be used in conjunction with the QPI FlowQ Occupancy Accumulator event in order to calculate average queue latency.  Only a single FlowQ queue can be tracked at any given time.  It is not possible to filter based on direction or polarity.",
         Subevents =>
         {
            "VN0_NCB" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_NCS" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 NCB Messages",
               Defn      => "",
            },
            "VN0_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 NCS Messages",
               Defn      => "",
            },
            "VN1_NCB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
            "VN1_NCS" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1_NCS Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1_NCB Messages",
               Defn      => "",
            },
         },
      },
      "TxC_BL_FLQ_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "FlowQ Events",
         EvSel     => 0x1D,
         Counters  => "0",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "BL Flow Q Occupancy",
         Defn      => "",
         Subevents =>
         {
            "VN0_RSP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN0_NCB" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 NCB Messages",
               Defn      => "",
            },
            "VN0_NCS" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 NCS Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
            "VN1_NCB" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1_NCS Messages",
               Defn      => "",
            },
            "VN1_NCS" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1_NCB Messages",
               Defn      => "",
            },
         },
      },
      "TxC_BL_SPEC_ARB_NEW_MSG" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "ARB Events",
         EvSel     => 0x38,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Speculative ARB for BL  - New Message",
         Defn      => "BL speculative arb request due to new message arriving on a specific channel (MC/VN)",
         Subevents =>
         {
            "VN0_WB" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN0_NCB" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN0_NCS" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 NCS Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
            "VN1_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
            "VN1_NCS" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 NCB Messages",
               Defn      => "",
            },
         },
      },
      "TxC_BL_SPEC_ARB_NO_OTHER_PEND" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "ARB Events",
         EvSel     => 0x37,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Speculative ARB for AD Failed - No Credit",
         Defn      => "BL speculative arb request asserted due to no other channel being active (have a valid entry but don't have credits to send)",
         Subevents =>
         {
            "VN0_RSP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 WB Messages",
               Defn      => "",
            },
            "VN0_NCB" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 NCB Messages",
               Defn      => "",
            },
            "VN0_NCS" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 NCS Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 WB Messages",
               Defn      => "",
            },
            "VN1_NCB" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 NCS Messages",
               Defn      => "",
            },
            "VN1_NCS" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 NCB Messages",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_ADS_USED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal ADS Used",
         Defn      => "Number of packets using the Horizontal Anti-Deadlock Slot, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_ADS_USED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal ADS Used",
         Defn      => "Number of packets using the Horizontal Anti-Deadlock Slot, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_BYPASS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Bypass Used",
         Defn      => "Number of packets bypassing the Horizontal Egress, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_BYPASS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Bypass Used",
         Defn      => "Number of packets bypassing the Horizontal Egress, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_CYCLES_FULL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x96,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Horizontal Egress Queue is Full",
         Defn      => "Cycles the Transgress buffers in the Common Mesh Stop are Full.  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_CYCLES_FULL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x96,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Horizontal Egress Queue is Full",
         Defn      => "Cycles the Transgress buffers in the Common Mesh Stop are Full.  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_CYCLES_NE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x97,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Horizontal Egress Queue is Not Empty",
         Defn      => "Cycles the Transgress buffers in the Common Mesh Stop are Not-Empty.  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_CYCLES_NE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x97,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Horizontal Egress Queue is Not Empty",
         Defn      => "Cycles the Transgress buffers in the Common Mesh Stop are Not-Empty.  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_INSERTS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x95,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Inserts",
         Defn      => "Number of allocations into the Transgress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_INSERTS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x95,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Inserts",
         Defn      => "Number of allocations into the Transgress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_NACK" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x99,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress NACKs",
         Defn      => "Counts number of Egress packets NACK'ed on to the Horizontal Ring",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_NACK" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x99,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress NACKs",
         Defn      => "Counts number of Egress packets NACK'ed on to the Horizontal Ring",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x94,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Occupancy",
         Defn      => "Occupancy event for the Transgress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x94,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Occupancy",
         Defn      => "Occupancy event for the Transgress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Horizontal Ring on the Mesh.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
            "AD_CRD" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Credit",
               Defn      => "",
            },
            "BL_CRD" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Credit",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_STARVED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Injection Starvation",
         Defn      => "Counts injection starvation.  This starvation is triggered when the CMS Transgress buffer cannot send a transaction onto the Horizontal ring for a long period of time.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
         },
      },
      "TxR_HORZ_STARVED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Horizontal EGRESS Events",
         EvSel     => 0x9B,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Horizontal Egress Injection Starvation",
         Defn      => "Counts injection starvation.  This starvation is triggered when the CMS Transgress buffer cannot send a transaction onto the Horizontal ring for a long period of time.",
         Subevents =>
         {
            "AD_BNC" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Bounce",
               Defn      => "",
            },
            "AK_BNC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Bounce",
               Defn      => "",
            },
            "BL_BNC" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Bounce",
               Defn      => "",
            },
            "IV_BNC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV - Bounce",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_ADS_USED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical ADS Used",
         Defn      => "Number of packets using the Vertical Anti-Deadlock Slot, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_ADS_USED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical ADS Used",
         Defn      => "Number of packets using the Vertical Anti-Deadlock Slot, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_BYPASS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical ADS Used",
         Defn      => "Number of packets bypassing the Vertical Egress, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_BYPASS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical ADS Used",
         Defn      => "Number of packets bypassing the Vertical Egress, broken down by ring type and CMS Agent.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_CYCLES_FULL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x92,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Vertical Egress Queue Is Full",
         Defn      => "Number of cycles the Common Mesh Stop Egress was Not Full.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_CYCLES_FULL" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x92,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Vertical Egress Queue Is Full",
         Defn      => "Number of cycles the Common Mesh Stop Egress was Not Full.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_CYCLES_NE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x93,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Vertical Egress Queue Is Not Empty",
         Defn      => "Number of cycles the Common Mesh Stop Egress was Not Empty.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_CYCLES_NE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x93,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles CMS Vertical Egress Queue Is Not Empty",
         Defn      => "Number of cycles the Common Mesh Stop Egress was Not Empty.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_INSERTS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x91,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vert Egress Allocations",
         Defn      => "Number of allocations into the Common Mesh Stop Egress.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_INSERTS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x91,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vert Egress Allocations",
         Defn      => "Number of allocations into the Common Mesh Stop Egress.  The Egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_NACK" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x98,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical Egress NACKs",
         Defn      => "Counts number of Egress packets NACK'ed on to the Vertical Ring",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_NACK" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x98,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical Egress NACKs",
         Defn      => "Counts number of Egress packets NACK'ed on to the Vertical Ring",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x90,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vert Egress Occupancy",
         Defn      => "Occupancy event for the Egress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_OCCUPANCY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x90,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vert Egress Occupancy",
         Defn      => "Occupancy event for the Egress buffers in the Common Mesh Stop  The egress is used to queue up requests destined for the Vertical Ring on the Mesh.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AD ring.  Some example include outbound requests, snoop requests, and snoop responses.",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the AK ring.  This is commonly used for credit returns and GO responses.",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "Ring transactions from Agent 0 destined for the BL ring.  This is commonly used to send data from the cache to various destinations.",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "Ring transactions from Agent 0 destined for the IV ring.  This is commonly used for snoops to the cores.",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AD ring.  This is commonly used for outbound requests.",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the AK ring.",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "Ring transactions from Agent 1 destined for the BL ring.  This is commonly used for transfering writeback data to the cache.",
            },
         },
      },
      "TxR_VERT_STARVED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical Egress Injection Starvation",
         Defn      => "Counts injection starvation.  This starvation is triggered when the CMS Egress cannot send a transaction onto the Vertical ring for a long period of time.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "TxR_VERT_STARVED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "CMS Vertical EGRESS Events",
         EvSel     => 0x9A,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CMS Vertical Egress Injection Starvation",
         Defn      => "Counts injection starvation.  This starvation is triggered when the CMS Egress cannot send a transaction onto the Vertical ring for a long period of time.",
         Subevents =>
         {
            "AD_AG0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 0",
               Defn      => "",
            },
            "AK_AG0" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 0",
               Defn      => "",
            },
            "BL_AG0" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 0",
               Defn      => "",
            },
            "IV" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "IV",
               Defn      => "",
            },
            "AD_AG1" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AD - Agent 1",
               Defn      => "",
            },
            "AK_AG1" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "AK - Agent 1",
               Defn      => "",
            },
            "BL_AG1" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "BL - Agent 1",
               Defn      => "",
            },
         },
      },
      "UPI_PEER_AD_CREDITS_EMPTY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "EGRESS Credit Events",
         EvSel     => 0x20,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "UPI0 AD Credits Empty",
         Defn      => "No credits available to send to UPIs on the AD Ring",
         Notes     => "2 cases for non-smi3 mode and 3 cases for smi3 mode",
         Subevents =>
         {
            "VNA" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VNA",
               Defn      => "",
            },
            "VN0_REQ" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 REQ Messages",
               Defn      => "",
            },
            "VN0_SNP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 SNP Messages",
               Defn      => "",
            },
            "VN0_RSP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN1_REQ" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 REQ Messages",
               Defn      => "",
            },
            "VN1_SNP" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 SNP Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
         },
      },
      "UPI_PEER_BL_CREDITS_EMPTY" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "EGRESS Credit Events",
         EvSel     => 0x21,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "UPI0 BL Credits Empty",
         Defn      => "No credits available to send to UPI on the BL Ring (diff between non-SMI and SMI mode)",
         Notes     => "smi and non-smi modes",
         Subevents =>
         {
            "VNA" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VNA",
               Defn      => "",
            },
            "VN0_RSP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 REQ Messages",
               Defn      => "",
            },
            "VN0_NCS_NCB" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 RSP Messages",
               Defn      => "",
            },
            "VN0_WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN0 SNP Messages",
               Defn      => "",
            },
            "VN1_RSP" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 REQ Messages",
               Defn      => "",
            },
            "VN1_NCS_NCB" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 RSP Messages",
               Defn      => "",
            },
            "VN1_WB" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "VN1 SNP Messages",
               Defn      => "",
            },
         },
      },
      "UPI_PREFETCH_SPAWN" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Special Egress Events",
         EvSel     => 0x29,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "FlowQ Generated Prefetch",
         Defn      => "Count cases where FlowQ causes spawn of Prefetch to iMC/SMI3 target",
      },
      "VERT_RING_AD_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xA6,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical AD Ring In Use",
         Defn      => "Counts the number of cycles that the Vertical AD ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  We really have two rings  -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_AD_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xA6,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical AD Ring In Use",
         Defn      => "Counts the number of cycles that the Vertical AD ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  We really have two rings  -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_AK_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xA8,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical AK Ring In Use",
         Defn      => "Counts the number of cycles that the Vertical AK ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.We really have two rings in -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_AK_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xA8,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical AK Ring In Use",
         Defn      => "Counts the number of cycles that the Vertical AK ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.We really have two rings in -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_BL_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xAA,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical BL Ring in Use",
         Defn      => "Counts the number of cycles that the Vertical BL ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from  the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_BL_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xAA,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical BL Ring in Use",
         Defn      => "Counts the number of cycles that the Vertical BL ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from  the ring stop.We really have two rings -- a clockwise ring and a counter-clockwise ring.  On the left side of the ring, the \"UP\" direction is on the clockwise ring and \"DN\" is on the counter-clockwise ring.  On the right side of the ring, this is reversed.  The first half of the CBos are on the left side of the ring, and the 2nd half are on the right side of the ring.  In other words (for example), in a 4c part, Cbo 0 UP AD is NOT the same ring as CBo 2 UP AD because they are on opposite sides of the ring.",
         Subevents =>
         {
            "UP_EVEN" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Even",
               Defn      => "",
            },
            "UP_ODD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Up and Odd",
               Defn      => "",
            },
            "DN_EVEN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Even",
               Defn      => "",
            },
            "DN_ODD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down and Odd",
               Defn      => "",
            },
         },
      },
      "VERT_RING_IV_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xAC,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical IV Ring in Use",
         Defn      => "Counts the number of cycles that the Vertical IV ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  There is only 1 IV ring.  Therefore, if one wants to monitor the \"Even\" ring, they should select both UP_EVEN and DN_EVEN.  To monitor the \"Odd\" ring, they should select both UP_ODD and DN_ODD.",
         Subevents =>
         {
            "UP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up",
               Defn      => "",
            },
            "DN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down",
               Defn      => "",
            },
         },
      },
      "VERT_RING_IV_IN_USE" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Vertical In Use RING Events",
         EvSel     => 0xAC,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Vertical IV Ring in Use",
         Defn      => "Counts the number of cycles that the Vertical IV ring is being used at this ring stop.  This includes when packets are passing by and when packets are being sunk, but does not include when packets are being sent from the ring stop.  There is only 1 IV ring.  Therefore, if one wants to monitor the \"Even\" ring, they should select both UP_EVEN and DN_EVEN.  To monitor the \"Odd\" ring, they should select both UP_ODD and DN_ODD.",
         Subevents =>
         {
            "UP" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Up",
               Defn      => "",
            },
            "DN" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Down",
               Defn      => "",
            },
         },
      },
      "VN0_CREDITS_USED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Link VN Credit Events",
         EvSel     => 0x5C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN0 Credit Used",
         Defn      => "Number of times a VN0 credit was used on the DRS message channel.  In order for a request to be transferred across UPI, it must be guaranteed to have a flit buffer on the remote socket to sink into.  There are two credit pools, VNA and VN0.  VNA is a shared pool used to achieve high performance.  The VN0 pool has reserved entries for each message class and is used to prevent deadlock.  Requests first attempt to acquire a VNA credit, and then fall back to VN0 if they fail.  This counts the number of times a VN0 credit was used.  Note that a single VN0 credit holds access to potentially multiple flit buffers.  For example, a transfer that uses VNA could use 9 flit buffers and in that case uses 9 credits.  A transfer on VN0 will only count a single credit even though it may use multiple buffers.",
         Subevents =>
         {
            "REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "NCB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "NCS" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
         },
      },
      "VN0_NO_CREDITS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Link VN Credit Events",
         EvSel     => 0x5E,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN0 No Credits",
         Defn      => "Number of Cycles there were no VN0 Credits",
         Subevents =>
         {
            "REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "NCB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "NCS" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
         },
      },
      "VN1_CREDITS_USED" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Link VN Credit Events",
         EvSel     => 0x5D,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN1 Credit Used",
         Defn      => "Number of times a VN1 credit was used on the WB message channel.  In order for a request to be transferred across QPI, it must be guaranteed to have a flit buffer on the remote socket to sink into.  There are two credit pools, VNA and VN1.  VNA is a shared pool used to achieve high performance.  The VN1 pool has reserved entries for each message class and is used to prevent deadlock.  Requests first attempt to acquire a VNA credit, and then fall back to VN1 if they fail.  This counts the number of times a VN1 credit was used.  Note that a single VN1 credit holds access to potentially multiple flit buffers.  For example, a transfer that uses VNA could use 9 flit buffers and in that case uses 9 credits.  A transfer on VN1 will only count a single credit even though it may use multiple buffers.",
         Subevents =>
         {
            "REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "NCB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "NCS" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
         },
      },
      "VN1_NO_CREDITS" =>
      {
         Box       => "M3UPI Box Events",
         Category  => "Link VN Credit Events",
         EvSel     => 0x5F,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN1 No Credits",
         Defn      => "Number of Cycles there were no VN1 Credits",
         Subevents =>
         {
            "REQ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "REQ on AD",
               Defn      => "Home (REQ) messages on AD.  REQ is generally used to send requests, request responses, and snoop responses.",
            },
            "SNP" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "SNP on AD",
               Defn      => "Snoops (SNP) messages on AD.  SNP is used for outgoing snoops.",
            },
            "RSP" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on AD",
               Defn      => "Response (RSP) messages on AD.  RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "WB" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "RSP on BL",
               Defn      => "Response (RSP) messages on BL. RSP packets are used to transmit a variety of protocol flits including grants and completions (CMP).",
            },
            "NCB" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "WB on BL",
               Defn      => "Data Response (WB) messages on BL.  WB is generally used to transmit data with coherency.  For example, remote reads and writes, or cache to cache transfers will transmit their data using WB.",
            },
            "NCS" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "NCB on BL",
               Defn      => "Non-Coherent Broadcast (NCB) messages on BL.  NCB is generally used to transmit data without coherency.  For example, non-coherent read data returns.",
            },
         },
      },
   },
   "PCU Box Events" =>
   {
      "CLOCKTICKS" =>
      {
         Box       => "PCU Box Events",
         Category  => "MEMORY_PHASE_SHEDDING Events",
         EvSel     => 0x00,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "pclk Cycles",
         Defn      => "The PCU runs off a fixed 1 GHz clock.  This event counts the number of pclk cycles measured while the counter was enabled.  The pclk, like the Memory Controller's dclk, counts at a constant rate making it a good measure of actual wall time.",
      },
      "CORE_TRANSITION_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "CORE_C_STATE_TRANSITION Events",
         EvSel     => 0x60,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "CTS_EVENT0" =>
      {
         Box       => "PCU Box Events",
         Category  => "Misc Events",
         EvSel     => 0x11,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "CTS_EVENT1" =>
      {
         Box       => "PCU Box Events",
         Category  => "Misc Events",
         EvSel     => 0x12,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "DEMOTIONS" =>
      {
         Box       => "PCU Box Events",
         Category  => "CORE_C_STATE_TRANSITION Events",
         EvSel     => 0x30,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "FIVR_PS_PS0_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "FIVR Events",
         EvSel     => 0x75,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Phase Shed 0 Cycles",
         Defn      => "Cycles spent in phase-shedding power state 0",
      },
      "FIVR_PS_PS1_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "FIVR Events",
         EvSel     => 0x76,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Phase Shed 1 Cycles",
         Defn      => "Cycles spent in phase-shedding power state 1",
      },
      "FIVR_PS_PS2_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "FIVR Events",
         EvSel     => 0x77,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Phase Shed 2 Cycles",
         Defn      => "Cycles spent in phase-shedding power state 2",
      },
      "FIVR_PS_PS3_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "FIVR Events",
         EvSel     => 0x78,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Phase Shed 3 Cycles",
         Defn      => "Cycles spent in phase-shedding power state 3",
      },
      "FREQ_MAX_LIMIT_THERMAL_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "FREQ_MAX_LIMIT Events",
         EvSel     => 0x04,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Thermal Strongest Upper Limit Cycles",
         Defn      => "Counts the number of cycles when thermal conditions are the upper limit on frequency.  This is related to the THERMAL_THROTTLE CYCLES_ABOVE_TEMP event, which always counts cycles when we are above the thermal temperature.  This event (STRONGEST_UPPER_LIMIT) is sampled at the output of the algorithm that determines the actual frequency, while THERMAL_THROTTLE looks at the input.",
      },
      "FREQ_MAX_POWER_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "FREQ_MAX_LIMIT Events",
         EvSel     => 0x05,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Power Strongest Upper Limit Cycles",
         Defn      => "Counts the number of cycles when power is the upper limit on frequency.",
      },
      "FREQ_MIN_IO_P_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "FREQ_MIN_LIMIT Events",
         EvSel     => 0x73,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "IO P Limit Strongest Lower Limit Cycles",
         Defn      => "Counts the number of cycles when IO P Limit is preventing us from dropping the frequency lower.  This algorithm monitors the needs to the IO subsystem on both local and remote sockets and will maintain a frequency high enough to maintain good IO BW.  This is necessary for when all the IA cores on a socket are idle but a user still would like to maintain high IO Bandwidth.",
      },
      "FREQ_TRANS_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "FREQ_TRANS Events",
         EvSel     => 0x74,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles spent changing Frequency",
         Defn      => "Counts the number of cycles when the system is changing frequency.  This can not be filtered by thread ID.  One can also use it with the occupancy counter that monitors number of threads in C0 to estimate the performance impact that frequency transitions had on the system.",
      },
      "MCP_PROCHOT_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "PROCHOT Events",
         EvSel     => 0x06,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "MEMORY_PHASE_SHEDDING_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "MEMORY_PHASE_SHEDDING Events",
         EvSel     => 0x2F,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Memory Phase Shedding Cycles",
         Defn      => "Counts the number of cycles that the PCU has triggered memory phase shedding.  This is a mode that can be run in the iMC physicals that saves power at the expense of additional latency.",
         Notes     => "Package C1",
      },
      "PKG_RESIDENCY_C0_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "PKG_C_STATE_RESIDENCY Events",
         EvSel     => 0x2A,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Package C State Residency - C0",
         Defn      => "Counts the number of cycles when the package was in C0.  This event can be used in conjunction with edge detect to count C0 entrances (or exits using invert).  Residency events do not include transition times.",
      },
      "PKG_RESIDENCY_C2E_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "PKG_C_STATE_RESIDENCY Events",
         EvSel     => 0x2B,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Package C State Residency - C2E",
         Defn      => "Counts the number of cycles when the package was in C2E.  This event can be used in conjunction with edge detect to count C2E entrances (or exits using invert).  Residency events do not include transition times.",
      },
      "PKG_RESIDENCY_C3_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "PKG_C_STATE_RESIDENCY Events",
         EvSel     => 0x2C,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Package C State Residency - C3",
         Defn      => "Counts the number of cycles when the package was in C3.  This event can be used in conjunction with edge detect to count C3 entrances (or exits using invert).  Residency events do not include transition times.",
      },
      "PKG_RESIDENCY_C6_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "PKG_C_STATE_RESIDENCY Events",
         EvSel     => 0x2D,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Package C State Residency - C6",
         Defn      => "Counts the number of cycles when the package was in C6.  This event can be used in conjunction with edge detect to count C6 entrances (or exits using invert).  Residency events do not include transition times.",
      },
      "PMAX_THROTTLED_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "FREQ_MAX_LIMIT Events",
         EvSel     => 0x07,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "PROCHOT_EXTERNAL_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "PROCHOT Events",
         EvSel     => 0x0A,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "External Prochot",
         Defn      => "Counts the number of cycles that we are in external PROCHOT mode.  This mode is triggered when a sensor off the die determines that something off-die (like DRAM) is too hot and must throttle to avoid damaging the chip.",
      },
      "PROCHOT_INTERNAL_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "PROCHOT Events",
         EvSel     => 0x09,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Internal Prochot",
         Defn      => "Counts the number of cycles that we are in Interal PROCHOT mode.  This mode is triggered when a sensor on the die determines that we are too hot and must throttle to avoid damaging the chip.",
      },
      "TOTAL_TRANSITION_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "CORE_C_STATE_TRANSITION Events",
         EvSel     => 0x72,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Total Core C State Transition Cycles",
         Defn      => "Number of cycles spent performing core C state transitions across all cores.",
      },
      "VR_HOT_CYCLES" =>
      {
         Box       => "PCU Box Events",
         Category  => "VR_HOT Events",
         EvSel     => 0x42,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VR Hot",
         Defn      => "",
      },
   },
   "UBOX Box Events" =>
   {
      "EVENT_MSG" =>
      {
         Box       => "UBOX Box Events",
         Category  => "EVENT_MSG Events",
         EvSel     => 0x42,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Message Received",
         Defn      => "Virtual Logical Wire (legacy) message were received from Uncore.",
         Subevents =>
         {
            "VLW_RCVD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "VLW",
               Defn      => "",
            },
            "MSI_RCVD" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "MSI",
               Defn      => "Message Signaled Interrupts - interrupts sent by devices (including PCIe via IOxAPIC) (Socket Mode only)",
            },
            "IPI_RCVD" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "IPI",
               Defn      => "Inter Processor Interrupts",
            },
            "DOORBELL_RCVD" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "INT_PRIO" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "LOCK_CYCLES" =>
      {
         Box       => "UBOX Box Events",
         Category  => "LOCK Events",
         EvSel     => 0x44,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "IDI Lock/SplitLock Cycles",
         Defn      => "Number of times an IDI Lock/SplitLock sequence was started",
      },
      "PHOLD_CYCLES" =>
      {
         Box       => "UBOX Box Events",
         Category  => "PHOLD Events",
         EvSel     => 0x45,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles PHOLD Assert to Ack",
         Defn      => "PHOLD cycles.",
         Subevents =>
         {
            "ASSERT_TO_ACK" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Assert to ACK",
               Defn      => "",
            },
         },
      },
      "RACU_DRNG" =>
      {
         Box       => "UBOX Box Events",
         Category  => "RACU Events",
         EvSel     => 0x4C,
         Counters  => "",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "RDRAND" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "RDSEED" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "PFTCH_BUF_EMPTY" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "RACU_REQUESTS" =>
      {
         Box       => "UBOX Box Events",
         Category  => "RACU Events",
         EvSel     => 0x46,
         Counters  => "0-1",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RACU Request",
         Defn      => "Number outstanding register requests within message channel tracker",
      },
   },
   "UPI LL Box Events" =>
   {
      "CLOCKTICKS" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "CFCLK Events",
         EvSel     => 0x01,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number of kfclks",
         Defn      => "Counts the number of clocks in the UPI LL.  This clock runs at 1/8th the \"GT/s\" speed of the UPI link.  For example, a 8GT/s link will have qfclk or 1GHz.  Current products do not support dynamic link speeds, so this frequency is fixed.",
      },
      "DIRECT_ATTEMPTS" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "DIRECT2CORE Events",
         EvSel     => 0x12,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Direct packet attempts",
         Defn      => "Counts the number of Data Response(DRS) packets UPI attempted to send directly to the core or to a different UPI link.    Note:  This only counts attempts on valid candidates such as DRS packets destined for CHAs.",
         Subevents =>
         {
            "D2C" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Direct 2 Core",
               Defn      => "",
            },
            "D2U" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Direct 2 UPI",
               Defn      => "",
            },
         },
      },
      "FLOWQ_NO_VNA_CRD" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "LL to M3 Events",
         EvSel     => 0x18,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "AD_VNA_EQ0" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AD_VNA_EQ1" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AD_VNA_EQ2" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BL_VNA_EQ0" =>
            {
               Umask     => "bxxxx1xxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_VNA_EQ0" =>
            {
               Umask     => "bxxx1xxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_VNA_EQ1" =>
            {
               Umask     => "bxx1xxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_VNA_EQ2" =>
            {
               Umask     => "bx1xxxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "AK_VNA_EQ3" =>
            {
               Umask     => "b1xxxxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "L1_POWER_CYCLES" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER Events",
         EvSel     => 0x21,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles in L1",
         Defn      => "Number of UPI qfclk cycles spent in L1 power mode.  L1 is a mode that totally shuts down a UPI link.  Use edge detect to count the number of instances when the UPI link entered L1.  Link power states are per link and per direction, so for example the Tx direction could be in one state while Rx was in another. Because L1 totally shuts down the link, it takes a good amount of time to exit this mode.",
      },
      "M3_BYP_BLOCKED" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "LL to M3 Events",
         EvSel     => 0x14,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "FLOWQ_AD_VNA_LE2" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "FLOWQ_BL_VNA_EQ0" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "FLOWQ_AK_VNA_LE3" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BGF_CRD" =>
            {
               Umask     => "bxxxx1xxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "GV_BLOCK" =>
            {
               Umask     => "bxxx1xxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "M3_CRD_RETURN_BLOCKED" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "LL to M3 Events",
         EvSel     => 0x16,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "M3_RXQ_BLOCKED" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "LL to M3 Events",
         EvSel     => 0x15,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "FLOWQ_AD_VNA_LE2" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "FLOWQ_AD_VNA_BTW_2_THRESH" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "FLOWQ_BL_VNA_EQ0" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "FLOWQ_BL_VNA_BTW_0_THRESH" =>
            {
               Umask     => "bxxxx1xxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "FLOWQ_AK_VNA_LE3" =>
            {
               Umask     => "bxxx1xxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "BGF_CRD" =>
            {
               Umask     => "bxx1xxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "GV_BLOCK" =>
            {
               Umask     => "bx1xxxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "PHY_INIT_CYCLES" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER Events",
         EvSel     => 0x20,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles where phy is not in L0, L0c, L0p, L1",
         Defn      => "",
      },
      "POWER_L1_NACK" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER Events",
         EvSel     => 0x23,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "L1 Req Nack",
         Defn      => "Counts the number of times a link sends/receives a LinkReqNAck.  When the UPI links would like to change power state, the Tx side initiates a request to the Rx side requesting to change states.  This requests can either be accepted or denied.  If the Rx side replies with an Ack, the power mode will change.  If it replies with NAck, no change will take place.  This can be filtered based on Rx and Tx.  An Rx LinkReqNAck refers to receiving an NAck (meaning this agent's Tx originally requested the power change).  A Tx LinkReqNAck refers to sending this command (meaning the peer agent's Tx originally requested the power change and this agent accepted it).",
         Notes     => "L1 only",
      },
      "POWER_L1_REQ" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER Events",
         EvSel     => 0x22,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "L1 Req (same as L1 Ack).",
         Defn      => "Counts the number of times a link sends/receives a LinkReqAck.  When the UPI links would like to change power state, the Tx side initiates a request to the Rx side requesting to change states.  This requests can either be accepted or denied.  If the Rx side replies with an Ack, the power mode will change.  If it replies with NAck, no change will take place.  This can be filtered based on Rx and Tx.  An Rx LinkReqAck refers to receiving an Ack (meaning this agent's Tx originally requested the power change).  A Tx LinkReqAck refers to sending this command (meaning the peer agent's Tx originally requested the power change and this agent accepted it).",
         Notes     => "L1 only",
      },
      "REQ_SLOT2_FROM_M3" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "VNA_CREDIT_RETURN Events",
         EvSel     => 0x46,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "VNA" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "VN0" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "VN1" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "ACK" =>
            {
               Umask     => "bxxxx1xxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "RxL0P_POWER_CYCLES" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER_RX Events",
         EvSel     => 0x25,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles link in L0p.  Receive side.",
         Defn      => "Number of UPI qfclk cycles spent in L0p power mode.  L0p is a mode where we disable 60% of the UPI lanes, decreasing our bandwidth in order to save power.  It increases snoop and data transfer latencies and decreases overall bandwidth.  This mode can be very useful in NUMA optimized workloads that largely only utilize UPI for snoops and their responses.  Use edge detect to count the number of instances when the UPI link entered L0p.  Link power states are per link and per direction, so for example the Tx direction could be in one state while Rx was in another.",
         Notes     => "Using .edge_det to count transitions does not function if L1_POWER_CYCLES > 0.",
      },
      "RxL0_POWER_CYCLES" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER_RX Events",
         EvSel     => 0x24,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles in L0. Receive side.",
         Defn      => "Number of UPI qfclk cycles spent in L0 power mode in the Link Layer.  L0 is the default mode which provides the highest performance with the most power.  Use edge detect to count the number of instances that the link entered L0.  Link power states are per link and per direction, so for example the Tx direction could be in one state while Rx was in another.  The phy layer  sometimes leaves L0 for training, which will not be captured by this event.",
      },
      "RxL_BASIC_HDR_MATCH" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "FLIT match Events",
         EvSel     => 0x05,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "CtrCtrl[55:32]",
         MaxIncCyc => 0,
         Desc      => "Matches on Receive path of a UPI Port",
         Defn      => "",
         Notes     => "This event is subject to finer grain filtering.   See doc for more information.  Filters available in the counter control's umask extention field b[55:32] - message class, opcode, local, remote, datahdr, ndatahdr, dual slot header, single slot header and pe) ANDed per Slot.   Then slots are ORed.",
         Subevents =>
         {
            "REQ" =>
            {
               Umask     => "bxxxx1000",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Request",
               Defn      => "REQ Message Class",
            },
            "REQ_OPC" =>
            {
               Umask     => "bXXXX1000",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Request Opcode",
               Defn      => "Match REQ Opcodes - Specified in Umask[7:4]",
            },
            "SNP" =>
            {
               Umask     => "bxxxx1001",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoop",
               Defn      => "SNP Message Class",
            },
            "SNP_OPC" =>
            {
               Umask     => "bXXXX1001",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoop Opcode",
               Defn      => "Match SNP Opcodes - Specified in Umask[7:4]",
            },
            "RSP_NODATA" =>
            {
               Umask     => "bxxxx1010",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - No Data",
               Defn      => "Match Message Class - RSP",
            },
            "RSP_NODATA_OPC" =>
            {
               Umask     => "bXXXX1010",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - No Data",
               Defn      => "Match Message Class - RSP",
            },
            "RSP_DATA" =>
            {
               Umask     => "bxxxx1100",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - Data",
               Defn      => "Match Message Class -WB",
            },
            "RSP_DATA_OPC" =>
            {
               Umask     => "bXXXX1100",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - Data",
               Defn      => "Match Message Class -WB",
            },
            "WB" =>
            {
               Umask     => "bxxxx1101",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Writeback",
               Defn      => "Match Message Class -WB",
            },
            "WB_OPC" =>
            {
               Umask     => "bxxxx1101",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Writeback",
               Defn      => "Match Message Class -WB",
            },
            "NCB" =>
            {
               Umask     => "bxxxx1110",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-Coherent Bypass",
               Defn      => "Match Message Class - NCB",
            },
            "NCB_OPC" =>
            {
               Umask     => "bxxxx1110",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-Coherent Bypass",
               Defn      => "Match Message Class - NCB",
            },
            "NCS" =>
            {
               Umask     => "bxxxx1111",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-Coherent Standard",
               Defn      => "Match Message Class - NCS",
            },
            "NCS_OPC" =>
            {
               Umask     => "bxxxx1111",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-Coherent Standard",
               Defn      => "Match Message Class - NCS",
            },
            "RSPCNFLT" =>
            {
               Umask     => "b10101010",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - Conflict",
               Defn      => "",
            },
            "RSPI" =>
            {
               Umask     => "b00101010",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - Invalid",
               Defn      => "",
            },
         },
      },
      "RxL_BYPASSED" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "RXQ Events",
         EvSel     => 0x31,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RxQ Flit Buffer Bypassed",
         Defn      => "Counts the number of times that an incoming flit was able to bypass the flit buffer and pass directly and into the Egress.  This is a latency optimization, and should generally be the common case.  If this value is less than the number of flits transfered, it implies that there was queueing getting onto the ring, and thus the transactions saw higher latency.",
         Subevents =>
         {
            "SLOT0" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 0",
               Defn      => "",
            },
            "SLOT1" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 1",
               Defn      => "",
            },
            "SLOT2" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 2",
               Defn      => "",
            },
         },
      },
      "RxL_CREDITS_CONSUMED_VN0" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "RX_CREDITS_CONSUMED Events",
         EvSel     => 0x39,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN0 Credit Consumed",
         Defn      => "Counts the number of times that an RxQ VN0 credit was consumed (i.e. message uses a VN0 credit for the Rx Buffer).  This includes packets that went through the RxQ and those that were bypasssed.",
      },
      "RxL_CREDITS_CONSUMED_VN1" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "RX_CREDITS_CONSUMED Events",
         EvSel     => 0x3A,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VN1 Credit Consumed",
         Defn      => "Counts the number of times that an RxQ VN1 credit was consumed (i.e. message uses a VN1 credit for the Rx Buffer).  This includes packets that went through the RxQ and those that were bypasssed.",
      },
      "RxL_CREDITS_CONSUMED_VNA" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "RX_CREDITS_CONSUMED Events",
         EvSel     => 0x38,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VNA Credit Consumed",
         Defn      => "Counts the number of times that an RxQ VNA credit was consumed (i.e. message uses a VNA credit for the Rx Buffer).  This includes packets that went through the RxQ and those that were bypasssed.",
      },
      "RxL_FLITS" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "Flit Events",
         EvSel     => 0x03,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Valid Flits Received",
         Defn      => "Shows legal flit time (hides impact of L0p and L0c).",
         Notes     => "When Umask is set to all 1's then  all Flits should be counted as 3 since a full flit is counted for each valid slot.  By counting all legal flit time we exclude  impact of L0p, L0c, and the 5/6 ratio in L0.   Slot 0 Dual is counted in slot 0 and slot 1 (as a protocol header)",
         Subevents =>
         {
            "SLOT0" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 0",
               Defn      => "Count Slot 0 - Other mask bits determine types of headers to count.",
            },
            "SLOT1" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 1",
               Defn      => "Count Slot 1 - Other mask bits determine types of headers to count.",
            },
            "SLOT2" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 2",
               Defn      => "Count Slot 2 - Other mask bits determine types of headers to count.",
            },
            "DATA" =>
            {
               Umask     => "bxxxx1xxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Data",
               Defn      => "Count Data Flits (which consume all slots), but how much to count is based on Slot0-2 mask, so count can be 0-3 depending on which slots are enabled for counting..",
            },
            "LLCRD" =>
            {
               Umask     => "bxxx1xxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "LLCRD Not Empty",
               Defn      => "Enables counting of LLCRD (with non-zero payload). This only applies to slot 2 since LLCRD is only allowed in slot 2",
            },
            "NULL" =>
            {
               Umask     => "bxx1xxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot NULL or LLCRD Empty",
               Defn      => "LLCRD with all zeros is treated as NULL. Slot 1 is not treated as NULL if slot 0 is a dual slot. This can apply to slot 0,1, or 2.",
            },
            "LLCTRL" =>
            {
               Umask     => "bx1xxxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "LLCTRL",
               Defn      => "Equivalent to an idle packet.  Enables counting of slot 0 LLCTRL messages.",
            },
            "PROTHDR" =>
            {
               Umask     => "b1xxxxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Protocol Header",
               Defn      => "Enables count of protocol headers in slot 0,1,2 (depending on slot uMask bits)",
            },
            "ALL_DATA" =>
            {
               Umask     => "b00001111",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "All Data",
               Defn      => "",
            },
            "NON_DATA" =>
            {
               Umask     => "b10010111",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "All Non Data",
               Defn      => "",
            },
            "ALL_NULL" =>
            {
               Umask     => "b00100111",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "All Null Slots",
               Defn      => "",
            },
            "IDLE" =>
            {
               Umask     => "b01000111",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Idle",
               Defn      => "",
            },
         },
      },
      "RxL_INSERTS" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "RXQ Events",
         EvSel     => 0x30,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RxQ Flit Buffer Allocations",
         Defn      => "Number of allocations into the UPI Rx Flit Buffer.  Generally, when data is transmitted across UPI, it will bypass the RxQ and pass directly to the ring interface.  If things back up getting transmitted onto the ring, however, it may need to allocate into this buffer, thus increasing the latency.  This event can be used in conjunction with the Flit Buffer Occupancy event in order to calculate the average flit buffer lifetime.",
         Subevents =>
         {
            "SLOT0" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 0",
               Defn      => "",
            },
            "SLOT1" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 1",
               Defn      => "",
            },
            "SLOT2" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 2",
               Defn      => "",
            },
         },
      },
      "RxL_OCCUPANCY" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "RXQ Events",
         EvSel     => 0x32,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RxQ Occupancy - All Packets",
         Defn      => "Accumulates the number of elements in the UPI RxQ in each cycle.  Generally, when data is transmitted across UPI, it will bypass the RxQ and pass directly to the ring interface.  If things back up getting transmitted onto the ring, however, it may need to allocate into this buffer, thus increasing the latency.  This event can be used in conjunction with the Flit Buffer Not Empty event to calculate average occupancy, or with the Flit Buffer Allocations event to track average lifetime.",
         Subevents =>
         {
            "SLOT0" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 0",
               Defn      => "",
            },
            "SLOT1" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 1",
               Defn      => "",
            },
            "SLOT2" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 2",
               Defn      => "",
            },
         },
      },
      "RxL_SLOT_BYPASS" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "RXQ Events",
         EvSel     => 0x33,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "S0_RXQ1" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "S0_RXQ2" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "S1_RXQ0" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "S1_RXQ2" =>
            {
               Umask     => "bxxxx1xxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "S2_RXQ0" =>
            {
               Umask     => "bxxx1xxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "S2_RXQ1" =>
            {
               Umask     => "bxx1xxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "TxL0P_CLK_ACTIVE" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER_TX Events",
         EvSel     => 0x2A,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "CFG_CTL" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "RXQ" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "RXQ_BYPASS" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "RXQ_CRED" =>
            {
               Umask     => "bxxxx1xxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "TXQ" =>
            {
               Umask     => "bxxx1xxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "RETRY" =>
            {
               Umask     => "bxx1xxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "DFX" =>
            {
               Umask     => "bx1xxxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "SPARE" =>
            {
               Umask     => "b1xxxxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "TxL0P_POWER_CYCLES" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER_TX Events",
         EvSel     => 0x27,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles in L0p. Transmit side.",
         Defn      => "Number of UPI qfclk cycles spent in L0p power mode.  L0p is a mode where we disable 60% of the UPI lanes, decreasing our bandwidth in order to save power.  It increases snoop and data transfer latencies and decreases overall bandwidth.  This mode can be very useful in NUMA optimized workloads that largely only utilize UPI for snoops and their responses.  Use edge detect to count the number of instances when the UPI link entered L0p.  Link power states are per link and per direction, so for example the Tx direction could be in one state while Rx was in another.",
         Notes     => "Using .edge_det to count transitions does not function if L1_POWER_CYCLES > 0.",
      },
      "TxL0P_POWER_CYCLES_LL_ENTER" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER_TX Events",
         EvSel     => 0x28,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "TxL0P_POWER_CYCLES_M3_EXIT" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER_TX Events",
         EvSel     => 0x29,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "TxL0_POWER_CYCLES" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "POWER_TX Events",
         EvSel     => 0x26,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles in L0. Transmit side.",
         Defn      => "Number of UPI qfclk cycles spent in L0 power mode in the Link Layer.  L0 is the default mode which provides the highest performance with the most power.  Use edge detect to count the number of instances that the link entered L0.  Link power states are per link and per direction, so for example the Tx direction could be in one state while Rx was in another.  The phy layer  sometimes leaves L0 for training, which will not be captured by this event.",
         Notes     => "Includes L0p cycles.  To get just L0, subtract TxL0P_POWER_CYCLES",
      },
      "TxL_BASIC_HDR_MATCH" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "FLIT match Events",
         EvSel     => 0x04,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "CtrCtrl[55:32]",
         MaxIncCyc => 0,
         Desc      => "Matches on Transmit path of a UPI Port",
         Defn      => "",
         Notes     => "This event is subject to finer grain filtering.   See doc for more information.  Filters available in the counter control's umask extention field b[55:32] - message class, opcode, local, remote, datahdr, ndatahdr, dual slot header, single slot header and pe) ANDed per Slot.   Then slots are ORed.",
         Subevents =>
         {
            "REQ" =>
            {
               Umask     => "bxxxx1000",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Request",
               Defn      => "REQ Message Class",
            },
            "REQ_OPC" =>
            {
               Umask     => "bXXXX1000",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Request Opcode",
               Defn      => "Match REQ Opcodes - Specified in Umask[7:4]",
            },
            "SNP" =>
            {
               Umask     => "bxxxx1001",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoop",
               Defn      => "SNP Message Class",
            },
            "SNP_OPC" =>
            {
               Umask     => "bXXXX1001",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Snoop Opcode",
               Defn      => "Match SNP Opcodes - Specified in Umask[7:4]",
            },
            "RSP_NODATA" =>
            {
               Umask     => "bxxxx1010",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - No Data",
               Defn      => "Match Message Class - RSP",
            },
            "RSP_NODATA_OPC" =>
            {
               Umask     => "bXXXX1010",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - No Data",
               Defn      => "Match Message Class - RSP",
            },
            "RSP_DATA" =>
            {
               Umask     => "bxxxx1100",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - Data",
               Defn      => "Match Message Class -WB",
            },
            "RSP_DATA_OPC" =>
            {
               Umask     => "bXXXX1100",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - Data",
               Defn      => "Match Message Class -WB",
            },
            "WB" =>
            {
               Umask     => "bxxxx1101",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Writeback",
               Defn      => "Match Message Class -WB",
            },
            "WB_OPC" =>
            {
               Umask     => "bxxxx1101",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Writeback",
               Defn      => "Match Message Class -WB",
            },
            "NCB" =>
            {
               Umask     => "bxxxx1110",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-Coherent Bypass",
               Defn      => "Match Message Class - NCB",
            },
            "NCB_OPC" =>
            {
               Umask     => "bxxxx1110",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-Coherent Bypass",
               Defn      => "Match Message Class - NCB",
            },
            "NCS" =>
            {
               Umask     => "bxxxx1111",
               UmaskExt  => "0x0",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-Coherent Standard",
               Defn      => "Match Message Class - NCS",
            },
            "NCS_OPC" =>
            {
               Umask     => "bxxxx1111",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Non-Coherent Standard",
               Defn      => "Match Message Class - NCS",
            },
            "RSPCNFLT" =>
            {
               Umask     => "b10101010",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - Conflict",
               Defn      => "",
            },
            "RSPI" =>
            {
               Umask     => "b00101010",
               UmaskExt  => "0x1",
               Counters  => "",
               Filter    => "",
               Desc      => "Response - Invalid",
               Defn      => "",
            },
         },
      },
      "TxL_BYPASSED" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "TXQ Events",
         EvSel     => 0x41,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Tx Flit Buffer Bypassed",
         Defn      => "Counts the number of times that an incoming flit was able to bypass the Tx flit buffer and pass directly out the UPI Link. Generally, when data is transmitted across UPI, it will bypass the TxQ and pass directly to the link.  However, the TxQ will be used with L0p and when LLR occurs, increasing latency to transfer out to the link.",
      },
      "TxL_FLITS" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "Flit Events",
         EvSel     => 0x02,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Valid Flits Sent",
         Defn      => "Shows legal flit time (hides impact of L0p and L0c).",
         Notes     => "You can OR any of 5 MSB together and apply against any combination of slots and they will be added together, but a slot MUST be selected.",
         Subevents =>
         {
            "SLOT0" =>
            {
               Umask     => "bxxxxxxx1",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 0",
               Defn      => "Count Slot 0 - Other mask bits determine types of headers to count.",
            },
            "SLOT1" =>
            {
               Umask     => "bxxxxxx1x",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 1",
               Defn      => "Count Slot 1 - Other mask bits determine types of headers to count.",
            },
            "SLOT2" =>
            {
               Umask     => "bxxxxx1xx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot 2",
               Defn      => "Count Slot 2 - Other mask bits determine types of headers to count.",
            },
            "DATA" =>
            {
               Umask     => "bxxxx1xxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Data",
               Defn      => "Count Data Flits (which consume all slots), but how much to count is based on Slot0-2 mask, so count can be 0-3 depending on which slots are enabled for counting..",
            },
            "LLCRD" =>
            {
               Umask     => "bxxx1xxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "LLCRD Not Empty",
               Defn      => "Enables counting of LLCRD (with non-zero payload). This only applies to slot 2 since LLCRD is only allowed in slot 2",
            },
            "NULL" =>
            {
               Umask     => "bxx1xxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Slot NULL or LLCRD Empty",
               Defn      => "LLCRD with all zeros is treated as NULL. Slot 1 is not treated as NULL if slot 0 is a dual slot. This can apply to slot 0,1, or 2.",
            },
            "LLCTRL" =>
            {
               Umask     => "bx1xxxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "LLCTRL",
               Defn      => "Equivalent to an idle packet.  Enables counting of slot 0 LLCTRL messages.",
            },
            "PROTHDR" =>
            {
               Umask     => "b1xxxxxxx",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Protocol Header",
               Defn      => "Enables count of protocol headers in slot 0,1,2 (depending on slot uMask bits)",
            },
            "ALL_DATA" =>
            {
               Umask     => "b00001111",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "All Data",
               Defn      => "",
            },
            "NON_DATA" =>
            {
               Umask     => "b10010111",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "All Non Data",
               Defn      => "",
            },
            "ALL_NULL" =>
            {
               Umask     => "b00100111",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "All Null Slots",
               Defn      => "",
            },
            "IDLE" =>
            {
               Umask     => "b01000111",
               UmaskExt  => "",
               Counters  => "",
               Filter    => "",
               Desc      => "Idle",
               Defn      => "",
            },
         },
      },
      "TxL_INSERTS" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "TXQ Events",
         EvSel     => 0x40,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Tx Flit Buffer Allocations",
         Defn      => "Number of allocations into the UPI Tx Flit Buffer.  Generally, when data is transmitted across UPI, it will bypass the TxQ and pass directly to the link.  However, the TxQ will be used with L0p and when LLR occurs, increasing latency to transfer out to the link.  This event can be used in conjunction with the Flit Buffer Occupancy event in order to calculate the average flit buffer lifetime.",
      },
      "TxL_OCCUPANCY" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "TXQ Events",
         EvSel     => 0x42,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Tx Flit Buffer Occupancy",
         Defn      => "Accumulates the number of flits in the TxQ.  Generally, when data is transmitted across UPI, it will bypass the TxQ and pass directly to the link.  However, the TxQ will be used with L0p and when LLR occurs, increasing latency to transfer out to the link. This can be used with the cycles not empty event to track average occupancy, or the allocations event to track average lifetime in the TxQ.",
      },
      "VNA_CREDIT_RETURN_BLOCKED_VN01" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "VNA_CREDIT_RETURN Events",
         EvSel     => 0x45,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "VNA_CREDIT_RETURN_OCCUPANCY" =>
      {
         Box       => "UPI LL Box Events",
         Category  => "VNA_CREDIT_RETURN Events",
         EvSel     => 0x44,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "VNA Credits Pending Return - Occupancy",
         Defn      => "Number of VNA credits in the Rx side that are waitng to be returned back across the link.",
      },
   },
   "iMC Box Events" =>
   {
      "ACT_COUNT" =>
      {
         Box       => "iMC Box Events",
         Category  => "ACT Events",
         EvSel     => 0x01,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "DRAM Activate Count",
         Defn      => "Counts the number of DRAM Activate commands sent on this channel.  Activate commands are issued to open up a page on the DRAM devices so that it can be read or written to with a CAS.  One can calculate the number of Page Misses by subtracting the number of Page Miss precharges from the number of Activates.",
         Subevents =>
         {
            "RD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Activate due to Read",
               Defn      => "",
            },
            "WR" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Activate due to Write",
               Defn      => "",
            },
            "BYP" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Activate due to Bypass",
               Defn      => "",
            },
         },
      },
      "BYP_CMDS" =>
      {
         Box       => "iMC Box Events",
         Category  => "BYPASS Command Events",
         EvSel     => 0xA1,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "ACT" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "ACT command issued by 2 cycle bypass",
               Defn      => "",
            },
            "CAS" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "CAS command issued by 2 cycle bypass",
               Defn      => "",
            },
            "PRE" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "PRE command issued by 2 cycle bypass",
               Defn      => "",
            },
         },
      },
      "CAS_COUNT" =>
      {
         Box       => "iMC Box Events",
         Category  => "PRE Events",
         EvSel     => 0x04,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "DRAM CAS (Column Address Strobe) Commands.",
         Defn      => "",
         Subevents =>
         {
            "RD_REG" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "All read CAS (w/ and w/out auto-pre)",
               Defn      => "Counts the total number or DRAM Read CAS commands issued on this channel.  This includes both regular RD CAS commands as well as those with implicit Precharge.  AutoPre is only used in systems that are using closed page policy.  We do not filter based on major mode, as RD_CAS is not issued during WMM (with the exception of underfills).",
            },
            "RD_UNDERFILL" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Underfill Read Issued",
               Defn      => "Counts the number of underfill reads that are issued by the memory controller.  This will generally be about the same as the number of partial writes, but may be slightly less because of partials hitting in the WPQ.  While it is possible for underfills to be issed in both WMM and RMM, this event counts both.",
            },
            "RD" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "All DRAM Reads (includes underfills)",
               Defn      => "Counts the total number of DRAM Read CAS commands issued on this channel (including underfills).",
            },
            "WR_WMM" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "DRAM WR_CAS (w/ and w/out auto-pre) in Write Major Mode",
               Defn      => "Counts the total number or DRAM Write CAS commands issued on this channel while in Write-Major-Mode.",
            },
            "WR_RMM" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "DRAM WR_CAS (w/ and w/out auto-pre) in Read Major Mode",
               Defn      => "Counts the total number of Opportunistic\" DRAM Write CAS commands issued on this channel while in Read-Major-Mode.",
            },
            "WR" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "All DRAM WR_CAS (both Modes)",
               Defn      => "Counts the total number of DRAM Write CAS commands issued on this channel.",
            },
            "ALL" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "All CASes issued.",
               Defn      => "Counts the total number of DRAM CAS commands issued on this channel.",
            },
            "RD_WMM" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read CAS issued in WMM",
               Defn      => "",
            },
            "RD_RMM" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read CAS issued in RMM",
               Defn      => "",
            },
            "RD_ISOCH" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read CAS issued in Read ISOCH Mode",
               Defn      => "",
            },
            "WR_ISOCH" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read CAS issued in Write ISOCH Mode",
               Defn      => "",
            },
         },
      },
      "CLOCKTICKS" =>
      {
         Box       => "iMC Box Events",
         Category  => "DCLK Events",
         EvSel     => 0x00,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "DRAM Clockticks",
         Defn      => "",
      },
      "DRAM_PRE_ALL" =>
      {
         Box       => "iMC Box Events",
         Category  => "DRAM_PRE_ALL Events",
         EvSel     => 0x06,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "DRAM Precharge All Commands",
         Defn      => "Counts the number of times that the precharge all command was sent.",
      },
      "DRAM_REFRESH" =>
      {
         Box       => "iMC Box Events",
         Category  => "DRAM_REFRESH Events",
         EvSel     => 0x05,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Number of DRAM Refreshes Issued",
         Defn      => "Counts the number of refreshes issued.",
         Subevents =>
         {
            "PANIC" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "HIGH" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "ECC_CORRECTABLE_ERRORS" =>
      {
         Box       => "iMC Box Events",
         Category  => "ECC Events",
         EvSel     => 0x09,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "ECC Correctable Errors",
         Defn      => "Counts the number of ECC errors detected and corrected by the iMC on this channel.  This counter is only useful with ECC DRAM devices.  This count will increment one time for each correction regardless of the number of bits corrected.  The iMC can correct up to 4 bit errors in independent channel mode and 8 bit erros in lockstep mode.",
      },
      "MAJOR_MODES" =>
      {
         Box       => "iMC Box Events",
         Category  => "MAJOR_MODES Events",
         EvSel     => 0x07,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Cycles in a Major Mode",
         Defn      => "Counts the total number of cycles spent in a major mode (selected by a filter) on the given channel.   Major modea are channel-wide, and not a per-rank (or dimm or bank) mode.",
         Subevents =>
         {
            "READ" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Read Major Mode",
               Defn      => "Read Major Mode is the default mode for the iMC, as reads are generally more critical to forward progress than writes.",
            },
            "WRITE" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Write Major Mode",
               Defn      => "This mode is triggered when the WPQ hits high occupancy and causes writes to be higher priority than reads.  This can cause blips in the available read bandwidth in the system and temporarily increase read latencies in order to achieve better bus utilizations and higher bandwidth.",
            },
            "PARTIAL" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Partial Major Mode",
               Defn      => "This major mode is used to drain starved underfill reads.  Regular reads and writes are blocked and only underfill reads will be processed.",
            },
            "ISOCH" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Isoch Major Mode",
               Defn      => "We group these two modes together so that we can use four counters to track each of the major modes at one time.  These major modes are used whenever there is an ISOCH txn in the memory controller.  In these mode, only ISOCH transactions are processed.",
            },
         },
      },
      "POWER_CHANNEL_DLLOFF" =>
      {
         Box       => "iMC Box Events",
         Category  => "POWER Events",
         EvSel     => 0x84,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Channel DLLOFF Cycles",
         Defn      => "Number of cycles when all the ranks in the channel are in CKE Slow (DLLOFF) mode.",
         Notes     => "IBT = Input Buffer Termination = Off",
      },
      "POWER_CHANNEL_PPD" =>
      {
         Box       => "iMC Box Events",
         Category  => "POWER Events",
         EvSel     => 0x85,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Channel PPD Cycles",
         Defn      => "Number of cycles when all the ranks in the channel are in PPD mode.  If IBT=off is enabled, then this can be used to count those cycles.  If it is not enabled, then this can count the number of cycles when that could have been taken advantage of.",
         Notes     => "IBT = Input Buffer Termination = On",
      },
      "POWER_CKE_CYCLES" =>
      {
         Box       => "iMC Box Events",
         Category  => "POWER Events",
         EvSel     => 0x83,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "CKE_ON_CYCLES by Rank",
         Defn      => "Number of cycles spent in CKE ON mode.  The filter allows you to select a rank to monitor.  If multiple ranks are in CKE ON mode at one time, the counter will ONLY increment by one rather than doing accumulation.  Multiple counters will need to be used to track multiple ranks simultaneously.  There is no distinction between the different CKE modes (APD, PPDS, PPDF).  This can be determined based on the system programming.  These events should commonly be used with Invert to get the number of cycles in power saving mode.  Edge Detect is also useful here.  Make sure that you do NOT use Invert with Edge Detect (this just confuses the system and is not necessary).",
         Subevents =>
         {
            "RANK0" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK1" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK2" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK3" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK4" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK5" =>
            {
               Umask     => "b00100000",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK6" =>
            {
               Umask     => "b01000000",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK7" =>
            {
               Umask     => "b10000000",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
         },
      },
      "POWER_CRITICAL_THROTTLE_CYCLES" =>
      {
         Box       => "iMC Box Events",
         Category  => "POWER Events",
         EvSel     => 0x86,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Critical Throttle Cycles",
         Defn      => "Counts the number of cycles when the iMC is in critical thermal throttling.  When this happens, all traffic is blocked.  This should be rare unless something bad is going on in the platform.  There is no filtering by rank for this event.",
      },
      "POWER_PCU_THROTTLING" =>
      {
         Box       => "iMC Box Events",
         Category  => "POWER Events",
         EvSel     => 0x42,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
      },
      "POWER_SELF_REFRESH" =>
      {
         Box       => "iMC Box Events",
         Category  => "POWER Events",
         EvSel     => 0x43,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Clock-Enabled Self-Refresh",
         Defn      => "Counts the number of cycles when the iMC is in self-refresh and the iMC still has a clock.  This happens in some package C-states.  For example, the PCU may ask the iMC to enter self-refresh even though some of the cores are still processing.  One use of this is for Monroe technology.  Self-refresh is required during package C3 and C6, but there is no clock in the iMC at this time, so it is not possible to count these cases.",
      },
      "POWER_THROTTLE_CYCLES" =>
      {
         Box       => "iMC Box Events",
         Category  => "POWER Events",
         EvSel     => 0x41,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Throttle Cycles for Rank 0",
         Defn      => "Counts the number of cycles while the iMC is being throttled by either thermal constraints or by the PCU throttling.  It is not possible to distinguish between the two.  This can be filtered by rank.  If multiple ranks are selected and are being throttled at the same time, the counter will only increment by 1.",
         Subevents =>
         {
            "RANK0" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "Thermal throttling is performed per DIMM.  We support 3 DIMMs per channel.  This ID allows us to filter by ID.",
            },
            "RANK1" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK2" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK3" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK4" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK5" =>
            {
               Umask     => "bxx1xxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK6" =>
            {
               Umask     => "bx1xxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
            "RANK7" =>
            {
               Umask     => "b1xxxxxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "DIMM ID",
               Defn      => "",
            },
         },
      },
      "PREEMPTION" =>
      {
         Box       => "iMC Box Events",
         Category  => "PREEMPTION Events",
         EvSel     => 0x08,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Read Preemption Count",
         Defn      => "Counts the number of times a read in the iMC preempts another read or write.  Generally reads to an open page are issued ahead of requests to closed pages.  This improves the page hit rate of the system.  However, high priority requests can cause pages of active requests to be closed in order to get them out.  This will reduce the latency of the high-priority request at the expense of lower bandwidth and increased overall average latency.",
         Subevents =>
         {
            "RD_PREEMPT_RD" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Read over Read Preemption",
               Defn      => "Filter for when a read preempts another read.",
            },
            "RD_PREEMPT_WR" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Read over Write Preemption",
               Defn      => "Filter for when a read preempts a write.",
            },
         },
      },
      "PRE_COUNT" =>
      {
         Box       => "iMC Box Events",
         Category  => "PRE Events",
         EvSel     => 0x02,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "DRAM Precharge commands.",
         Defn      => "Counts the number of DRAM Precharge commands sent on this channel.",
         Subevents =>
         {
            "PAGE_MISS" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Precharges due to page miss",
               Defn      => "Counts the number of DRAM Precharge commands sent on this channel as a result of page misses.  This does not include explicit precharge commands sent with CAS commands in Auto-Precharge mode.  This does not include PRE commands sent as a result of the page close counter expiration.",
            },
            "PAGE_CLOSE" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Precharge due to timer expiration",
               Defn      => "Counts the number of DRAM Precharge commands sent on this channel as a result of the page close counter expiring.  This does not include implicit precharge commands sent in auto-precharge mode.",
            },
            "RD" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Precharge due to read",
               Defn      => "",
            },
            "WR" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Precharge due to write",
               Defn      => "",
            },
            "BYP" =>
            {
               Umask     => "bxxx1xxxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Precharge due to bypass",
               Defn      => "",
            },
         },
      },
      "RD_CAS_PRIO" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xA0,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "",
         Defn      => "",
         Subevents =>
         {
            "LOW" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Read CAS issued with LOW priority",
               Defn      => "",
            },
            "MED" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "Read CAS issued with MEDIUM priority",
               Defn      => "",
            },
            "HIGH" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read CAS issued with HIGH priority",
               Defn      => "",
            },
            "PANIC" =>
            {
               Umask     => "bxxxx1xxx",
               Counters  => "",
               Filter    => "",
               Desc      => "Read CAS issued with PANIC NON ISOCH priority (starved)",
               Defn      => "",
            },
         },
      },
      "RD_CAS_RANK0" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xB0,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RD_CAS Access to Rank 0",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "RD_CAS_RANK1" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xB1,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RD_CAS Access to Rank 1",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "RD_CAS_RANK2" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xB2,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RD_CAS Access to Rank 2",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "RD_CAS_RANK3" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xB3,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RD_CAS Access to Rank 3",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "RD_CAS_RANK4" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xB4,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RD_CAS Access to Rank 4",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "RD_CAS_RANK5" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xB5,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RD_CAS Access to Rank 5",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "RD_CAS_RANK6" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xB6,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RD_CAS Access to Rank 6",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "RD_CAS_RANK7" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xB7,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "RD_CAS Access to Rank 7",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "RPQ_CYCLES_FULL" =>
      {
         Box       => "iMC Box Events",
         Category  => "RPQ Events",
         EvSel     => 0x12,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Read Pending Queue Full Cycles",
         Defn      => "Counts the number of cycles when the Read Pending Queue is full.  When the RPQ is full, the HA will not be able to issue any additional read requests into the iMC.  This count should be similar count in the HA which tracks the number of cycles that the HA has no RPQ credits, just somewhat smaller to account for the credit return overhead.  We generally do not expect to see RPQ become full except for potentially during Write Major Mode or while running with slow DRAM.  This event only tracks non-ISOC queue entries.",
      },
      "RPQ_CYCLES_NE" =>
      {
         Box       => "iMC Box Events",
         Category  => "RPQ Events",
         EvSel     => 0x11,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Read Pending Queue Not Empty",
         Defn      => "Counts the number of cycles that the Read Pending Queue is not empty.  This can then be used to calculate the average occupancy (in conjunction with the Read Pending Queue Occupancy count).  The RPQ is used to schedule reads out to the memory controller and to track the requests.  Requests allocate into the RPQ soon after they enter the memory controller, and need credits for an entry in this buffer before being sent from the HA to the iMC.  They deallocate after the CAS command has been issued to memory.  This filter is to be used in conjunction with the occupancy filter so that one can correctly track the average occupancies for schedulable entries and scheduled requests.",
      },
      "RPQ_INSERTS" =>
      {
         Box       => "iMC Box Events",
         Category  => "RPQ Events",
         EvSel     => 0x10,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Read Pending Queue Allocations",
         Defn      => "Counts the number of allocations into the Read Pending Queue.  This queue is used to schedule reads out to the memory controller and to track the requests.  Requests allocate into the RPQ soon after they enter the memory controller, and need credits for an entry in this buffer before being sent from the HA to the iMC.  They deallocate after the CAS command has been issued to memory.  This includes both ISOCH and non-ISOCH requests.",
      },
      "RPQ_OCCUPANCY" =>
      {
         Box       => "iMC Box Events",
         Category  => "RPQ Events",
         EvSel     => 0x80,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Read Pending Queue Occupancy",
         Defn      => "Accumulates the occupancies of the Read Pending Queue each cycle.  This can then be used to calculate both the average occupancy (in conjunction with the number of cycles not empty) and the average latency (in conjunction with the number of allocations).  The RPQ is used to schedule reads out to the memory controller and to track the requests.  Requests allocate into the RPQ soon after they enter the memory controller, and need credits for an entry in this buffer before being sent from the HA to the iMC. They deallocate after the CAS command has been issued to memory.",
      },
      "WMM_TO_RMM" =>
      {
         Box       => "iMC Box Events",
         Category  => "MAJOR_MODES Events",
         EvSel     => 0xC0,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Transition from WMM to RMM because of low threshold",
         Defn      => "",
         Subevents =>
         {
            "LOW_THRESH" =>
            {
               Umask     => "bxxxxxxx1",
               Counters  => "",
               Filter    => "",
               Desc      => "Transition from WMM to RMM because of starve counter",
               Defn      => "",
            },
            "STARVE" =>
            {
               Umask     => "bxxxxxx1x",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
            "VMSE_RETRY" =>
            {
               Umask     => "bxxxxx1xx",
               Counters  => "",
               Filter    => "",
               Desc      => "",
               Defn      => "",
            },
         },
      },
      "WPQ_CYCLES_FULL" =>
      {
         Box       => "iMC Box Events",
         Category  => "WPQ Events",
         EvSel     => 0x22,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Write Pending Queue Full Cycles",
         Defn      => "Counts the number of cycles when the Write Pending Queue is full.  When the WPQ is full, the HA will not be able to issue any additional write requests into the iMC.  This count should be similar count in the CHA which tracks the number of cycles that the CHA has no WPQ credits, just somewhat smaller to account for the credit return overhead.",
      },
      "WPQ_CYCLES_NE" =>
      {
         Box       => "iMC Box Events",
         Category  => "WPQ Events",
         EvSel     => 0x21,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Write Pending Queue Not Empty",
         Defn      => "Counts the number of cycles that the Write Pending Queue is not empty.  This can then be used to calculate the average queue occupancy (in conjunction with the WPQ Occupancy Accumulation count).  The WPQ is used to schedule write out to the memory controller and to track the writes.  Requests allocate into the WPQ soon after they enter the memory controller, and need credits for an entry in this buffer before being sent from the CHA to the iMC.  They deallocate after being issued to DRAM.  Write requests themselves are able to complete (from the perspective of the rest of the system) as soon they have \"posted\" to the iMC.  This is not to be confused with actually performing the write to DRAM.  Therefore, the average latency for this queue is actually not useful for deconstruction intermediate write latencies.",
      },
      "WPQ_INSERTS" =>
      {
         Box       => "iMC Box Events",
         Category  => "WPQ Events",
         EvSel     => 0x20,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Write Pending Queue Allocations",
         Defn      => "Counts the number of allocations into the Write Pending Queue.  This can then be used to calculate the average queuing latency (in conjunction with the WPQ occupancy count).  The WPQ is used to schedule write out to the memory controller and to track the writes.  Requests allocate into the WPQ soon after they enter the memory controller, and need credits for an entry in this buffer before being sent from the CHA to the iMC.  They deallocate after being issued to DRAM.  Write requests themselves are able to complete (from the perspective of the rest of the system) as soon they have \"posted\" to the iMC.",
      },
      "WPQ_READ_HIT" =>
      {
         Box       => "iMC Box Events",
         Category  => "WPQ Events",
         EvSel     => 0x23,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Write Pending Queue CAM Match",
         Defn      => "Counts the number of times a request hits in the WPQ (write-pending queue).  The iMC allows writes and reads to pass up other writes to different addresses.  Before a read or a write is issued, it will first CAM the WPQ to see if there is a write pending to that address.  When reads hit, they are able to directly pull their data from the WPQ instead of going to memory.  Writes that hit will overwrite the existing data.  Partial writes that hit will not need to do underfill reads and will simply update their relevant sections.",
      },
      "WPQ_WRITE_HIT" =>
      {
         Box       => "iMC Box Events",
         Category  => "WPQ Events",
         EvSel     => 0x24,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Write Pending Queue CAM Match",
         Defn      => "Counts the number of times a request hits in the WPQ (write-pending queue).  The iMC allows writes and reads to pass up other writes to different addresses.  Before a read or a write is issued, it will first CAM the WPQ to see if there is a write pending to that address.  When reads hit, they are able to directly pull their data from the WPQ instead of going to memory.  Writes that hit will overwrite the existing data.  Partial writes that hit will not need to do underfill reads and will simply update their relevant sections.",
      },
      "WRONG_MM" =>
      {
         Box       => "iMC Box Events",
         Category  => "MAJOR_MODES Events",
         EvSel     => 0xC1,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "Not getting the requested Major Mode",
         Defn      => "",
      },
      "WR_CAS_RANK0" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xB8,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WR_CAS Access to Rank 0",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "WR_CAS_RANK1" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xB9,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WR_CAS Access to Rank 1",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "WR_CAS_RANK2" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xBA,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WR_CAS Access to Rank 2",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "WR_CAS_RANK3" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xBB,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WR_CAS Access to Rank 3",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "WR_CAS_RANK4" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xBC,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WR_CAS Access to Rank 4",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "WR_CAS_RANK5" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xBD,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WR_CAS Access to Rank 5",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "WR_CAS_RANK6" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xBE,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WR_CAS Access to Rank 6",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
      "WR_CAS_RANK7" =>
      {
         Box       => "iMC Box Events",
         Category  => "CAS Events",
         EvSel     => 0xBF,
         Counters  => "0-3",
         Internal  => 0,
         Filter    => "",
         MaxIncCyc => 0,
         Desc      => "WR_CAS Access to Rank 7",
         Defn      => "",
         Subevents =>
         {
            "BANK0" =>
            {
               Umask     => "b00000000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 0",
               Defn      => "",
            },
            "BANK1" =>
            {
               Umask     => "b00000001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 1",
               Defn      => "",
            },
            "BANK2" =>
            {
               Umask     => "b00000010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 2",
               Defn      => "",
            },
            "BANK3" =>
            {
               Umask     => "b00000011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 3",
               Defn      => "",
            },
            "BANK4" =>
            {
               Umask     => "b00000100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 4",
               Defn      => "",
            },
            "BANK5" =>
            {
               Umask     => "b00000101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 5",
               Defn      => "",
            },
            "BANK6" =>
            {
               Umask     => "b00000110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 6",
               Defn      => "",
            },
            "BANK7" =>
            {
               Umask     => "b00000111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 7",
               Defn      => "",
            },
            "BANK8" =>
            {
               Umask     => "b00001000",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 8",
               Defn      => "",
            },
            "BANK9" =>
            {
               Umask     => "b00001001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 9",
               Defn      => "",
            },
            "BANK10" =>
            {
               Umask     => "b00001010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 10",
               Defn      => "",
            },
            "BANK11" =>
            {
               Umask     => "b00001011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 11",
               Defn      => "",
            },
            "BANK12" =>
            {
               Umask     => "b00001100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 12",
               Defn      => "",
            },
            "BANK13" =>
            {
               Umask     => "b00001101",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 13",
               Defn      => "",
            },
            "BANK14" =>
            {
               Umask     => "b00001110",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 14",
               Defn      => "",
            },
            "BANK15" =>
            {
               Umask     => "b00001111",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank 15",
               Defn      => "",
            },
            "ALLBANKS" =>
            {
               Umask     => "b00010000",
               Counters  => "",
               Filter    => "",
               Desc      => "All Banks",
               Defn      => "",
            },
            "BANKG0" =>
            {
               Umask     => "b00010001",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 0 (Banks 0-3)",
               Defn      => "",
            },
            "BANKG1" =>
            {
               Umask     => "b00010010",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 1 (Banks 4-7)",
               Defn      => "",
            },
            "BANKG2" =>
            {
               Umask     => "b00010011",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 2 (Banks 8-11)",
               Defn      => "",
            },
            "BANKG3" =>
            {
               Umask     => "b00010100",
               Counters  => "",
               Filter    => "",
               Desc      => "Bank Group 3 (Banks 12-15)",
               Defn      => "",
            },
         },
      },
   },
);
