libmetal.dio 94 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540
  1. <mxfile host="65bd71144e">
  2. <diagram id="nKelZ6Gt3N6YIWwZSbJ6" name="第 1 页">
  3. <mxGraphModel dx="3995" dy="3514" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
  4. <root>
  5. <mxCell id="0"/>
  6. <mxCell id="1" parent="0"/>
  7. <mxCell id="7" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_device&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;labelBackgroundColor=default;" parent="1" vertex="1">
  8. <mxGeometry x="50" y="70" width="139" height="290" as="geometry"/>
  9. </mxCell>
  10. <mxCell id="2" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;IPI metal device&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;" parent="1" vertex="1">
  11. <mxGeometry x="69" y="100" width="100" height="50" as="geometry"/>
  12. </mxCell>
  13. <mxCell id="4" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;TTC metal device&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;" parent="1" vertex="1">
  14. <mxGeometry x="69" y="290" width="100" height="50" as="geometry"/>
  15. </mxCell>
  16. <mxCell id="5" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;SHM metal device&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;" parent="1" vertex="1">
  17. <mxGeometry x="69" y="190" width="100" height="50" as="geometry"/>
  18. </mxCell>
  19. <mxCell id="8" value="" style="shape=flexArrow;endArrow=classic;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="2" edge="1">
  20. <mxGeometry width="50" height="50" relative="1" as="geometry">
  21. <mxPoint x="349" y="190" as="sourcePoint"/>
  22. <mxPoint x="239" y="125" as="targetPoint"/>
  23. </mxGeometry>
  24. </mxCell>
  25. <mxCell id="9" value="" style="shape=flexArrow;endArrow=classic;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" edge="1">
  26. <mxGeometry width="50" height="50" relative="1" as="geometry">
  27. <mxPoint x="169" y="214.5" as="sourcePoint"/>
  28. <mxPoint x="239" y="214.5" as="targetPoint"/>
  29. </mxGeometry>
  30. </mxCell>
  31. <mxCell id="10" value="" style="shape=flexArrow;endArrow=classic;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="1" source="4" target="12" edge="1">
  32. <mxGeometry width="50" height="50" relative="1" as="geometry">
  33. <mxPoint x="199" y="292.5" as="sourcePoint"/>
  34. <mxPoint x="239" y="305" as="targetPoint"/>
  35. </mxGeometry>
  36. </mxCell>
  37. <mxCell id="11" value="&lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Consolas&quot; color=&quot;#6666ff&quot;&gt;(处理器间中断)是一个处理器中断另一个处理器的机制。 这通常用于多处理器系统中的处理器间通信和同步。 Libmetal 提供了一个 IPI API,允许软件在不同的处理器之间发送和接收中断,而不管它们的架构如何。&lt;/font&gt;&lt;br&gt;&lt;/p&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;align=left;" parent="1" vertex="1">
  38. <mxGeometry x="239" y="70" width="571" height="90" as="geometry"/>
  39. </mxCell>
  40. <mxCell id="12" value="&lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;(时间触发通信)是一种基于公共时钟同步两个或多个处理器的机制。 这对于实现实时系统非常有用,其中精确计时至关重要。 Libmetal 提供了一个 TTC API,允许软件配置和管理 TTC 硬件,以及基于 TTC 时钟发送和接收消息。&lt;/font&gt;&lt;br&gt;&lt;/p&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;align=left;fontColor=#6666FF;" parent="1" vertex="1">
  41. <mxGeometry x="239" y="270" width="571" height="90" as="geometry"/>
  42. </mxCell>
  43. <mxCell id="13" value="&lt;p class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Consolas&quot;&gt;(共享内存) 是一种让两个或多个处理器共享公共内存区域的机制。 这对于实现处理器间通信和同步以及在不同处理器之间共享数据很有用。 Libmetal 提供了一个 SHM API,允许软件分配和释放共享内存区域,以及读取和写入这些区域的数据。&lt;/font&gt;&lt;br&gt;&lt;/p&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontColor=#6666FF;align=left;" parent="1" vertex="1">
  44. <mxGeometry x="239" y="170" width="571" height="90" as="geometry"/>
  45. </mxCell>
  46. <mxCell id="18" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px; font-size: 20px;&quot;&gt;&lt;span style=&quot;font-size: 20px;&quot;&gt;int ipi_latency_demod()&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;fontColor=#FF3333;verticalAlign=top;fontSize=20;arcSize=6;" parent="1" vertex="1">
  47. <mxGeometry x="1140" y="-1050" width="778" height="970" as="geometry"/>
  48. </mxCell>
  49. <mxCell id="46" value="" style="edgeStyle=none;html=1;fontSize=15;fontColor=none;" parent="1" source="27" target="45" edge="1">
  50. <mxGeometry relative="1" as="geometry"/>
  51. </mxCell>
  52. <mxCell id="27" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;channel_s&lt;/span&gt;&lt;/div&gt;" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;" parent="1" vertex="1">
  53. <mxGeometry x="1205" y="-952" width="460" height="180" as="geometry"/>
  54. </mxCell>
  55. <mxCell id="28" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_io_region&lt;/span&gt; *&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ipi_io&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; /* IPI metal i/o region */&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;" parent="27" vertex="1">
  56. <mxGeometry y="30" width="460" height="30" as="geometry"/>
  57. </mxCell>
  58. <mxCell id="29" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_io_region&lt;/span&gt; *&lt;span style=&quot;color: #9cdcfe;&quot;&gt;shm_io&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; /* Shared memory metal i/o region */&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;" parent="27" vertex="1">
  59. <mxGeometry y="60" width="460" height="30" as="geometry"/>
  60. </mxCell>
  61. <mxCell id="32" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_io_region&lt;/span&gt; *&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ttc_io&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; /* TTC metal i/o region */&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;" parent="27" vertex="1">
  62. <mxGeometry y="90" width="460" height="30" as="geometry"/>
  63. </mxCell>
  64. <mxCell id="33" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;uint32_t&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;ipi_mask&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* RPU IPI mask */&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;" parent="27" vertex="1">
  65. <mxGeometry y="120" width="460" height="30" as="geometry"/>
  66. </mxCell>
  67. <mxCell id="31" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;atomic_int&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;remote_nkicked&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; &amp;nbsp; &amp;nbsp; /* 0 - kicked from remote */&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;" parent="27" vertex="1">
  68. <mxGeometry y="150" width="460" height="30" as="geometry"/>
  69. </mxCell>
  70. <mxCell id="45" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: rgb(156, 220, 254);&quot;&gt;&lt;font style=&quot;font-size: 21px;&quot;&gt;ch&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=21;fontColor=none;fontStyle=0;startSize=30;labelBackgroundColor=none;" parent="1" vertex="1">
  71. <mxGeometry x="1743" y="-892" width="120" height="60" as="geometry"/>
  72. </mxCell>
  73. <mxCell id="47" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;sys_init&lt;/span&gt;()&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;verticalAlign=top;labelBorderColor=none;" parent="1" vertex="1">
  74. <mxGeometry x="70" y="390" width="740" height="770" as="geometry"/>
  75. </mxCell>
  76. <mxCell id="54" value="" style="edgeStyle=none;html=1;fontSize=21;fontColor=none;" parent="1" source="48" target="53" edge="1">
  77. <mxGeometry relative="1" as="geometry"/>
  78. </mxCell>
  79. <mxCell id="58" value="" style="edgeStyle=none;html=1;fontSize=21;fontColor=none;" parent="1" source="48" target="57" edge="1">
  80. <mxGeometry relative="1" as="geometry"/>
  81. </mxCell>
  82. <mxCell id="48" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;enable_caches&lt;/span&gt;();&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;" parent="1" vertex="1">
  83. <mxGeometry x="378" y="544" width="270" height="60" as="geometry"/>
  84. </mxCell>
  85. <mxCell id="49" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_init_params&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(156, 220, 254);&quot;&gt;metal_param&lt;/span&gt;&lt;/div&gt;" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;" parent="1" vertex="1">
  86. <mxGeometry x="184" y="430" width="520" height="90" as="geometry"/>
  87. </mxCell>
  88. <mxCell id="50" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_log_handler&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;log_handler&lt;/span&gt;;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;" parent="49" vertex="1">
  89. <mxGeometry y="30" width="520" height="30" as="geometry"/>
  90. </mxCell>
  91. <mxCell id="51" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;enum&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_log_level&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;log_level&lt;/span&gt;;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=none;" parent="49" vertex="1">
  92. <mxGeometry y="60" width="520" height="30" as="geometry"/>
  93. </mxCell>
  94. <mxCell id="56" value="" style="edgeStyle=none;html=1;fontSize=21;fontColor=none;" parent="1" source="53" target="55" edge="1">
  95. <mxGeometry relative="1" as="geometry"/>
  96. </mxCell>
  97. <mxCell id="60" value="" style="edgeStyle=none;html=1;fontSize=21;fontColor=none;" parent="1" source="53" target="59" edge="1">
  98. <mxGeometry relative="1" as="geometry"/>
  99. </mxCell>
  100. <mxCell id="53" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;init_uart&lt;/span&gt;();&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=21;fontColor=none;rounded=1;labelBackgroundColor=none;" parent="1" vertex="1">
  101. <mxGeometry x="373" y="620" width="280" height="60" as="geometry"/>
  102. </mxCell>
  103. <mxCell id="62" value="" style="edgeStyle=none;html=1;fontSize=21;fontColor=none;" parent="1" source="55" target="61" edge="1">
  104. <mxGeometry relative="1" as="geometry"/>
  105. </mxCell>
  106. <mxCell id="64" value="" style="edgeStyle=none;html=1;fontSize=21;fontColor=default;" parent="1" source="55" target="63" edge="1">
  107. <mxGeometry relative="1" as="geometry"/>
  108. </mxCell>
  109. <mxCell id="55" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;init_irq&lt;/span&gt;()&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=21;fontColor=none;rounded=1;labelBackgroundColor=none;" parent="1" vertex="1">
  110. <mxGeometry x="373" y="700" width="280" height="60" as="geometry"/>
  111. </mxCell>
  112. <mxCell id="57" value="port" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fontSize=21;fontColor=default;rounded=1;labelBackgroundColor=none;fillColor=#FF6666;" parent="1" vertex="1">
  113. <mxGeometry x="203" y="534" width="120" height="80" as="geometry"/>
  114. </mxCell>
  115. <mxCell id="59" value="port" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fontSize=21;fontColor=default;rounded=1;labelBackgroundColor=none;fillColor=#FF6666;" parent="1" vertex="1">
  116. <mxGeometry x="203" y="610" width="120" height="80" as="geometry"/>
  117. </mxCell>
  118. <mxCell id="61" value="port" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fontSize=21;fontColor=default;rounded=1;labelBackgroundColor=none;fillColor=#FF6666;" parent="1" vertex="1">
  119. <mxGeometry x="203" y="690" width="120" height="80" as="geometry"/>
  120. </mxCell>
  121. <mxCell id="66" value="" style="edgeStyle=none;html=1;fontSize=21;fontColor=default;" parent="1" source="63" target="65" edge="1">
  122. <mxGeometry relative="1" as="geometry"/>
  123. </mxCell>
  124. <mxCell id="63" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* Initialize libmetal environment */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&amp;nbsp;&amp;nbsp;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;metal_init&lt;/span&gt;(&amp;amp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;metal_param&lt;/span&gt;);&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=21;fontColor=none;rounded=1;labelBackgroundColor=none;" parent="1" vertex="1">
  125. <mxGeometry x="298" y="780" width="430" height="70" as="geometry"/>
  126. </mxCell>
  127. <mxCell id="68" value="" style="edgeStyle=none;html=1;fontSize=21;fontColor=default;" parent="1" source="65" target="67" edge="1">
  128. <mxGeometry relative="1" as="geometry"/>
  129. </mxCell>
  130. <mxCell id="70" value="" style="edgeStyle=none;html=1;" parent="1" source="65" target="69" edge="1">
  131. <mxGeometry relative="1" as="geometry"/>
  132. </mxCell>
  133. <mxCell id="65" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* Initialize metal Xilinx IRQ controller */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;ret&lt;/span&gt; = &lt;span style=&quot;color: #dcdcaa;&quot;&gt;metal_xlnx_irq_init&lt;/span&gt;();&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=21;fontColor=none;rounded=1;labelBackgroundColor=none;" parent="1" vertex="1">
  134. <mxGeometry x="233" y="870" width="560" height="60" as="geometry"/>
  135. </mxCell>
  136. <mxCell id="67" value="port" style="ellipse;shape=cloud;whiteSpace=wrap;html=1;fontSize=21;fontColor=none;rounded=1;labelBackgroundColor=none;fillColor=#FF6666;" parent="1" vertex="1">
  137. <mxGeometry x="70" y="860" width="120" height="80" as="geometry"/>
  138. </mxCell>
  139. <mxCell id="73" value="" style="edgeStyle=none;html=1;fontSize=21;" edge="1" parent="1" source="69" target="72">
  140. <mxGeometry relative="1" as="geometry"/>
  141. </mxCell>
  142. <mxCell id="69" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* Register libmetal devices */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;platform_register_metal_device&lt;/span&gt;();&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=21;fontColor=none;rounded=1;labelBackgroundColor=none;" parent="1" vertex="1">
  143. <mxGeometry x="230" y="950" width="560" height="70" as="geometry"/>
  144. </mxCell>
  145. <mxCell id="75" value="" style="edgeStyle=none;html=1;fontSize=21;" edge="1" parent="1" source="72" target="74">
  146. <mxGeometry relative="1" as="geometry"/>
  147. </mxCell>
  148. <mxCell id="72" value="&lt;span style=&quot;border-color: var(--border-color); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; color: rgb(106, 153, 85);&quot;&gt;/* Open libmetal devices which have been registered */&lt;br&gt;&lt;/span&gt;&lt;span style=&quot;border-color: var(--border-color); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; background-color: initial; color: rgb(220, 220, 170);&quot;&gt;open_metal_devices&lt;/span&gt;&lt;span style=&quot;border-color: var(--border-color); color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; background-color: initial;&quot;&gt;();&lt;/span&gt;" style="whiteSpace=wrap;html=1;fontSize=21;fontColor=none;rounded=1;labelBackgroundColor=none;" vertex="1" parent="1">
  149. <mxGeometry x="119" y="1050" width="649" height="60" as="geometry"/>
  150. </mxCell>
  151. <mxCell id="81" value="" style="edgeStyle=none;html=1;fontSize=18;fontColor=default;" edge="1" parent="1" source="74" target="80">
  152. <mxGeometry relative="1" as="geometry"/>
  153. </mxCell>
  154. <mxCell id="74" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 16px;&quot;&gt;&lt;div style=&quot;line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;open_metal_devices&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;void&lt;/span&gt;)&lt;/div&gt;&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=21;fontColor=none;rounded=1;labelBackgroundColor=none;verticalAlign=top;arcSize=7;" vertex="1" parent="1">
  155. <mxGeometry x="853" y="690" width="780" height="470" as="geometry"/>
  156. </mxCell>
  157. <mxCell id="76" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 18px; line-height: 16px;&quot;&gt;&lt;div style=&quot;font-size: 18px;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 18px;&quot;&gt;/* Open TTC device */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 18px;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: rgb(156, 220, 254); font-size: 18px;&quot;&gt;ret&lt;/span&gt; = &lt;span style=&quot;color: rgb(220, 220, 170); font-size: 18px;&quot;&gt;metal_device_open&lt;/span&gt;(&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 18px;&quot;&gt;BUS_NAME&lt;/span&gt;, &lt;span style=&quot;color: rgb(86, 156, 214); font-size: 18px;&quot;&gt;TTC_DEV_NAME&lt;/span&gt;,&amp;amp;&lt;span style=&quot;color: rgb(156, 220, 254); font-size: 18px;&quot;&gt;ttc_dev&lt;/span&gt;);&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=18;" vertex="1" parent="1">
  158. <mxGeometry x="953" y="1030" width="610" height="100" as="geometry"/>
  159. </mxCell>
  160. <mxCell id="77" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 18px; line-height: 16px;&quot;&gt;&lt;div style=&quot;color: rgb(212, 212, 212); line-height: 16px;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* Open shared memory device */&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;ret&lt;/span&gt; = &lt;span style=&quot;color: #dcdcaa;&quot;&gt;metal_device_open&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;BUS_NAME&lt;/span&gt;, &lt;span style=&quot;color: #569cd6;&quot;&gt;SHM_DEV_NAME&lt;/span&gt;,&amp;amp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;shm_dev&lt;/span&gt;);&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=14;fontColor=default;" vertex="1" parent="1">
  161. <mxGeometry x="953" y="750" width="610" height="110" as="geometry"/>
  162. </mxCell>
  163. <mxCell id="78" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 18px; line-height: 16px;&quot;&gt;&lt;div&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* Open IPI device */&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;ret&lt;/span&gt; = &lt;span style=&quot;color: #dcdcaa;&quot;&gt;metal_device_open&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;BUS_NAME&lt;/span&gt;, &lt;span style=&quot;color: #569cd6;&quot;&gt;IPI_DEV_NAME&lt;/span&gt;,&amp;amp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ipi_dev&lt;/span&gt;);&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=14;" vertex="1" parent="1">
  164. <mxGeometry x="953" y="890" width="610" height="110" as="geometry"/>
  165. </mxCell>
  166. <mxCell id="79" value="&lt;font style=&quot;font-size: 26px;&quot;&gt;application&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=none;fontSize=18;fontColor=default;" vertex="1" parent="1">
  167. <mxGeometry x="1499" y="-1000" width="60" height="30" as="geometry"/>
  168. </mxCell>
  169. <mxCell id="87" value="" style="edgeStyle=none;html=1;fontSize=26;fontColor=default;" edge="1" parent="1" source="80" target="86">
  170. <mxGeometry relative="1" as="geometry"/>
  171. </mxCell>
  172. <mxCell id="80" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;close_metal_devices&lt;/span&gt;(&lt;span style=&quot;color: #569cd6;&quot;&gt;void&lt;/span&gt;)&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=21;verticalAlign=top;fontColor=none;rounded=1;labelBackgroundColor=none;arcSize=7;" vertex="1" parent="1">
  173. <mxGeometry x="1714" y="650" width="720" height="460" as="geometry"/>
  174. </mxCell>
  175. <mxCell id="82" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* Close IPI device */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;metal_device_close&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ipi_dev&lt;/span&gt;);&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=18;fontColor=default;" vertex="1" parent="1">
  176. <mxGeometry x="1824" y="850" width="530" height="90" as="geometry"/>
  177. </mxCell>
  178. <mxCell id="83" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* Close TTC device */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #dcdcaa;&quot;&gt;metal_device_close&lt;/span&gt;(&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ttc_dev&lt;/span&gt;);&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=18;fontColor=default;" vertex="1" parent="1">
  179. <mxGeometry x="1824" y="980" width="530" height="80" as="geometry"/>
  180. </mxCell>
  181. <mxCell id="84" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* Close shared memory device */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(220, 220, 170);&quot;&gt;metal_device_close&lt;/span&gt;(&lt;span style=&quot;color: rgb(156, 220, 254);&quot;&gt;shm_dev&lt;/span&gt;);&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=18;fontColor=default;" vertex="1" parent="1">
  182. <mxGeometry x="1824" y="710" width="530" height="90" as="geometry"/>
  183. </mxCell>
  184. <mxCell id="86" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;void&lt;/span&gt; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;sys_cleanup&lt;/span&gt;()&lt;/div&gt;" style="whiteSpace=wrap;html=1;fontSize=21;verticalAlign=top;fontColor=none;rounded=1;labelBackgroundColor=none;arcSize=7;" vertex="1" parent="1">
  185. <mxGeometry x="2520" y="530" width="750" height="630" as="geometry"/>
  186. </mxCell>
  187. <mxCell id="88" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 21px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* Close libmetal devices which have been opened */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;font-size: 21px; background-color: initial; color: rgb(220, 220, 170);&quot;&gt;close_metal_devices&lt;/span&gt;&lt;span style=&quot;font-size: 21px; background-color: initial;&quot;&gt;();&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=default;" vertex="1" parent="1">
  188. <mxGeometry x="2625" y="600" width="540" height="130" as="geometry"/>
  189. </mxCell>
  190. <mxCell id="89" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 21px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* Finish libmetal environment */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #dcdcaa;&quot;&gt;metal_finish&lt;/span&gt;();&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=default;" vertex="1" parent="1">
  191. <mxGeometry x="2625" y="790" width="540" height="130" as="geometry"/>
  192. </mxCell>
  193. <mxCell id="90" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px; font-size: 30px;&quot;&gt;&lt;span style=&quot;color: rgb(220, 220, 170);&quot;&gt;&lt;font style=&quot;font-size: 30px;&quot;&gt;disable_caches&lt;/font&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;();&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=default;" vertex="1" parent="1">
  194. <mxGeometry x="2625" y="970" width="540" height="130" as="geometry"/>
  195. </mxCell>
  196. <mxCell id="91" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 21px; line-height: 16px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;static&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_device&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;metal_dev_table&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;[]&lt;/span&gt; =&amp;nbsp;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;background-color: initial;&quot;&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 12px; line-height: 16px;&quot;&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;/* IPI device */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;name&lt;/span&gt; = &lt;span style=&quot;color: #569cd6;&quot;&gt;IPI_DEV_NAME&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;bus&lt;/span&gt; = &lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;num_regions&lt;/span&gt; = &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;regions&lt;/span&gt; = {&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;virt&lt;/span&gt; = (&lt;span style=&quot;color: #569cd6;&quot;&gt;void&lt;/span&gt; *)&lt;span style=&quot;color: #569cd6;&quot;&gt;IPI_BASE_ADDR&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;physmap&lt;/span&gt; = &amp;amp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;metal_phys&lt;/span&gt;[&lt;span style=&quot;color: #b5cea8;&quot;&gt;0&lt;/span&gt;],&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;size&lt;/span&gt; = &lt;span style=&quot;color: #b5cea8;&quot;&gt;0x1000&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;page_shift&lt;/span&gt; = &lt;span style=&quot;color: #569cd6;&quot;&gt;DEFAULT_PAGE_SHIFT&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;page_mask&lt;/span&gt; = &lt;span style=&quot;color: #569cd6;&quot;&gt;DEFAULT_PAGE_MASK&lt;/span&gt;,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;mem_flags&lt;/span&gt; = DEVICE_NONSHARED | PRIV_RW_USER_RW,&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ops&lt;/span&gt; = {&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;},&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }},&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;node&lt;/span&gt; = {&lt;span style=&quot;color: #569cd6;&quot;&gt;NULL&lt;/span&gt;},&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irq_num&lt;/span&gt; = &lt;span style=&quot;color: #b5cea8;&quot;&gt;1&lt;/span&gt;,&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; .&lt;/span&gt;&lt;span style=&quot;font-size: 12px; color: rgb(156, 220, 254);&quot;&gt;irq_info&lt;/span&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt; = (&lt;/span&gt;&lt;span style=&quot;font-size: 12px; color: rgb(86, 156, 214);&quot;&gt;void&lt;/span&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt; *)&lt;/span&gt;&lt;span style=&quot;font-size: 12px; color: rgb(86, 156, 214);&quot;&gt;IPI_IRQ_VECT_ID&lt;/span&gt;&lt;span style=&quot;font-size: 12px;&quot;&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;text-align: left;&quot;&gt;&lt;span style=&quot;&quot;&gt;}&lt;/span&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=30;fontColor=default;" vertex="1" parent="1">
  197. <mxGeometry x="910" y="299" width="690" height="371" as="geometry"/>
  198. </mxCell>
  199. <mxCell id="92" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 21px; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_phys_addr_t&lt;/span&gt; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;metal_phys&lt;/span&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;[]&lt;/span&gt;&lt;/div&gt;" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=30;fontColor=default;" vertex="1" parent="1">
  200. <mxGeometry x="846" y="140" width="430" height="120" as="geometry"/>
  201. </mxCell>
  202. <mxCell id="93" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214);&quot;&gt;&lt;font style=&quot;font-size: 21px;&quot;&gt;IPI_BASE_ADDR&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=30;fontColor=default;" vertex="1" parent="92">
  203. <mxGeometry y="30" width="430" height="30" as="geometry"/>
  204. </mxCell>
  205. <mxCell id="94" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214);&quot;&gt;&lt;font style=&quot;font-size: 21px;&quot;&gt;SHM_BASE_ADDR&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=30;fontColor=default;" vertex="1" parent="92">
  206. <mxGeometry y="60" width="430" height="30" as="geometry"/>
  207. </mxCell>
  208. <mxCell id="95" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214);&quot;&gt;&lt;font style=&quot;font-size: 21px;&quot;&gt;TTC0_BASE_ADDR&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=30;fontColor=default;" vertex="1" parent="92">
  209. <mxGeometry y="90" width="430" height="30" as="geometry"/>
  210. </mxCell>
  211. <mxCell id="96" value="&lt;span style=&quot;color: rgb(86, 156, 214); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; text-align: start;&quot; class=&quot;mtk5&quot;&gt;struct&lt;/span&gt;&lt;span style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; text-align: start;&quot; class=&quot;mtk1&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: rgb(78, 201, 176); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; text-align: start;&quot; class=&quot;mtk16&quot;&gt;metal_device&lt;/span&gt;" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=default;" vertex="1" parent="1">
  212. <mxGeometry x="1286" y="140" width="350" height="120" as="geometry"/>
  213. </mxCell>
  214. <mxCell id="97" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;*&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ipi_dev&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=default;" vertex="1" parent="96">
  215. <mxGeometry y="30" width="350" height="30" as="geometry"/>
  216. </mxCell>
  217. <mxCell id="98" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;*&lt;span style=&quot;color: #9cdcfe;&quot;&gt;shm_dev&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=default;" vertex="1" parent="96">
  218. <mxGeometry y="60" width="350" height="30" as="geometry"/>
  219. </mxCell>
  220. <mxCell id="99" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;*&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ttc_dev&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=default;" vertex="1" parent="96">
  221. <mxGeometry y="90" width="350" height="30" as="geometry"/>
  222. </mxCell>
  223. <mxCell id="101" value="sys_init.c" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=none;fontSize=50;fontColor=default;" vertex="1" parent="1">
  224. <mxGeometry x="550" width="580" height="70" as="geometry"/>
  225. </mxCell>
  226. <mxCell id="102" value="实例化设备" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=none;fontSize=21;fontColor=#FF0080;" vertex="1" parent="1">
  227. <mxGeometry x="846" y="330" width="284" height="340" as="geometry"/>
  228. </mxCell>
  229. <mxCell id="109" value="&lt;font style=&quot;font-size: 30px;&quot;&gt;main()&lt;/font&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#FF0080;verticalAlign=top;" vertex="1" parent="1">
  230. <mxGeometry x="330" y="-1050" width="740" height="970" as="geometry"/>
  231. </mxCell>
  232. <mxCell id="112" value="" style="endArrow=classic;html=1;fontSize=21;fontColor=#FF0080;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0;exitY=0.5;exitDx=0;exitDy=0;strokeColor=#FF0000;strokeWidth=10;dashed=1;" edge="1" parent="1" source="114" target="101">
  233. <mxGeometry width="50" height="50" relative="1" as="geometry">
  234. <mxPoint x="870" y="-840" as="sourcePoint"/>
  235. <mxPoint x="840" y="-60" as="targetPoint"/>
  236. <Array as="points">
  237. <mxPoint x="240" y="-955"/>
  238. <mxPoint x="250" y="-70"/>
  239. <mxPoint x="840" y="-70"/>
  240. </Array>
  241. </mxGeometry>
  242. </mxCell>
  243. <mxCell id="113" value="&lt;font style=&quot;font-size: 50px;&quot;&gt;libmetal_amp_demod.c&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=none;fontSize=21;fontColor=#FF0080;" vertex="1" parent="1">
  244. <mxGeometry x="420" y="-1140" width="560" height="60" as="geometry"/>
  245. </mxCell>
  246. <mxCell id="114" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 26px;&quot;&gt;Setup libmetal resources&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%; font-size: 26px;&quot;&gt;&lt;span style=&quot;color: rgb(220, 220, 170); font-size: 26px;&quot;&gt;sys_init&lt;/span&gt;();&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=#FF0080;" vertex="1" parent="1">
  247. <mxGeometry x="470" y="-990" width="460" height="70" as="geometry"/>
  248. </mxCell>
  249. <mxCell id="115" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%; font-size: 26px;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 26px;&quot;&gt;Run the shared memory throughput demo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(220, 220, 170); font-size: 26px;&quot;&gt;shmem_throughput_demod&lt;/span&gt;();&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=#FF0080;" vertex="1" parent="1">
  250. <mxGeometry x="430" y="-300" width="550" height="70" as="geometry"/>
  251. </mxCell>
  252. <mxCell id="116" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%; font-size: 26px;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 26px;&quot;&gt;Run the shared memory latency demo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(220, 220, 170); font-size: 26px;&quot;&gt;shmem_latency_demod&lt;/span&gt;();&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=#FF0080;" vertex="1" parent="1">
  253. <mxGeometry x="435" y="-420" width="540" height="70" as="geometry"/>
  254. </mxCell>
  255. <mxCell id="117" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%; font-size: 26px;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 26px;&quot;&gt;Run the ipi latency demo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(220, 220, 170); font-size: 26px;&quot;&gt;ipi_latency_demod&lt;/span&gt;();&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=#FF0080;" vertex="1" parent="1">
  256. <mxGeometry x="470" y="-540" width="460" height="70" as="geometry"/>
  257. </mxCell>
  258. <mxCell id="118" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%; font-size: 26px;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 26px;&quot;&gt;Run the IPI with shared memory demo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(220, 220, 170); font-size: 26px;&quot;&gt;ipi_shmem_demod&lt;/span&gt;();&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=#FF0080;" vertex="1" parent="1">
  259. <mxGeometry x="420" y="-660" width="550" height="70" as="geometry"/>
  260. </mxCell>
  261. <mxCell id="119" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%; font-size: 26px;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 26px;&quot;&gt;Run the atomic across shared memory demo&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(220, 220, 170); font-size: 26px;&quot;&gt;atomic_shmem_demod&lt;/span&gt;();&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=#FF0080;" vertex="1" parent="1">
  262. <mxGeometry x="400" y="-770" width="610" height="70" as="geometry"/>
  263. </mxCell>
  264. <mxCell id="120" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%; font-size: 26px;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 26px;&quot;&gt;Run the shared memory demo&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%; font-size: 26px;&quot;&gt;&lt;div style=&quot;line-height: 126%; font-size: 26px;&quot;&gt;&lt;span style=&quot;color: rgb(220, 220, 170); font-size: 26px;&quot;&gt;shmem_demod&lt;/span&gt;();&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=#FF0080;" vertex="1" parent="1">
  265. <mxGeometry x="471" y="-880" width="460" height="70" as="geometry"/>
  266. </mxCell>
  267. <mxCell id="121" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%; font-size: 26px;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 26px;&quot;&gt;Cleanup libmetal resources&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 26px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(220, 220, 170); font-size: 26px;&quot;&gt;sys_cleanup&lt;/span&gt;();&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=26;fontColor=#FF0080;" vertex="1" parent="1">
  268. <mxGeometry x="470" y="-190" width="460" height="70" as="geometry"/>
  269. </mxCell>
  270. <mxCell id="123" value="" style="endArrow=classic;html=1;fontSize=30;fontColor=#FF0080;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=10;strokeColor=#FF0000;dashed=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="109" target="18">
  271. <mxGeometry width="50" height="50" relative="1" as="geometry">
  272. <mxPoint x="1130" y="-780" as="sourcePoint"/>
  273. <mxPoint x="1680" y="-820" as="targetPoint"/>
  274. <Array as="points"/>
  275. </mxGeometry>
  276. </mxCell>
  277. <mxCell id="124" value="" style="endArrow=classic;html=1;fontSize=30;fontColor=none;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;labelBorderColor=none;labelBackgroundColor=none;noLabel=1;strokeColor=#FF0000;strokeWidth=10;dashed=1;" edge="1" parent="1" source="121" target="86">
  278. <mxGeometry width="50" height="50" relative="1" as="geometry">
  279. <mxPoint x="1480" y="-110" as="sourcePoint"/>
  280. <mxPoint x="1869.0277099609375" y="90" as="targetPoint"/>
  281. <Array as="points"/>
  282. </mxGeometry>
  283. </mxCell>
  284. <mxCell id="146" value="" style="edgeStyle=none;html=1;dashed=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#FF0000;strokeWidth=5;fontSize=21;fontColor=#FF3333;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" edge="1" parent="1" source="126" target="176">
  285. <mxGeometry relative="1" as="geometry">
  286. <mxPoint x="2210" y="-580" as="targetPoint"/>
  287. </mxGeometry>
  288. </mxCell>
  289. <mxCell id="153" value="" style="edgeStyle=none;html=1;dashed=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#FF0000;strokeWidth=5;fontSize=15;fontColor=#6666FF;" edge="1" parent="1" source="126" target="127">
  290. <mxGeometry relative="1" as="geometry"/>
  291. </mxCell>
  292. <mxCell id="154" style="edgeStyle=none;html=1;entryX=1;entryY=0.5;entryDx=0;entryDy=0;dashed=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#FF0000;strokeWidth=5;fontSize=15;fontColor=#6666FF;" edge="1" parent="1" source="126" target="128">
  293. <mxGeometry relative="1" as="geometry">
  294. <Array as="points">
  295. <mxPoint x="1534" y="-560"/>
  296. <mxPoint x="1900" y="-560"/>
  297. <mxPoint x="1900" y="-235"/>
  298. </Array>
  299. </mxGeometry>
  300. </mxCell>
  301. <mxCell id="126" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%; font-size: 21px;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85);&quot;&gt;&lt;font style=&quot;font-size: 21px;&quot;&gt;shmem_echod() - Show use of shared memory with libmetal.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85);&quot;&gt;&lt;font style=&quot;font-size: 21px;&quot;&gt;Wait for message from APU. Once received, read and echo it back.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=30;fontColor=none;" vertex="1" parent="1">
  302. <mxGeometry x="1199" y="-710" width="670" height="130" as="geometry"/>
  303. </mxCell>
  304. <mxCell id="127" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%; font-size: 21px;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85);&quot;&gt;&lt;font style=&quot;font-size: 21px;&quot;&gt;reset_timer() - function to reset TTC counter&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 126%; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85);&quot;&gt;&lt;font style=&quot;font-size: 21px;&quot;&gt;Set the RST bit in the Count Control Reg.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;border-color: var(--border-color); line-height: 126%;&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); color: rgb(106, 153, 85);&quot;&gt;&lt;font style=&quot;font-size: 21px;&quot;&gt;stop_timer() - function to stop TTC counter&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;border-color: var(--border-color); line-height: 126%;&quot;&gt;&lt;div style=&quot;border-color: var(--border-color); line-height: 126%;&quot;&gt;&lt;span style=&quot;border-color: var(--border-color); color: rgb(106, 153, 85);&quot;&gt;&lt;font style=&quot;font-size: 21px;&quot;&gt;Set the disable bit in the Count Control Reg.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=30;fontColor=none;" vertex="1" parent="1">
  305. <mxGeometry x="1194" y="-510" width="670" height="130" as="geometry"/>
  306. </mxCell>
  307. <mxCell id="128" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 21px; line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;ipi_irq_handler() - IPI interrupt handler&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;measure_ipi_latencyd() - measure IPI latency with libmetal&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 153, 85);&quot;&gt;Loop until APU tells RPU to stop via shared memory.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=30;fontColor=none;" vertex="1" parent="1">
  308. <mxGeometry x="1193" y="-310" width="670" height="150" as="geometry"/>
  309. </mxCell>
  310. <mxCell id="129" value="&lt;font color=&quot;#ff3333&quot;&gt;shm&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=none;fontSize=30;fontColor=none;" vertex="1" parent="1">
  311. <mxGeometry x="1199" y="-740" width="60" height="30" as="geometry"/>
  312. </mxCell>
  313. <mxCell id="130" value="&lt;font color=&quot;#ff3333&quot;&gt;ttc&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=none;fontSize=30;fontColor=none;" vertex="1" parent="1">
  314. <mxGeometry x="1194" y="-540" width="60" height="30" as="geometry"/>
  315. </mxCell>
  316. <mxCell id="131" value="&lt;font color=&quot;#ff3333&quot;&gt;ipi&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=none;fontSize=30;fontColor=none;" vertex="1" parent="1">
  317. <mxGeometry x="1205" y="-350" width="60" height="30" as="geometry"/>
  318. </mxCell>
  319. <mxCell id="132" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;shmem_demo.c(主机 APU)&lt;/span&gt;&lt;/div&gt;" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#FF3333;" vertex="1" parent="1">
  320. <mxGeometry x="1970" y="-1050" width="490" height="380" as="geometry"/>
  321. </mxCell>
  322. <mxCell id="133" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;1.Open the shared memory device.&lt;span style=&quot;white-space: pre;&quot;&gt;&#9;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;labelBorderColor=none;strokeWidth=1;" vertex="1" parent="132">
  323. <mxGeometry y="30" width="490" height="30" as="geometry"/>
  324. </mxCell>
  325. <mxCell id="134" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;2.Clear the demo control TX/RX available values in shared memory.&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="132">
  326. <mxGeometry y="60" width="490" height="40" as="geometry"/>
  327. </mxCell>
  328. <mxCell id="135" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;3.APU set demo control in shared memory to notify RPU demo has started&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="132">
  329. <mxGeometry y="100" width="490" height="40" as="geometry"/>
  330. </mxCell>
  331. <mxCell id="141" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;4.APU will write message to the shared memory.&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="132">
  332. <mxGeometry y="140" width="490" height="30" as="geometry"/>
  333. </mxCell>
  334. <mxCell id="142" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 15px; line-height: 16px;&quot;&gt;&lt;span style=&quot;&quot;&gt;5.APU will increase TX avail values in the shared memory to notify RPU&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;there is a message ready to read.&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="132">
  335. <mxGeometry y="170" width="490" height="40" as="geometry"/>
  336. </mxCell>
  337. <mxCell id="143" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 15px; line-height: 16px;&quot;&gt;&lt;span style=&quot;&quot;&gt;6.APU will poll the RX avail value in th shared memory to see if RPU&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;has echoed back the message into the shared memory.&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="132">
  338. <mxGeometry y="210" width="490" height="60" as="geometry"/>
  339. </mxCell>
  340. <mxCell id="144" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 15px; line-height: 16px;&quot;&gt;&lt;span style=&quot;&quot;&gt;7.When APU knows there is new RX message available, it will read the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;RX message from the shared memory.&lt;/span&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="132">
  341. <mxGeometry y="270" width="490" height="40" as="geometry"/>
  342. </mxCell>
  343. <mxCell id="147" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;div style=&quot;line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;8.APU will verify the message to see if it matches the one it has sent.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="132">
  344. <mxGeometry y="310" width="490" height="40" as="geometry"/>
  345. </mxCell>
  346. <mxCell id="148" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;div style=&quot;line-height: 16px;&quot;&gt;&lt;div style=&quot;line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;9.Close the shared memory device.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="132">
  347. <mxGeometry y="350" width="490" height="30" as="geometry"/>
  348. </mxCell>
  349. <mxCell id="164" value="&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 12px; line-height: 16px;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;shmem_demo.c(从机 RPU)&lt;/span&gt;&lt;/div&gt;" style="swimlane;fontStyle=0;childLayout=stackLayout;horizontal=1;startSize=30;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#FF3333;" vertex="1" parent="1">
  350. <mxGeometry x="1970" y="-510" width="490" height="380" as="geometry"/>
  351. </mxCell>
  352. <mxCell id="165" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;1.Get the shared memory device I/O region.&lt;span style=&quot;&quot;&gt;&#9;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;labelBorderColor=none;strokeWidth=1;" vertex="1" parent="164">
  353. <mxGeometry y="30" width="490" height="30" as="geometry"/>
  354. </mxCell>
  355. <mxCell id="166" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;2.Clear the demo control value in shared memory.&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="164">
  356. <mxGeometry y="60" width="490" height="30" as="geometry"/>
  357. </mxCell>
  358. <mxCell id="167" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;3.Check the demo control value in the shared memory to wait for APU to start the demo.&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="164">
  359. <mxGeometry y="90" width="490" height="40" as="geometry"/>
  360. </mxCell>
  361. <mxCell id="168" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;4.Once the demo control value indicates the demo starts, it polls on RX available value to see if there is new RX message available.&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="164">
  362. <mxGeometry y="130" width="490" height="60" as="geometry"/>
  363. </mxCell>
  364. <mxCell id="169" value="&lt;div style=&quot;line-height: 16px;&quot;&gt;&lt;span style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 15px;&quot;&gt;5.&lt;/span&gt;&lt;font face=&quot;Consolas, Courier New, monospace&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;If there is a new RX message available, it reads the message from the shared memory.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="164">
  365. <mxGeometry y="190" width="490" height="40" as="geometry"/>
  366. </mxCell>
  367. <mxCell id="170" value="&lt;div style=&quot;line-height: 16px;&quot;&gt;&lt;span style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; font-size: 15px;&quot;&gt;6.&lt;/span&gt;&lt;font face=&quot;Consolas, Courier New, monospace&quot;&gt;&lt;span style=&quot;font-size: 15px;&quot;&gt;It echos back the message to the shared memory.&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="164">
  368. <mxGeometry y="230" width="490" height="30" as="geometry"/>
  369. </mxCell>
  370. <mxCell id="172" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;div style=&quot;line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;7.AIt increases the TX available value in the shared memory to notify the other end there is a message available to read.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="164">
  371. <mxGeometry y="260" width="490" height="60" as="geometry"/>
  372. </mxCell>
  373. <mxCell id="173" value="&lt;div style=&quot;font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px;&quot;&gt;&lt;div style=&quot;line-height: 16px;&quot;&gt;&lt;div style=&quot;line-height: 16px;&quot;&gt;&lt;font style=&quot;font-size: 15px;&quot;&gt;8.Check if the demo control value and the RX available values to see if demo finishes and if there is new RX data available.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="text;strokeColor=#666666;fillColor=#f5f5f5;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;labelBackgroundColor=none;fontSize=21;fontColor=#333333;" vertex="1" parent="164">
  374. <mxGeometry y="320" width="490" height="60" as="geometry"/>
  375. </mxCell>
  376. <mxCell id="175" value="" style="endArrow=classic;startArrow=classic;html=1;dashed=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#FF0000;strokeWidth=5;fontSize=15;fontColor=#6666FF;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" edge="1" parent="1" source="164" target="132">
  377. <mxGeometry width="50" height="50" relative="1" as="geometry">
  378. <mxPoint x="2180" y="-440" as="sourcePoint"/>
  379. <mxPoint x="2230" y="-490" as="targetPoint"/>
  380. </mxGeometry>
  381. </mxCell>
  382. <mxCell id="180" value="" style="edgeStyle=none;html=1;dashed=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#FF0000;strokeWidth=5;fontSize=15;fontColor=#6666FF;" edge="1" parent="1" source="176">
  383. <mxGeometry relative="1" as="geometry">
  384. <mxPoint x="2510" y="-584" as="targetPoint"/>
  385. </mxGeometry>
  386. </mxCell>
  387. <mxCell id="176" value="&lt;font style=&quot;font-size: 25px;&quot;&gt;主从机通信交互&lt;/font&gt;" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="1">
  388. <mxGeometry x="2210" y="-599.5" width="190" height="30" as="geometry"/>
  389. </mxCell>
  390. <mxCell id="182" value="Table" style="shape=table;startSize=30;container=1;collapsible=0;childLayout=tableLayout;fontStyle=1;align=center;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="1">
  391. <mxGeometry x="2520" y="-810" width="470" height="535" as="geometry"/>
  392. </mxCell>
  393. <mxCell id="183" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="182">
  394. <mxGeometry y="30" width="470" height="63" as="geometry"/>
  395. </mxCell>
  396. <mxCell id="184" value="偏移" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="183">
  397. <mxGeometry width="50" height="63" as="geometry">
  398. <mxRectangle width="50" height="63" as="alternateBounds"/>
  399. </mxGeometry>
  400. </mxCell>
  401. <mxCell id="185" value="大小" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="183">
  402. <mxGeometry x="50" width="70" height="63" as="geometry">
  403. <mxRectangle width="70" height="63" as="alternateBounds"/>
  404. </mxGeometry>
  405. </mxCell>
  406. <mxCell id="186" value="说明" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="183">
  407. <mxGeometry x="120" width="350" height="63" as="geometry">
  408. <mxRectangle width="350" height="63" as="alternateBounds"/>
  409. </mxGeometry>
  410. </mxCell>
  411. <mxCell id="204" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="182">
  412. <mxGeometry y="93" width="470" height="63" as="geometry"/>
  413. </mxCell>
  414. <mxCell id="205" value="0" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="204">
  415. <mxGeometry width="50" height="63" as="geometry">
  416. <mxRectangle width="50" height="63" as="alternateBounds"/>
  417. </mxGeometry>
  418. </mxCell>
  419. <mxCell id="206" value="4Bytes" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="204">
  420. <mxGeometry x="50" width="70" height="63" as="geometry">
  421. <mxRectangle width="70" height="63" as="alternateBounds"/>
  422. </mxGeometry>
  423. </mxCell>
  424. <mxCell id="207" value="DEMO control status shows if demo starts or not" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="204">
  425. <mxGeometry x="120" width="350" height="63" as="geometry">
  426. <mxRectangle width="350" height="63" as="alternateBounds"/>
  427. </mxGeometry>
  428. </mxCell>
  429. <mxCell id="187" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="182">
  430. <mxGeometry y="156" width="470" height="64" as="geometry"/>
  431. </mxCell>
  432. <mxCell id="188" value="0x04" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="187">
  433. <mxGeometry width="50" height="64" as="geometry">
  434. <mxRectangle width="50" height="64" as="alternateBounds"/>
  435. </mxGeometry>
  436. </mxCell>
  437. <mxCell id="189" value="4Bytes" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="187">
  438. <mxGeometry x="50" width="70" height="64" as="geometry">
  439. <mxRectangle width="70" height="64" as="alternateBounds"/>
  440. </mxGeometry>
  441. </mxCell>
  442. <mxCell id="190" value="number of APU to RPU buffers available to RPU" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="187">
  443. <mxGeometry x="120" width="350" height="64" as="geometry">
  444. <mxRectangle width="350" height="64" as="alternateBounds"/>
  445. </mxGeometry>
  446. </mxCell>
  447. <mxCell id="191" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="182">
  448. <mxGeometry y="220" width="470" height="63" as="geometry"/>
  449. </mxCell>
  450. <mxCell id="192" value="0x08" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="191">
  451. <mxGeometry width="50" height="63" as="geometry">
  452. <mxRectangle width="50" height="63" as="alternateBounds"/>
  453. </mxGeometry>
  454. </mxCell>
  455. <mxCell id="193" value="4Bytes" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="191">
  456. <mxGeometry x="50" width="70" height="63" as="geometry">
  457. <mxRectangle width="70" height="63" as="alternateBounds"/>
  458. </mxGeometry>
  459. </mxCell>
  460. <mxCell id="194" value="number of APU to RPU buffers consumed by RPU" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="191">
  461. <mxGeometry x="120" width="350" height="63" as="geometry">
  462. <mxRectangle width="350" height="63" as="alternateBounds"/>
  463. </mxGeometry>
  464. </mxCell>
  465. <mxCell id="199" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="182">
  466. <mxGeometry y="283" width="470" height="63" as="geometry"/>
  467. </mxCell>
  468. <mxCell id="200" value="0x0c" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="199">
  469. <mxGeometry width="50" height="63" as="geometry">
  470. <mxRectangle width="50" height="63" as="alternateBounds"/>
  471. </mxGeometry>
  472. </mxCell>
  473. <mxCell id="201" value="4Bytes" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="199">
  474. <mxGeometry x="50" width="70" height="63" as="geometry">
  475. <mxRectangle width="70" height="63" as="alternateBounds"/>
  476. </mxGeometry>
  477. </mxCell>
  478. <mxCell id="202" value="number of RPU to APU buffers available to APU" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="199">
  479. <mxGeometry x="120" width="350" height="63" as="geometry">
  480. <mxRectangle width="350" height="63" as="alternateBounds"/>
  481. </mxGeometry>
  482. </mxCell>
  483. <mxCell id="195" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="182">
  484. <mxGeometry y="346" width="470" height="63" as="geometry"/>
  485. </mxCell>
  486. <mxCell id="196" value="0x10" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="195">
  487. <mxGeometry width="50" height="63" as="geometry">
  488. <mxRectangle width="50" height="63" as="alternateBounds"/>
  489. </mxGeometry>
  490. </mxCell>
  491. <mxCell id="197" value="4Bytes" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="195">
  492. <mxGeometry x="50" width="70" height="63" as="geometry">
  493. <mxRectangle width="70" height="63" as="alternateBounds"/>
  494. </mxGeometry>
  495. </mxCell>
  496. <mxCell id="198" value="number of RPU to APU buffers consumed by APU" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="195">
  497. <mxGeometry x="120" width="350" height="63" as="geometry">
  498. <mxRectangle width="350" height="63" as="alternateBounds"/>
  499. </mxGeometry>
  500. </mxCell>
  501. <mxCell id="209" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="182">
  502. <mxGeometry y="409" width="470" height="63" as="geometry"/>
  503. </mxCell>
  504. <mxCell id="210" value="0x14" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="209">
  505. <mxGeometry width="50" height="63" as="geometry">
  506. <mxRectangle width="50" height="63" as="alternateBounds"/>
  507. </mxGeometry>
  508. </mxCell>
  509. <mxCell id="211" value="1KBytes" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="209">
  510. <mxGeometry x="50" width="70" height="63" as="geometry">
  511. <mxRectangle width="70" height="63" as="alternateBounds"/>
  512. </mxGeometry>
  513. </mxCell>
  514. <mxCell id="212" value="APU to RPU buffer" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="209">
  515. <mxGeometry x="120" width="350" height="63" as="geometry">
  516. <mxRectangle width="350" height="63" as="alternateBounds"/>
  517. </mxGeometry>
  518. </mxCell>
  519. <mxCell id="213" value="" style="shape=tableRow;horizontal=0;startSize=0;swimlaneHead=0;swimlaneBody=0;top=0;left=0;bottom=0;right=0;collapsible=0;dropTarget=0;fillColor=none;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="182">
  520. <mxGeometry y="472" width="470" height="63" as="geometry"/>
  521. </mxCell>
  522. <mxCell id="214" value="0x800" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="213">
  523. <mxGeometry width="50" height="63" as="geometry">
  524. <mxRectangle width="50" height="63" as="alternateBounds"/>
  525. </mxGeometry>
  526. </mxCell>
  527. <mxCell id="215" value="1KBytes" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="213">
  528. <mxGeometry x="50" width="70" height="63" as="geometry">
  529. <mxRectangle width="70" height="63" as="alternateBounds"/>
  530. </mxGeometry>
  531. </mxCell>
  532. <mxCell id="216" value="RPU to APU buffer" style="shape=partialRectangle;html=1;whiteSpace=wrap;connectable=0;fillColor=none;top=0;left=0;bottom=0;right=0;overflow=hidden;labelBackgroundColor=none;labelBorderColor=none;strokeWidth=1;fontSize=15;fontColor=#6666FF;" vertex="1" parent="213">
  533. <mxGeometry x="120" width="350" height="63" as="geometry">
  534. <mxRectangle width="350" height="63" as="alternateBounds"/>
  535. </mxGeometry>
  536. </mxCell>
  537. </root>
  538. </mxGraphModel>
  539. </diagram>
  540. </mxfile>