1<?xml version="1.0" encoding="utf-8"?> 2<syst:Collateral xmlns:syst="http://www.mipi.org/1.0/sys-t" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://www.mipi.org/1.0/sys-t 5 https://www.mipi.org/schema/sys-t/sys-t_1-0.xsd"> 6 7 <!-- 8 A SyS-T collateral file starts with one syst:Collateral element 9 and contains at least one syst:Client child node. 10 --> 11 <syst:Client Name="example"> 12 13 <!-- 14 List of message GUIDs for this client: 15 A GUID is a 128bit numeric UUID following RFC 4122. 16 Clients that are identified by transport layer properties 17 can use pseudo GUID values to identify their messages. A 18 pseudo GUID is defined as a GUID with bit 71 set to zero. 19 The following encoding might be used for clients identified 20 by MIPI System Trace Protocol (STP) master/channel pairs: 21 22 {00000000-<MasterID>-<ChannelID>-<Origin>00-000000000000} 23 24 A Mask attribute can be added to define which bits of the GUID are 25 used for comparison. Without a mask, all bits need to match. 26 The example below makes the catalog valid for all channels from the 27 STP master value 0x644, or messages with the "494E..." GUID in their 28 payload. 29 --> 30 <syst:Guids> 31 <syst:Guid ID= "{00000000-0644-0000-0000-000000000000}" 32 Mask="{00000000-FFFF-0000-8000-000000000000}"><![CDATA[kernel]]></syst:Guid> 33 <syst:Guid ID="{494E5443-8A9C-4014-A65A-2F36A36D96E4}"><![CDATA[user]]></syst:Guid> 34 </syst:Guids> 35 36 <!-- 37 Define for which versions of the client this collateral is valid. 38 Versions are expressed as values up to 64-bit and can contain a mask 39 that define which bits need to match with a client version message. 40 --> 41 <syst:Builds> 42 <syst:Build ID="0x00010000" Mask="0xFFFF0000" ><![CDATA[SW Build 1.x]]></syst:Build> 43 <syst:Build ID="0x00020000" Mask="0xFFFF0000" ><![CDATA[SW Build 2.x]]></syst:Build> 44 </syst:Builds> 45 46 <!-- 47 Settings to guide decoding tools what to do in cases 48 where several options are possible. The example below tells 49 a decoder to interprete SyS-T message timstamps only as an 50 informal field, but not the message creation time. 51 --> 52 <syst:Options> 53 <syst:Option Name="syst:timestamp">displayAsField</syst:Option> 54 </syst:Options> 55 56 <!-- 57 Provide ID to name mapping for module header field values. 58 --> 59 <syst:Modules> 60 <syst:Module ID="0x1"><![CDATA[kernel]]></syst:Module> 61 <syst:Module ID="0x2"><![CDATA[user]]></syst:Module> 62 </syst:Modules> 63 64 <!-- 65 Define the mapping of the numeric File-ID to source files. 66 This table is optional and only needed if source references are used 67 by the Catalog32 or Catalog64 elements. 68 --> 69 <syst:SourceFiles/> 70 71 <!-- 72 Define the mapping of catalog message ID to human-readable strings. 73 This table is optional and only needed if catalog messages are used. 74 A message can have optional "File" and "Line" attributes to specify the 75 source position of the instrumentation call. A decoder uses the 76 information from these attributes if the message payload doesn't provide 77 explicit location information. 78 --> 79 <syst:Catalog32/> 80 81 <syst:Catalog64/> 82 83 <!-- 84 Define short message mapping from 30-Bit ID to user visible string. 85 --> 86 <syst:Short32> 87 <syst:Format ID="0x01234567" ><![CDATA[Short 32-Bit value (0x01234567)]]></syst:Format> 88 <syst:Format ID="0x0E000000" Mask="0x0F000000"><![CDATA[error with code %d]]></syst:Format> 89 <syst:Format ID="0x0F000000" Mask="0x0F000000"><![CDATA[warning with code %d]]></syst:Format> 90 </syst:Short32> 91 92 <!-- 93 Define short message mapping from 60-Bit ID to user visible string. 94 --> 95 <syst:Short64> 96 <syst:Format ID="0x0112233445566778"><![CDATA[Short 64-Bit value (0x0112233445566778)]]]></syst:Format> 97 </syst:Short64> 98 99 <!-- 100 Specify raw message protocol id assignment 101 --> 102 <syst:Write> 103 <syst:Protocol ID="0x01" Mask="0x00"><![CDATA[Protocol%d]]></syst:Protocol> 104 </syst:Write> 105 106 </syst:Client> 107</syst:Collateral>