31fec3bb70
Co-authored-by: zhugengyu <zhugengyu@phytium.com.cn>
94 lines
30 KiB
Plaintext
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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 100%;"><div style="line-height: 100%;"><span style="color: #4ec9b0;"><font style="font-size: 30px;">metal_device</font></span></div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><span style="color: #569cd6;">const</span> <span style="color: #569cd6;">char</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *<span style="color: #9cdcfe;">name</span>;<span style="color: #6a9955;"> &nbsp; &nbsp; &nbsp; /**&lt; Device name */</span></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><span style="color: #569cd6;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_bus</span></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><span style="color: rgb(86, 156, 214); font-size: 21px;">const</span> <span style="color: rgb(86, 156, 214); font-size: 21px;">char</span> &nbsp; &nbsp; *<span style="color: rgb(156, 220, 254); font-size: 21px;">name</span>;</div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 126%; font-size: 21px;"><div style="font-size: 21px; line-height: 126%;"><span style="color: rgb(106, 153, 85); font-size: 21px;">/** Bus operations. */</span></div><div style="font-size: 21px; line-height: 126%;"><span style="color: rgb(106, 153, 85); font-size: 21px;"><br></span></div><div style="font-size: 21px; line-height: 126%;"><span style="color: rgb(106, 153, 85); font-size: 21px;"><br></span></div><div style="font-size: 21px; line-height: 126%;"><span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_bus_ops</span> {</div><div style="font-size: 21px; line-height: 126%;"><span style="color: rgb(86, 156, 214); font-size: 21px;">void</span> &nbsp; &nbsp; &nbsp; &nbsp;(*<span style="color: rgb(156, 220, 254); font-size: 21px;">bus_close</span>)(<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_bus</span> *bus);</div><div style="font-size: 21px; line-height: 126%;"><span style="color: rgb(86, 156, 214); font-size: 21px;">int</span> &nbsp; &nbsp; (*<span style="color: rgb(156, 220, 254); font-size: 21px;">dev_open</span>)(<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_bus</span> *bus,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: rgb(86, 156, 214); font-size: 21px;">const</span> <span style="color: rgb(86, 156, 214); font-size: 21px;">char</span> *dev_name,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_device</span> **device);</div><div style="font-size: 21px; line-height: 126%;"><span style="color: rgb(86, 156, 214); font-size: 21px;">void</span> &nbsp; &nbsp; &nbsp; &nbsp;(*<span style="color: rgb(156, 220, 254); font-size: 21px;">dev_close</span>)(<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_bus</span> *bus,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_device</span> *device);</div><div style="font-size: 21px; line-height: 126%;"><span style="color: rgb(86, 156, 214); font-size: 21px;">void</span> &nbsp; &nbsp; &nbsp; &nbsp;(*<span style="color: rgb(156, 220, 254); font-size: 21px;">dev_irq_ack</span>)(<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_bus</span> *bus,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_device</span> *device,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">int</span> irq);</div><div style="font-size: 21px; line-height: 126%;"><span style="color: rgb(86, 156, 214); font-size: 21px;">int</span> &nbsp; &nbsp; (*<span style="color: rgb(156, 220, 254); font-size: 21px;">dev_dma_map</span>)(<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_bus</span> *bus,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_device</span> *device,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(78, 201, 176); font-size: 21px;">uint32_t</span> dir,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_sg</span> *sg_in,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">int</span> nents_in,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_sg</span> *sg_out);</div><div style="font-size: 21px; line-height: 126%;">&nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">void</span> &nbsp; &nbsp; &nbsp; &nbsp;(*<span style="color: rgb(156, 220, 254); font-size: 21px;">dev_dma_unmap</span>)(<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_bus</span> *bus,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_device</span> *device,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(78, 201, 176); font-size: 21px;">uint32_t</span> dir,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_sg</span> *sg,</div><div style="font-size: 21px; line-height: 126%;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: rgb(86, 156, 214); font-size: 21px;">int</span> nents);</div><div style="font-size: 21px; line-height: 126%;">};</div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_list</span> &nbsp;<span style="color: rgb(156, 220, 254); font-size: 21px;">devices</span>;</div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 16px; font-size: 21px;"><span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_list</span> &nbsp;<span style="color: rgb(156, 220, 254); font-size: 21px;">node</span>;</div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 126%;"><span style="color: #569cd6;">unsigned</span> <span style="color: #569cd6;">int</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #9cdcfe;">num_regions</span>;<span style="color: #6a9955;"> /**&lt; Number of I/O regions in</span><span style="color: rgb(106, 153, 85);">device */</span></div></div>" 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="<p style="line-height: 146%;"></p><div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 126%;"><span style="color: #569cd6;">struct</span> <span style="color: #4ec9b0;">metal_io_region</span> <span style="color: #9cdcfe;">regions</span>[<span style="color: #569cd6;">METAL_MAX_DEVICE_REGIONS</span>];<span style="color: #6a9955;"> /**&lt; Array of</span><span style="color: rgb(106, 153, 85); background-color: initial;">&nbsp;I/O regions in device*/</span></div></div><p></p>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 126%; font-size: 21px;"><span style="color: #569cd6;">void</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *<span style="color: #9cdcfe;">irq_info</span>;<span style="color: #6a9955;"> &nbsp;/**&lt; IRQ ID */</span></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 126%; font-size: 21px;"><span style="color: #569cd6;">int</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #9cdcfe;">irq_num</span>;<span style="color: #6a9955;"> &nbsp; &nbsp;/**&lt; Number of IRQs per device */</span></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 126%; font-size: 21px;"><span style="color: #569cd6;">struct</span> <span style="color: #4ec9b0;">metal_list</span> &nbsp; &nbsp; &nbsp;<span style="color: #9cdcfe;">node</span>;<span style="color: #6a9955;"> &nbsp; &nbsp; &nbsp; /**&lt; Node on bus' list of devices */</span></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><span style="color: #569cd6;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_io_region</span></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 126%;"><span style="color: #569cd6;">struct</span> <span style="color: #4ec9b0;">metal_bus</span> &nbsp; &nbsp; &nbsp; *<span style="color: #9cdcfe;">bus</span>;<span style="color: rgb(106, 153, 85);"> &nbsp; &nbsp; &nbsp; &nbsp;/**&lt; Bus that contains device */</span></div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 16px; font-size: 21px;"><span style="color: rgb(86, 156, 214); font-size: 21px;">struct</span> <span style="color: rgb(78, 201, 176); font-size: 21px;">metal_bus_ops</span> &nbsp; <span style="color: rgb(156, 220, 254); font-size: 21px;">ops</span>;</div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 126%; font-size: 21px;"><div style="line-height: 126%; font-size: 21px;"><div style="line-height: 126%;"><div style="line-height: 126%;"><span style="color: #569cd6;">void</span> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; *<span style="color: #9cdcfe;">virt</span>;<span style="color: rgb(106, 153, 85); font-size: 21px;"> &nbsp; &nbsp; &nbsp;/**&lt; base virtual address */</span></div></div></div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 16px; font-size: 21px;"><div style="line-height: 126%;"><div style="line-height: 126%;"><div style="line-height: 126%;"><span style="color: #569cd6;">const</span> <span style="color: #4ec9b0;">metal_phys_addr_t</span> &nbsp; &nbsp;*<span style="color: #9cdcfe;">physmap</span>;<span style="color: #6a9955;"> &nbsp; /**&lt; table of base physical address</span></div><div style="line-height: 126%;"><span style="color: #6a9955;">&nbsp;of each of the pages in the I/O&nbsp;</span><span style="color: rgb(106, 153, 85);">region*/</span></div></div></div></div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 16px; font-size: 21px;"><div style="line-height: 126%;"><div style="line-height: 126%;"><div style="line-height: 126%;"><span style="color: #4ec9b0;">size_t</span> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #9cdcfe;">size</span>;<span style="color: #6a9955;">/**&lt; size of the I/O region */</span></div></div></div></div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 16px; font-size: 21px;"><div style="line-height: 126%;"><div style="line-height: 126%;"><div style="line-height: 126%;"><span style="color: #569cd6;">unsigned</span> <span style="color: #569cd6;">long</span> &nbsp; &nbsp; &nbsp;<span style="color: #9cdcfe;">page_shift</span>;<span style="color: #6a9955;"> /**&lt; page shift of I/O region */</span></div></div></div></div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 16px; font-size: 21px;"><div style="line-height: 126%;"><div style="line-height: 126%;"><span style="color: #4ec9b0;">metal_phys_addr_t</span> &nbsp;<span style="color: #9cdcfe;">page_mask</span>;<span style="color: #6a9955;"> &nbsp;/**&lt; page mask of I/O region */</span></div></div></div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 16px; font-size: 21px;"><div style="line-height: 126%;"><div style="line-height: 126%;"><div style="line-height: 126%;"><span style="color: #569cd6;">unsigned</span> <span style="color: #569cd6;">int</span> &nbsp; &nbsp; &nbsp; <span style="color: #9cdcfe;">mem_flags</span>;<span style="color: #6a9955;"> &nbsp;/**&lt; memory attribute of the&nbsp;</span><span style="color: rgb(106, 153, 85);">I/O region */</span></div></div></div></div></div>" 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="<div style="color: rgb(212, 212, 212); font-family: Consolas, &quot;Courier New&quot;, monospace; line-height: 16px; font-size: 21px;"><div style="line-height: 16px; font-size: 21px;"><div style="line-height: 126%;"><div style="line-height: 126%;"><span style="color: #569cd6;">struct</span> <span style="color: #4ec9b0;">metal_io_ops</span> &nbsp; &nbsp;<span style="color: #9cdcfe;">ops</span>;<span style="color: #6a9955;"> &nbsp; &nbsp; &nbsp; &nbsp;/**&lt; I/O region operations */</span></div></div></div></div>" 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> |