<?xml version="1.0"?>
<!-- C7x CorePac CTSET2                                                             -->
<!-- This file defines properties required to support core features in CCS --> 

<?CTOOLS version="1.1.0.0" Copyright="Copyright (c) 2019 Texas Instruments"?>
<AET>
    <JOB_MAJOR_V>1</JOB_MAJOR_V>
    <JOB_MINOR_V>0</JOB_MINOR_V>

<!--*****************************************************************************-->
<!--                       FIRST LEVEL OF FUNCTION LIST                          -->
<!-- This property presents all the supported functions to UBM and has a default -->
<!-- value of L1 L2 Profile Counters. Every time UBM creates a operation and calls      -->
<!-- Operation::GetProperties()this property will be returned.                   -->
<!-- The menu item showed by UBM will be look like:                              -->
<!--                                                                             -->
<!--     Type | L1 L2 Profile Counters         |                                    -->
<!--                                                                             -->
<!-- For different device different set of functions will be listed              -->
<!-- Mapping of The Fields:                                                      -->
<!--    NAME         - IProperty::GetName()                                      -->
<!--    DESCRIPTION  - IProperty::GetDescription()                               -->
<!--    ALLOWEDLIST  - IStringProperty::GetAllowedValues()                       -->
<!-- Other definitions:                                                          -->
<!--    ALLOWEDITEM  - defines an item of allowed values                         -->
<!--    ALLOWED_KEY  - defines the child key when this allowed value is selected -->
<!--    ALLOWED_HALT - defines if the function halts CPU                         -->
<!--    ALLOWED_STRING - allowed string value                                    -->
<!-- Every time a allowed value is selected as the value of StringProperty, the  -->
<!-- CHILDKEY will be changed. The new CHILDKEY will be used to update the child -->
<!-- property of the StringProperty                                              -->
<!--*****************************************************************************-->
    <PROPERTY_STRING>                                           
    <NAME>Type</NAME>                                         
    <DESCRIPTION>Display all the AET functions</DESCRIPTION>    
      <ALLOWEDLIST>
          <ALLOWEDITEM>
            <ALLOWED_KEY>C7X COREPAC CTSET2 CT</ALLOWED_KEY>
            <ALLOWED_STRING>C7X CTSET Counters</ALLOWED_STRING>
          </ALLOWEDITEM>
      </ALLOWEDLIST>
    </PROPERTY_STRING>

<!--=============================================================================-->
<!--                      MSMC CTSET2 Counters                                   -->
<!--=============================================================================-->

<!--=============================================================================-->
<!--                      Not Editable Counter Value                             -->
<!--=============================================================================-->
	<PROPERTY_INTEGER>
	  <NAME>Current Count</NAME>	
 	  <DESCRIPTION>Value of the count</DESCRIPTION>		
	  <KEYITEM>
		  <KEYNAME>C7X COREPAC CTSET2 CT</KEYNAME>	      <!-- Key of sub property for Count Event -->
		  <KEYNUMBER>5</KEYNUMBER>	
	  </KEYITEM>
  	  <VALUE>0</VALUE>
	  <DISPLAYTYPE>DEC</DISPLAYTYPE>
	  <RANGELO>0</RANGELO>
	  <RANGEHI>0xFFFFFFFFFFFFFFFF</RANGEHI>
	  <EDITABLE>FALSE</EDITABLE>	
	  <ENUMVALUE>0x80070010</ENUMVALUE>
	</PROPERTY_INTEGER>

<!--=============================================================================-->
<!--                      Not Editable Overflow Flag                             -->
<!--=============================================================================-->
    <PROPERTY_STRING>
      <NAME>Overflow</NAME>    
       <DESCRIPTION>Counter Overflow status</DESCRIPTION>        
      <KEYITEM>
		  <KEYNAME>C7X COREPAC CTSET2 CT</KEYNAME>	      <!-- Key of sub property for Count Event -->
		  <KEYNUMBER>6</KEYNUMBER>	
      </KEYITEM>
      <VALUE>no overflow</VALUE>
      <EDITABLE>FALSE</EDITABLE>    
    </PROPERTY_STRING>

