zhangyan 31fec3bb70
[bsp] phytium e2000 update (#7900)
Co-authored-by: zhugengyu <zhugengyu@phytium.com.cn>
2023-08-02 13:27:09 +08:00

94 lines
30 KiB
Plaintext

<mxfile host="65bd71144e">
<diagram id="qepeh9YM478qn1hoiCdz" name="第 1 页">
<mxGraphModel dx="2283" dy="1340" 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">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<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: 100%;&quot;&gt;&lt;div style=&quot;line-height: 100%;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;&lt;font style=&quot;font-size: 30px;&quot;&gt;metal_device&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;verticalAlign=top;labelBackgroundColor=default;" parent="1" vertex="1">
<mxGeometry x="30" y="70" width="760" height="1060" as="geometry"/>
</mxCell>
<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; font-size: 21px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;char&lt;/span&gt; &amp;nbsp; &amp;nbsp; &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: #6a9955;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; /**&amp;lt; Device name */&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBorderColor=none;labelBackgroundColor=default;strokeColor=#3333FF;verticalAlign=middle;flipV=1;flipH=1;" parent="1" vertex="1">
<mxGeometry x="70" y="170" width="680" height="70" as="geometry"/>
</mxCell>
<mxCell id="6" 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: 21px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_bus&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;strokeColor=#3333FF;verticalAlign=top;labelBackgroundColor=default;" parent="1" vertex="1">
<mxGeometry x="900" y="10" width="650" height="410" as="geometry"/>
</mxCell>
<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; font-size: 21px;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;char&lt;/span&gt; &amp;nbsp; &amp;nbsp; *&lt;span style=&quot;color: rgb(156, 220, 254); font-size: 21px;&quot;&gt;name&lt;/span&gt;;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;strokeColor=#FF3399;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="950" y="91" width="540" height="50" as="geometry"/>
</mxCell>
<mxCell id="8" 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;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 21px;&quot;&gt;/** Bus operations. */&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 21px;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(106, 153, 85); font-size: 21px;&quot;&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_bus_ops&lt;/span&gt; {&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;void&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(*&lt;span style=&quot;color: rgb(156, 220, 254); font-size: 21px;&quot;&gt;bus_close&lt;/span&gt;)(&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_bus&lt;/span&gt; *bus);&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;int&lt;/span&gt; &amp;nbsp; &amp;nbsp; (*&lt;span style=&quot;color: rgb(156, 220, 254); font-size: 21px;&quot;&gt;dev_open&lt;/span&gt;)(&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_bus&lt;/span&gt; *bus,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;const&lt;/span&gt; &lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;char&lt;/span&gt; *dev_name,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_device&lt;/span&gt; **device);&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;void&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(*&lt;span style=&quot;color: rgb(156, 220, 254); font-size: 21px;&quot;&gt;dev_close&lt;/span&gt;)(&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_bus&lt;/span&gt; *bus,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_device&lt;/span&gt; *device);&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;void&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(*&lt;span style=&quot;color: rgb(156, 220, 254); font-size: 21px;&quot;&gt;dev_irq_ack&lt;/span&gt;)(&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_bus&lt;/span&gt; *bus,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_device&lt;/span&gt; *device,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;int&lt;/span&gt; irq);&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;int&lt;/span&gt; &amp;nbsp; &amp;nbsp; (*&lt;span style=&quot;color: rgb(156, 220, 254); font-size: 21px;&quot;&gt;dev_dma_map&lt;/span&gt;)(&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_bus&lt;/span&gt; *bus,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_device&lt;/span&gt; *device,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;uint32_t&lt;/span&gt; dir,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_sg&lt;/span&gt; *sg_in,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;int&lt;/span&gt; nents_in,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_sg&lt;/span&gt; *sg_out);&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;void&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(*&lt;span style=&quot;color: rgb(156, 220, 254); font-size: 21px;&quot;&gt;dev_dma_unmap&lt;/span&gt;)(&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_bus&lt;/span&gt; *bus,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_device&lt;/span&gt; *device,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;uint32_t&lt;/span&gt; dir,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_sg&lt;/span&gt; *sg,&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;int&lt;/span&gt; nents);&lt;/div&gt;&lt;div style=&quot;font-size: 21px; line-height: 126%;&quot;&gt;};&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;verticalAlign=middle;align=center;strokeColor=#FF3399;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="1690" y="30" width="660" height="760" as="geometry"/>
</mxCell>
<mxCell id="9" 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: 21px;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_list&lt;/span&gt; &amp;nbsp;&lt;span style=&quot;color: rgb(156, 220, 254); font-size: 21px;&quot;&gt;devices&lt;/span&gt;;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#FF3399;fontColor=default;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="950" y="261" width="540" height="50" as="geometry"/>
</mxCell>
<mxCell id="10" 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: 21px;&quot;&gt;&lt;div style=&quot;line-height: 16px; font-size: 21px;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_list&lt;/span&gt; &amp;nbsp;&lt;span style=&quot;color: rgb(156, 220, 254); font-size: 21px;&quot;&gt;node&lt;/span&gt;;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#FF3399;fontColor=default;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="950" y="351" width="540" height="50" as="geometry"/>
</mxCell>
<mxCell id="11" 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: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt; &amp;nbsp; &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: #6a9955;&quot;&gt; /**&amp;lt; Number of I/O regions in&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 153, 85);&quot;&gt;device */&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#3333FF;fontColor=default;verticalAlign=middle;flipV=1;flipH=1;align=center;" parent="1" vertex="1">
<mxGeometry x="70" y="439" width="690" height="111" as="geometry"/>
</mxCell>
<mxCell id="12" value="&lt;p style=&quot;line-height: 146%;&quot;&gt;&lt;/p&gt;&lt;div style=&quot;color: rgb(212, 212, 212); font-family: Consolas, &amp;quot;Courier New&amp;quot;, monospace; line-height: 16px; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&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;regions&lt;/span&gt;[&lt;span style=&quot;color: #569cd6;&quot;&gt;METAL_MAX_DEVICE_REGIONS&lt;/span&gt;];&lt;span style=&quot;color: #6a9955;&quot;&gt; /**&amp;lt; Array of&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 153, 85); background-color: initial;&quot;&gt;&amp;nbsp;I/O regions in device*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#3333FF;fontColor=default;verticalAlign=middle;flipV=1;flipH=1;" parent="1" vertex="1">
<mxGeometry x="70" y="600" width="690" height="110" as="geometry"/>
</mxCell>
<mxCell id="13" 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: #569cd6;&quot;&gt;void&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *&lt;span style=&quot;color: #9cdcfe;&quot;&gt;irq_info&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; &amp;nbsp;/**&amp;lt; IRQ ID */&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#3333FF;fontColor=default;verticalAlign=middle;flipV=1;flipH=1;" parent="1" vertex="1">
<mxGeometry x="70" y="960" width="690" height="60" as="geometry"/>
</mxCell>
<mxCell id="14" 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: #569cd6;&quot;&gt;int&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &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: #6a9955;&quot;&gt; &amp;nbsp; &amp;nbsp;/**&amp;lt; Number of IRQs per device */&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#3333FF;fontColor=default;verticalAlign=middle;flipV=1;flipH=1;" parent="1" vertex="1">
<mxGeometry x="70" y="840" width="690" height="60" as="geometry"/>
</mxCell>
<mxCell id="15" 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: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_list&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;node&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; /**&amp;lt; Node on bus' list of devices */&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#3333FF;fontColor=default;verticalAlign=middle;flipV=1;flipH=1;" parent="1" vertex="1">
<mxGeometry x="70" y="738" width="690" height="60" as="geometry"/>
</mxCell>
<mxCell id="16" 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: 21px;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_io_region&lt;/span&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=none;labelBorderColor=none;strokeColor=#3333FF;fontColor=default;verticalAlign=top;" parent="1" vertex="1">
<mxGeometry x="913" y="451" width="650" height="690" as="geometry"/>
</mxCell>
<mxCell id="18" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=default;endWidth=23.333333333333336;endSize=5.366666666666667;" parent="1" target="6" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="750" y="344.09" as="sourcePoint"/>
<mxPoint x="851" y="344.09" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="20" 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: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_bus&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; *&lt;span style=&quot;color: #9cdcfe;&quot;&gt;bus&lt;/span&gt;;&lt;span style=&quot;color: rgb(106, 153, 85);&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**&amp;lt; Bus that contains device */&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBorderColor=none;labelBackgroundColor=none;strokeColor=#3333FF;verticalAlign=middle;flipV=1;flipH=1;" parent="1" vertex="1">
<mxGeometry x="70" y="290" width="680" height="110" as="geometry"/>
</mxCell>
<mxCell id="21" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=default;endWidth=23.333333333333336;endSize=5.366666666666667;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.25;entryDx=0;entryDy=0;" parent="1" source="12" target="16" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="760" y="870" as="sourcePoint"/>
<mxPoint x="850" y="858" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="22" 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: 21px;&quot;&gt;&lt;div style=&quot;line-height: 16px; font-size: 21px;&quot;&gt;&lt;span style=&quot;color: rgb(86, 156, 214); font-size: 21px;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: rgb(78, 201, 176); font-size: 21px;&quot;&gt;metal_bus_ops&lt;/span&gt; &amp;nbsp; &lt;span style=&quot;color: rgb(156, 220, 254); font-size: 21px;&quot;&gt;ops&lt;/span&gt;;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#FF3399;fontColor=default;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="950" y="180" width="540" height="50" as="geometry"/>
</mxCell>
<mxCell id="23" value="" style="shape=flexArrow;endArrow=classic;html=1;fontColor=default;endWidth=23.333333333333336;endSize=5.366666666666667;entryX=0;entryY=0.368;entryDx=0;entryDy=0;entryPerimeter=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="1" source="22" target="8" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="1440.0000000000002" y="294.8199999999999" as="sourcePoint"/>
<mxPoint x="1541" y="294.8199999999999" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="25" 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;div style=&quot;line-height: 126%; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;void&lt;/span&gt; &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: rgb(106, 153, 85); font-size: 21px;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**&amp;lt; base virtual address */&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#FF3399;fontColor=default;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="955" y="491" width="540" height="60" as="geometry"/>
</mxCell>
<mxCell id="26" 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: 21px;&quot;&gt;&lt;div style=&quot;line-height: 16px; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&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; &amp;nbsp; &amp;nbsp;*&lt;span style=&quot;color: #9cdcfe;&quot;&gt;physmap&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; &amp;nbsp; /**&amp;lt; table of base physical address&lt;/span&gt;&lt;/div&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #6a9955;&quot;&gt;&amp;nbsp;of each of the pages in the I/O&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 153, 85);&quot;&gt;region*/&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#FF3399;fontColor=default;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="955" y="567" width="540" height="100" as="geometry"/>
</mxCell>
<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; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 16px; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;size_t&lt;/span&gt; &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: #6a9955;&quot;&gt;/**&amp;lt; size of the I/O region */&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#FF3399;fontColor=default;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="955" y="684" width="540" height="60" as="geometry"/>
</mxCell>
<mxCell id="28" 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: 21px;&quot;&gt;&lt;div style=&quot;line-height: 16px; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;long&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;page_shift&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; /**&amp;lt; page shift of I/O region */&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#FF3399;fontColor=default;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="961.5" y="771" width="541.5" height="70" as="geometry"/>
</mxCell>
<mxCell id="29" 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: 21px;&quot;&gt;&lt;div style=&quot;line-height: 16px; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_phys_addr_t&lt;/span&gt; &amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;page_mask&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; &amp;nbsp;/**&amp;lt; page mask of I/O region */&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#FF3399;fontColor=default;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="961.5" y="861" width="540" height="70" as="geometry"/>
</mxCell>
<mxCell id="30" 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: 21px;&quot;&gt;&lt;div style=&quot;line-height: 16px; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;unsigned&lt;/span&gt; &lt;span style=&quot;color: #569cd6;&quot;&gt;int&lt;/span&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;span style=&quot;color: #9cdcfe;&quot;&gt;mem_flags&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; &amp;nbsp;/**&amp;lt; memory attribute of the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: rgb(106, 153, 85);&quot;&gt;I/O region */&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#FF3399;fontColor=default;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="961.5" y="946" width="540" height="65" as="geometry"/>
</mxCell>
<mxCell id="31" 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: 21px;&quot;&gt;&lt;div style=&quot;line-height: 16px; font-size: 21px;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;div style=&quot;line-height: 126%;&quot;&gt;&lt;span style=&quot;color: #569cd6;&quot;&gt;struct&lt;/span&gt; &lt;span style=&quot;color: #4ec9b0;&quot;&gt;metal_io_ops&lt;/span&gt; &amp;nbsp; &amp;nbsp;&lt;span style=&quot;color: #9cdcfe;&quot;&gt;ops&lt;/span&gt;;&lt;span style=&quot;color: #6a9955;&quot;&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;/**&amp;lt; I/O region operations */&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;" style="rounded=1;whiteSpace=wrap;html=1;labelBackgroundColor=default;labelBorderColor=none;strokeColor=#FF3399;fontColor=default;fontSize=21;" parent="1" vertex="1">
<mxGeometry x="961.5" y="1031" width="540" height="80" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>