l4re-base-25.08.0

This commit is contained in:
2025-09-12 15:55:45 +02:00
commit d959eaab98
37938 changed files with 9382688 additions and 0 deletions

View File

@@ -0,0 +1,299 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<!-- Generated by graphviz version 2.42.4 (0)
-->
<!-- Title: cxx::access_once Pages: 1 -->
<svg width="617pt" height="467pt"
viewBox="0.00 0.00 617.00 467.00" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<g id="graph0" class="graph" transform="scale(1 1) rotate(0) translate(4 463)">
<title>cxx::access_once</title>
<!-- Node1 -->
<g id="Node000001" class="node">
<title>Node1</title>
<g id="a_Node000001"><a xlink:title="Read the value at an address at most once.">
<polygon fill="#999999" stroke="#666666" points="609,-191 508,-191 508,-172 609,-172 609,-191"/>
<text text-anchor="middle" x="558.5" y="-179" font-family="Helvetica,sans-Serif" font-size="10.00">cxx::access_once</text>
</a>
</g>
</g>
<!-- Node2 -->
<g id="Node000002" class="node">
<title>Node2</title>
<g id="a_Node000002"><a xlink:href="classL4virtio_1_1Svr_1_1Request__processor.html#a0bb9280caa7b899486ccd83bcf0588cd" target="_top" xlink:title="Switch to the next descriptor in a descriptor chain.">
<polygon fill="white" stroke="#666666" points="472,-172.5 351,-172.5 351,-142.5 472,-142.5 472,-172.5"/>
<text text-anchor="start" x="359" y="-160.5" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Request</text>
<text text-anchor="middle" x="411.5" y="-149.5" font-family="Helvetica,sans-Serif" font-size="10.00">_processor::next</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node2 -->
<g id="edge1_Node000001_Node000002" class="edge">
<title>Node1&#45;&gt;Node2</title>
<g id="a_edge1_Node000001_Node000002"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M497.55,-171.58C489.19,-170.19 480.6,-168.77 472.25,-167.39"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="497.16,-175.06 507.6,-173.24 498.31,-168.15 497.16,-175.06"/>
</a>
</g>
</g>
<!-- Node8 -->
<g id="Node000008" class="node">
<title>Node8</title>
<g id="a_Node000008"><a xlink:href="classL4virtio_1_1Svr_1_1Request__processor.html#abcf6a6b8bf80e0d73d45b5eb9e817abd" target="_top" xlink:title="Start processing a new request.">
<polygon fill="white" stroke="#666666" points="472,-268.5 351,-268.5 351,-238.5 472,-238.5 472,-268.5"/>
<text text-anchor="start" x="359" y="-256.5" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Request</text>
<text text-anchor="middle" x="411.5" y="-245.5" font-family="Helvetica,sans-Serif" font-size="10.00">_processor::start</text>
</a>
</g>
</g>
<!-- Node1&#45;&gt;Node8 -->
<g id="edge7_Node000001_Node000008" class="edge">
<title>Node1&#45;&gt;Node8</title>
<g id="a_edge7_Node000001_Node000008"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M529,-195.65C504.2,-207.97 468.34,-225.77 442.97,-238.37"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="530.85,-198.64 538.25,-191.06 527.73,-192.37 530.85,-198.64"/>
</a>
</g>
</g>
<!-- Node3 -->
<g id="Node000003" class="node">
<title>Node3</title>
<g id="a_Node000003"><a xlink:href="classL4virtio_1_1Svr_1_1Block__request.html#a5f6bf664cda7dfe4f82d8726f6c33099" target="_top" xlink:title="Compute the total size of the data in the request.">
<polygon fill="white" stroke="#666666" points="296,-244.5 185,-244.5 185,-214.5 296,-214.5 296,-244.5"/>
<text text-anchor="start" x="193" y="-232.5" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Block</text>
<text text-anchor="middle" x="240.5" y="-221.5" font-family="Helvetica,sans-Serif" font-size="10.00">_request::data_size</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node3 -->
<g id="edge2_Node000002_Node000003" class="edge">
<title>Node2&#45;&gt;Node3</title>
<g id="a_edge2_Node000002_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M373.73,-177.61C356.23,-186.75 334.83,-197.33 315,-205.5 307.43,-208.62 299.29,-211.61 291.29,-214.37"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="375.81,-180.46 383.02,-172.7 372.54,-174.28 375.81,-180.46"/>
</a>
</g>
</g>
<!-- Node4 -->
<g id="Node000004" class="node">
<title>Node4</title>
<g id="a_Node000004"><a xlink:href="structL4virtio_1_1Svr_1_1Virtio__gpio_1_1Request__processor.html#a8cf80c62bc7d771826e825da45116266" target="_top" xlink:title="The driver prepares the GPIO request in two data parts: 1st: in_hdr 2rd: out_hdr.">
<polygon fill="white" stroke="#666666" points="311,-41 170,-41 170,0 311,0 311,-41"/>
<text text-anchor="start" x="178" y="-29" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Virtio</text>
<text text-anchor="start" x="178" y="-18" font-family="Helvetica,sans-Serif" font-size="10.00">_gpio::Request_processor</text>
<text text-anchor="middle" x="240.5" y="-7" font-family="Helvetica,sans-Serif" font-size="10.00">::get_request</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node4 -->
<g id="edge3_Node000002_Node000004" class="edge">
<title>Node2&#45;&gt;Node4</title>
<g id="a_edge3_Node000002_Node000004"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M394.79,-133.96C377.66,-109.88 348.22,-72.78 315,-49.5 310.62,-46.43 305.87,-43.62 300.96,-41.07"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="391.94,-135.99 400.53,-142.2 397.68,-131.99 391.94,-135.99"/>
</a>
</g>
</g>
<!-- Node5 -->
<g id="Node000005" class="node">
<title>Node5</title>
<g id="a_Node000005"><a xlink:href="classL4virtio_1_1Svr_1_1Virtio__i2c_1_1Request__processor.html#a6fc14302d7a76a9aee642bb2ea981e84" target="_top" xlink:title="Linux prepares the I2C request in three data parts: 1st: out_hdr 2nd: buffer (optional) 3rd: in_hdr.">
<polygon fill="white" stroke="#666666" points="307.5,-100 173.5,-100 173.5,-59 307.5,-59 307.5,-100"/>
<text text-anchor="start" x="181.5" y="-88" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Virtio</text>
<text text-anchor="start" x="181.5" y="-77" font-family="Helvetica,sans-Serif" font-size="10.00">_i2c::Request_processor</text>
<text text-anchor="middle" x="240.5" y="-66" font-family="Helvetica,sans-Serif" font-size="10.00">::get_request</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node5 -->
<g id="edge4_Node000002_Node000005" class="edge">
<title>Node2&#45;&gt;Node5</title>
<g id="a_edge4_Node000002_Node000005"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M372.68,-137.64C355.27,-128.71 334.24,-118.25 315,-109.5 308.1,-106.36 300.77,-103.19 293.52,-100.14"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="371.46,-140.94 381.95,-142.41 374.66,-134.72 371.46,-140.94"/>
</a>
</g>
</g>
<!-- Node6 -->
<g id="Node000006" class="node">
<title>Node6</title>
<g id="a_Node000006"><a xlink:href="classL4virtio_1_1Svr_1_1Console_1_1Device.html#acf4b1bbf927d4d40b2532a7a18bf21bd" target="_top" xlink:title="Read data from port.">
<polygon fill="white" stroke="#666666" points="300.5,-196.5 180.5,-196.5 180.5,-166.5 300.5,-166.5 300.5,-196.5"/>
<text text-anchor="start" x="188.5" y="-184.5" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Console</text>
<text text-anchor="middle" x="240.5" y="-173.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Device::port_read</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node6 -->
<g id="edge5_Node000002_Node000006" class="edge">
<title>Node2&#45;&gt;Node6</title>
<g id="a_edge5_Node000002_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M340.81,-167.4C327.43,-169.3 313.55,-171.27 300.54,-173.11"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="341.51,-170.83 350.92,-165.96 340.52,-163.9 341.51,-170.83"/>
</a>
</g>
</g>
<!-- Node7 -->
<g id="Node000007" class="node">
<title>Node7</title>
<g id="a_Node000007"><a xlink:href="classL4virtio_1_1Svr_1_1Console_1_1Device.html#a5b906c9cec86e9cf30dff4fe1edf1b11" target="_top" xlink:title="Write data to port.">
<polygon fill="white" stroke="#666666" points="300.5,-148.5 180.5,-148.5 180.5,-118.5 300.5,-118.5 300.5,-148.5"/>
<text text-anchor="start" x="188.5" y="-136.5" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Console</text>
<text text-anchor="middle" x="240.5" y="-125.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Device::port_write</text>
</a>
</g>
</g>
<!-- Node2&#45;&gt;Node7 -->
<g id="edge6_Node000002_Node000007" class="edge">
<title>Node2&#45;&gt;Node7</title>
<g id="a_edge6_Node000002_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M340.81,-147.6C327.43,-145.7 313.55,-143.73 300.54,-141.89"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="340.52,-151.1 350.92,-149.04 341.51,-144.17 340.52,-151.1"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node3 -->
<g id="edge8_Node000008_Node000003" class="edge">
<title>Node8&#45;&gt;Node3</title>
<g id="a_edge8_Node000008_Node000003"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M340.72,-243.59C325.81,-241.47 310.27,-239.27 296.03,-237.24"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="340.52,-247.1 350.92,-245.04 341.51,-240.17 340.52,-247.1"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node6 -->
<g id="edge12_Node000008_Node000006" class="edge">
<title>Node8&#45;&gt;Node6</title>
<g id="a_edge12_Node000008_Node000006"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M373.73,-233.39C356.23,-224.25 334.83,-213.67 315,-205.5 307.43,-202.38 299.29,-199.39 291.29,-196.63"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="372.54,-236.72 383.02,-238.3 375.81,-230.54 372.54,-236.72"/>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node7 -->
<g id="edge13_Node000008_Node000007" class="edge">
<title>Node8&#45;&gt;Node7</title>
<g id="a_edge13_Node000008_Node000007"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M392.85,-230.27C375.28,-208.63 346.46,-176.87 315,-157.5 309.51,-154.12 303.5,-151.17 297.35,-148.6"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="390.27,-232.65 399.23,-238.3 395.75,-228.3 390.27,-232.65"/>
</a>
</g>
</g>
<!-- Node9 -->
<g id="Node000009" class="node">
<title>Node9</title>
<g id="a_Node000009"><a xlink:href="classVirtio__net__request.html#a7b7f4879d5a6d2081e4dac7266c50fbc" target="_top" xlink:title="Drop all requests of a specific queue.">
<polygon fill="white" stroke="#666666" points="293.5,-292.5 187.5,-292.5 187.5,-262.5 293.5,-262.5 293.5,-292.5"/>
<text text-anchor="start" x="195.5" y="-280.5" font-family="Helvetica,sans-Serif" font-size="10.00">Virtio_net_request</text>
<text text-anchor="middle" x="240.5" y="-269.5" font-family="Helvetica,sans-Serif" font-size="10.00">::drop_requests</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node9 -->
<g id="edge9_Node000008_Node000009" class="edge">
<title>Node8&#45;&gt;Node9</title>
<g id="a_edge9_Node000008_Node000009"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M340.68,-263.42C324.9,-265.66 308.42,-268 293.53,-270.11"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="341.51,-266.83 350.92,-261.96 340.52,-259.9 341.51,-266.83"/>
</a>
</g>
</g>
<!-- Node11 -->
<g id="Node000011" class="node">
<title>Node11</title>
<g id="a_Node000011"><a xlink:href="classL4virtio_1_1Svr_1_1Console_1_1Virtio__con.html#ab3766f6b0a63966a6063ae540bb844a1" target="_top" xlink:title="Handle control message received from the driver.">
<polygon fill="white" stroke="#666666" points="315,-459 166,-459 166,-418 315,-418 315,-459"/>
<text text-anchor="start" x="174" y="-447" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Console</text>
<text text-anchor="start" x="174" y="-436" font-family="Helvetica,sans-Serif" font-size="10.00">::Virtio_con::handle_control</text>
<text text-anchor="middle" x="240.5" y="-425" font-family="Helvetica,sans-Serif" font-size="10.00">_message</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node11 -->
<g id="edge11_Node000008_Node000011" class="edge">
<title>Node8&#45;&gt;Node11</title>
<g id="a_edge11_Node000008_Node000011"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M401.27,-278.21C387.42,-312.18 358.19,-373.22 315,-409.5 311.32,-412.59 307.28,-415.37 303.03,-417.88"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="404.65,-279.18 405.08,-268.59 398.14,-276.61 404.65,-279.18"/>
</a>
</g>
</g>
<!-- Node12 -->
<g id="Node000012" class="node">
<title>Node12</title>
<g id="a_Node000012"><a xlink:href="classL4virtio_1_1Svr_1_1Console_1_1Virtio__con.html#ade546fa843dcfb4a0412757fee9834d7" target="_top" xlink:title="Send control message to driver.">
<polygon fill="white" stroke="#666666" points="310.5,-400 170.5,-400 170.5,-359 310.5,-359 310.5,-400"/>
<text text-anchor="start" x="178.5" y="-388" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Console</text>
<text text-anchor="start" x="178.5" y="-377" font-family="Helvetica,sans-Serif" font-size="10.00">::Virtio_con::send_control</text>
<text text-anchor="middle" x="240.5" y="-366" font-family="Helvetica,sans-Serif" font-size="10.00">_message</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node12 -->
<g id="edge14_Node000008_Node000012" class="edge">
<title>Node8&#45;&gt;Node12</title>
<g id="a_edge14_Node000008_Node000012"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M392.23,-276.59C374.4,-297.86 345.57,-329.13 315,-349.5 309.84,-352.94 304.22,-356.1 298.47,-358.96"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="395.07,-278.64 398.72,-268.69 389.67,-274.19 395.07,-278.64"/>
</a>
</g>
</g>
<!-- Node14 -->
<g id="Node000014" class="node">
<title>Node14</title>
<g id="a_Node000014"><a xlink:href="classL4virtio_1_1Svr_1_1Request__processor.html#a76dec7903350c50fe5ce0b8f7129f9bd" target="_top" xlink:title="Start processing a new request.">
<polygon fill="white" stroke="#666666" points="301,-340.5 180,-340.5 180,-310.5 301,-310.5 301,-340.5"/>
<text text-anchor="start" x="188" y="-328.5" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Request</text>
<text text-anchor="middle" x="240.5" y="-317.5" font-family="Helvetica,sans-Serif" font-size="10.00">_processor::start</text>
</a>
</g>
</g>
<!-- Node8&#45;&gt;Node14 -->
<g id="edge16_Node000008_Node000014" class="edge">
<title>Node8&#45;&gt;Node14</title>
<g id="a_edge16_Node000008_Node000014"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M373.73,-273.61C356.23,-282.75 334.83,-293.33 315,-301.5 307.43,-304.62 299.29,-307.61 291.29,-310.37"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="375.81,-276.46 383.02,-268.7 372.54,-270.28 375.81,-276.46"/>
</a>
</g>
</g>
<!-- Node10 -->
<g id="Node000010" class="node">
<title>Node10</title>
<g id="a_Node000010"><a xlink:href="classL4virtio__port.html#a07b9f78ead034deb26fa0ea8af5d409d" target="_top" xlink:title="Drop all requests pending in the transmission queue.">
<polygon fill="white" stroke="#666666" points="118,-292.5 12,-292.5 12,-262.5 118,-262.5 118,-292.5"/>
<text text-anchor="start" x="20" y="-280.5" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio_port::drop</text>
<text text-anchor="middle" x="65" y="-269.5" font-family="Helvetica,sans-Serif" font-size="10.00">_requests</text>
</a>
</g>
</g>
<!-- Node9&#45;&gt;Node10 -->
<g id="edge10_Node000009_Node000010" class="edge">
<title>Node9&#45;&gt;Node10</title>
<g id="a_edge10_Node000009_Node000010"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M177.19,-277.5C157.79,-277.5 136.63,-277.5 118.02,-277.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="177.44,-281 187.44,-277.5 177.44,-274 177.44,-281"/>
</a>
</g>
</g>
<!-- Node13 -->
<g id="Node000013" class="node">
<title>Node13</title>
<g id="a_Node000013"><a xlink:href="classL4virtio_1_1Svr_1_1Console_1_1Virtio__con.html#a72a318f5bf7cf781cde60a2f6a5d16f4" target="_top" xlink:title="Send a PORT_NAME message to announce the port name.">
<polygon fill="white" stroke="#666666" points="130,-394.5 0,-394.5 0,-364.5 130,-364.5 130,-394.5"/>
<text text-anchor="start" x="8" y="-382.5" font-family="Helvetica,sans-Serif" font-size="10.00">L4virtio::Svr::Console</text>
<text text-anchor="middle" x="65" y="-371.5" font-family="Helvetica,sans-Serif" font-size="10.00">::Virtio_con::port_name</text>
</a>
</g>
</g>
<!-- Node12&#45;&gt;Node13 -->
<g id="edge15_Node000012_Node000013" class="edge">
<title>Node12&#45;&gt;Node13</title>
<g id="a_edge15_Node000012_Node000013"><a xlink:title=" ">
<path fill="none" stroke="#63b8ff" d="M160.35,-379.5C150.2,-379.5 139.91,-379.5 130.04,-379.5"/>
<polygon fill="#63b8ff" stroke="#63b8ff" points="160.43,-383 170.43,-379.5 160.43,-376 160.43,-383"/>
</a>
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 16 KiB