<!--=============================================================================-->
<!--                      Other Editable Optioins                                -->
<!--=============================================================================-->
	<PROPERTY_STRING>
	  <NAME>Counter Size</NAME>	
 	  <DESCRIPTION>The option of setting the size of the counter</DESCRIPTION>	
	  <KEYITEM>
		  <KEYNAME>C7X COREPAC CTSET2 CT</KEYNAME>	
		  <KEYNUMBER>4</KEYNUMBER>	
	  </KEYITEM>
	  <ALLOWEDLIST>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80070002</ALLOWED_ENUM>
			<ALLOWED_STRING>32 Bit</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80070003</ALLOWED_ENUM>
			<ALLOWED_STRING>64 Bit</ALLOWED_STRING>
		  </ALLOWEDITEM>
	  </ALLOWEDLIST>
	</PROPERTY_STRING>

	<PROPERTY_STRING>
	  <NAME>Event Detection Type</NAME>	
 	  <DESCRIPTION>Edge or level detection. With the Edge type, counter will increment when a rising edge is detected. With the level type, counter will increment every time a clock cycle is seen while the input event signal is high.</DESCRIPTION>	
	  <KEYITEM>
		  <KEYNAME>C7X COREPAC CTSET2 CT</KEYNAME>	
		  <KEYNUMBER>3</KEYNUMBER>	
	  </KEYITEM>
	  <ALLOWEDLIST>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80070007</ALLOWED_ENUM>
			<ALLOWED_STRING>Edge</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80070008</ALLOWED_ENUM>
			<ALLOWED_STRING>Level</ALLOWED_STRING>
		  </ALLOWEDITEM>
	  </ALLOWEDLIST>
	</PROPERTY_STRING>

	<PROPERTY_STRING>
	  <NAME>Event to Count</NAME>	
 	  <DESCRIPTION>Selecting event to count</DESCRIPTION>	
	  <KEYITEM>
		  <KEYNAME>C7X COREPAC CTSET2 CT</KEYNAME>	
		  <KEYNUMBER>2</KEYNUMBER>	
	  </KEYITEM>
	  <ALLOWEDLIST>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071020</ALLOWED_ENUM>
			<ALLOWED_STRING>Hit L1P Cache</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071021</ALLOWED_ENUM>
			<ALLOWED_STRING>Missed L1P Cache</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x8007103E</ALLOWED_ENUM>
			<ALLOWED_STRING>DP0:Hit L1D Main Cache RAM</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x8007103F</ALLOWED_ENUM>
			<ALLOWED_STRING>DP0:Hit L1D Victim Cache</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071042</ALLOWED_ENUM>
			<ALLOWED_STRING>DP1:Hit L1D Main Cache RAM</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071043</ALLOWED_ENUM>
			<ALLOWED_STRING>DP1:Hit L1D Victim Cache</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x800710C6</ALLOWED_ENUM>
			<ALLOWED_STRING>Hit L2 Cache</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x800710C7</ALLOWED_ENUM>
			<ALLOWED_STRING>Missed L2 Cache with silent or no eviction</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x800710C8</ALLOWED_ENUM>
			<ALLOWED_STRING>Missed L2 Cache with victim writeback</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071080</ALLOWED_ENUM>
			<ALLOWED_STRING>CMMU load Store Data uTLB miss</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071081</ALLOWED_ENUM>
			<ALLOWED_STRING>CMMU Load Store Data main TLB miss</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071082</ALLOWED_ENUM>
			<ALLOWED_STRING>CMMU Instruction uTLB miss</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x80071083</ALLOWED_ENUM>
			<ALLOWED_STRING>CMMU Instruction main TLB miss</ALLOWED_STRING>
		  </ALLOWEDITEM>
		  <ALLOWEDITEM>
			<ALLOWED_ENUM>0x8007108D</ALLOWED_ENUM>
			<ALLOWED_STRING>CMMU Stage 2 TLB cache miss</ALLOWED_STRING>
		  </ALLOWEDITEM>
	  </ALLOWEDLIST>
	</PROPERTY_STRING>

</AET>
