unplugged-system/device/google/cuttlefish/host/commands/secure_env/doc/linkage.svg

282 lines
15 KiB
XML
Raw Normal View History

<?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.43.0 (0)
-->
<!-- Title: %3 Pages: 1 -->
<svg width="1180pt" height="423pt"
viewBox="0.00 0.00 1179.50 423.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 419)">
<title>%3</title>
<polygon fill="white" stroke="transparent" points="-4,4 -4,-419 1175.5,-419 1175.5,4 -4,4"/>
<g id="clust2" class="cluster">
<title>cluster_android</title>
<polygon fill="none" stroke="black" points="297.5,-8 297.5,-155 879.5,-155 879.5,-8 297.5,-8"/>
<text text-anchor="middle" x="588.5" y="-139.8" font-family="Times,serif" font-size="14.00">Android VM</text>
</g>
<!-- browser -->
<g id="node1" class="node">
<title>browser</title>
<ellipse fill="none" stroke="black" cx="904.5" cy="-397" rx="40.09" ry="18"/>
<text text-anchor="middle" x="904.5" y="-393.3" font-family="Times,serif" font-size="14.00">Browser</text>
</g>
<!-- webRTC -->
<g id="node6" class="node">
<title>webRTC</title>
<ellipse fill="none" stroke="black" cx="904.5" cy="-325" rx="42.49" ry="18"/>
<text text-anchor="middle" x="904.5" y="-321.3" font-family="Times,serif" font-size="14.00">webRTC</text>
</g>
<!-- browser&#45;&gt;webRTC -->
<g id="edge1" class="edge">
<title>browser&#45;&gt;webRTC</title>
<path fill="none" stroke="black" d="M904.5,-378.7C904.5,-370.98 904.5,-361.71 904.5,-353.11"/>
<polygon fill="black" stroke="black" points="908,-353.1 904.5,-343.1 901,-353.1 908,-353.1"/>
</g>
<!-- confirmationui_sign -->
<g id="node2" class="node">
<title>confirmationui_sign</title>
<polygon fill="none" stroke="red" points="788.5,-343 634.5,-343 634.5,-307 788.5,-307 788.5,-343"/>
<text text-anchor="middle" x="711.5" y="-321.3" font-family="Times,serif" font-size="14.00">internal/confui_sign.sock</text>
</g>
<!-- confirmationui_sign&#45;&gt;webRTC -->
<g id="edge10" class="edge">
<title>confirmationui_sign&#45;&gt;webRTC</title>
<path fill="none" stroke="red" d="M798.79,-325C816.4,-325 834.02,-325 851.64,-325"/>
<polygon fill="red" stroke="red" points="798.78,-321.5 788.78,-325 798.78,-328.5 798.78,-321.5"/>
<polygon fill="red" stroke="red" points="852.01,-328.5 862.01,-325 852.01,-321.5 852.01,-328.5"/>
</g>
<!-- run_cvd -->
<g id="node3" class="node">
<title>run_cvd</title>
<ellipse fill="none" stroke="black" cx="502.5" cy="-397" rx="39.79" ry="18"/>
<text text-anchor="middle" x="502.5" y="-393.3" font-family="Times,serif" font-size="14.00">run_cvd</text>
</g>
<!-- secure_env -->
<g id="node4" class="node">
<title>secure_env</title>
<ellipse fill="none" stroke="black" stroke-width="2" cx="502.5" cy="-325" rx="57.39" ry="18"/>
<text text-anchor="start" x="466.5" y="-322.3" font-family="Times,serif" font-size="14.00"> </text>
<text text-anchor="start" x="470.5" y="-322.3" font-family="Times,serif" font-weight="bold" font-size="14.00">secure_env</text>
<text text-anchor="start" x="534.5" y="-322.3" font-family="Times,serif" font-size="14.00"> </text>
</g>
<!-- run_cvd&#45;&gt;secure_env -->
<g id="edge2" class="edge">
<title>run_cvd&#45;&gt;secure_env</title>
<path fill="none" stroke="black" d="M502.5,-378.7C502.5,-370.98 502.5,-361.71 502.5,-353.11"/>
<polygon fill="black" stroke="black" points="506,-353.1 502.5,-343.1 499,-353.1 506,-353.1"/>
</g>
<!-- secure_env&#45;&gt;confirmationui_sign -->
<g id="edge9" class="edge">
<title>secure_env&#45;&gt;confirmationui_sign</title>
<path fill="none" stroke="red" d="M570.21,-325C588.23,-325 606.26,-325 624.28,-325"/>
<polygon fill="red" stroke="red" points="570.06,-321.5 560.06,-325 570.06,-328.5 570.06,-321.5"/>
<polygon fill="red" stroke="red" points="624.3,-328.5 634.3,-325 624.3,-321.5 624.3,-328.5"/>
</g>
<!-- host_keymint_in -->
<g id="node7" class="node">
<title>host_keymint_in</title>
<polygon fill="none" stroke="blue" points="183,-271 0,-271 0,-235 183,-235 183,-271"/>
<text text-anchor="middle" x="91.5" y="-249.3" font-family="Times,serif" font-size="14.00">internal/keymaster_fifo_vm.in</text>
</g>
<!-- secure_env&#45;&gt;host_keymint_in -->
<g id="edge19" class="edge">
<title>secure_env&#45;&gt;host_keymint_in</title>
<path fill="none" stroke="blue" d="M453.33,-315.63C389.35,-304.73 275.95,-285.41 193.11,-271.31"/>
<polygon fill="blue" stroke="blue" points="193.61,-267.84 183.17,-269.61 192.44,-274.74 193.61,-267.84"/>
</g>
<!-- host_keymint_out -->
<g id="node8" class="node">
<title>host_keymint_out</title>
<polygon fill="none" stroke="blue" points="391.5,-271 201.5,-271 201.5,-235 391.5,-235 391.5,-271"/>
<text text-anchor="middle" x="296.5" y="-249.3" font-family="Times,serif" font-size="14.00">internal/keymaster_fifo_vm.out</text>
</g>
<!-- secure_env&#45;&gt;host_keymint_out -->
<g id="edge17" class="edge">
<title>secure_env&#45;&gt;host_keymint_out</title>
<path fill="none" stroke="blue" d="M455.48,-308.02C423,-296.99 379.85,-282.32 346.71,-271.06"/>
<polygon fill="blue" stroke="blue" points="454.6,-311.42 465.19,-311.32 456.85,-304.79 454.6,-311.42"/>
</g>
<!-- host_gatekeeper_in -->
<g id="node9" class="node">
<title>host_gatekeeper_in</title>
<polygon fill="none" stroke="green" points="595,-271 410,-271 410,-235 595,-235 595,-271"/>
<text text-anchor="middle" x="502.5" y="-249.3" font-family="Times,serif" font-size="14.00">internal/gatekeeper_fifo_vm.in</text>
</g>
<!-- secure_env&#45;&gt;host_gatekeeper_in -->
<g id="edge13" class="edge">
<title>secure_env&#45;&gt;host_gatekeeper_in</title>
<path fill="none" stroke="green" d="M502.5,-306.7C502.5,-298.98 502.5,-289.71 502.5,-281.11"/>
<polygon fill="green" stroke="green" points="506,-281.1 502.5,-271.1 499,-281.1 506,-281.1"/>
</g>
<!-- host_gatekeeper_out -->
<g id="node10" class="node">
<title>host_gatekeeper_out</title>
<polygon fill="none" stroke="green" points="805.5,-271 613.5,-271 613.5,-235 805.5,-235 805.5,-271"/>
<text text-anchor="middle" x="709.5" y="-249.3" font-family="Times,serif" font-size="14.00">internal/gatekeeper_fifo_vm.out</text>
</g>
<!-- secure_env&#45;&gt;host_gatekeeper_out -->
<g id="edge11" class="edge">
<title>secure_env&#45;&gt;host_gatekeeper_out</title>
<path fill="none" stroke="green" d="M549.75,-308.02C582.38,-296.99 625.74,-282.32 659.05,-271.06"/>
<polygon fill="green" stroke="green" points="548.34,-304.8 539.99,-311.32 550.58,-311.44 548.34,-304.8"/>
</g>
<!-- vmm -->
<g id="node5" class="node">
<title>vmm</title>
<ellipse fill="none" stroke="black" cx="605.5" cy="-181" rx="64.19" ry="18"/>
<text text-anchor="middle" x="605.5" y="-177.3" font-family="Times,serif" font-size="14.00">crosvm / qemu</text>
</g>
<!-- confirmationui_console -->
<g id="node17" class="node">
<title>confirmationui_console</title>
<polygon fill="none" stroke="red" points="773.5,-124 703.5,-124 703.5,-88 773.5,-88 773.5,-124"/>
<text text-anchor="middle" x="738.5" y="-102.3" font-family="Times,serif" font-size="14.00">/dev/hvc8</text>
</g>
<!-- vmm&#45;&gt;confirmationui_console -->
<g id="edge7" class="edge">
<title>vmm&#45;&gt;confirmationui_console</title>
<path fill="none" stroke="red" d="M642.4,-159.74C659.81,-150.19 680.61,-138.77 698.4,-129.01"/>
<polygon fill="red" stroke="red" points="640.46,-156.82 633.38,-164.7 643.83,-162.95 640.46,-156.82"/>
<polygon fill="red" stroke="red" points="700.32,-131.95 707.4,-124.07 696.95,-125.81 700.32,-131.95"/>
</g>
<!-- gatekeeper_console -->
<g id="node18" class="node">
<title>gatekeeper_console</title>
<polygon fill="none" stroke="green" points="640.5,-124 570.5,-124 570.5,-88 640.5,-88 640.5,-124"/>
<text text-anchor="middle" x="605.5" y="-102.3" font-family="Times,serif" font-size="14.00">/dev/hvc4</text>
</g>
<!-- vmm&#45;&gt;gatekeeper_console -->
<g id="edge15" class="edge">
<title>vmm&#45;&gt;gatekeeper_console</title>
<path fill="none" stroke="green" d="M605.5,-152.49C605.5,-146.55 605.5,-140.27 605.5,-134.33"/>
<polygon fill="green" stroke="green" points="602,-152.7 605.5,-162.7 609,-152.7 602,-152.7"/>
<polygon fill="green" stroke="green" points="609,-134.18 605.5,-124.18 602,-134.18 609,-134.18"/>
</g>
<!-- keymint_console -->
<g id="node19" class="node">
<title>keymint_console</title>
<polygon fill="none" stroke="blue" points="488.5,-124 418.5,-124 418.5,-88 488.5,-88 488.5,-124"/>
<text text-anchor="middle" x="453.5" y="-102.3" font-family="Times,serif" font-size="14.00">/dev/hvc3</text>
</g>
<!-- vmm&#45;&gt;keymint_console -->
<g id="edge21" class="edge">
<title>vmm&#45;&gt;keymint_console</title>
<path fill="none" stroke="blue" d="M565.23,-160.66C544.45,-150.68 519.06,-138.49 497.74,-128.25"/>
<polygon fill="blue" stroke="blue" points="563.84,-163.88 574.37,-165.05 566.87,-157.57 563.84,-163.88"/>
<polygon fill="blue" stroke="blue" points="499.1,-125.02 488.57,-123.84 496.07,-131.33 499.1,-125.02"/>
</g>
<!-- host_confirmationui_in -->
<g id="node11" class="node">
<title>host_confirmationui_in</title>
<polygon fill="none" stroke="red" points="985,-271 824,-271 824,-235 985,-235 985,-271"/>
<text text-anchor="middle" x="904.5" y="-249.3" font-family="Times,serif" font-size="14.00">internal/confui_fifo_vm.in</text>
</g>
<!-- webRTC&#45;&gt;host_confirmationui_in -->
<g id="edge5" class="edge">
<title>webRTC&#45;&gt;host_confirmationui_in</title>
<path fill="none" stroke="red" d="M904.5,-306.7C904.5,-298.98 904.5,-289.71 904.5,-281.11"/>
<polygon fill="red" stroke="red" points="908,-281.1 904.5,-271.1 901,-281.1 908,-281.1"/>
</g>
<!-- host_confirmationui_out -->
<g id="node12" class="node">
<title>host_confirmationui_out</title>
<polygon fill="none" stroke="red" points="1171.5,-271 1003.5,-271 1003.5,-235 1171.5,-235 1171.5,-271"/>
<text text-anchor="middle" x="1087.5" y="-249.3" font-family="Times,serif" font-size="14.00">internal/confui_fifo_vm.out</text>
</g>
<!-- webRTC&#45;&gt;host_confirmationui_out -->
<g id="edge3" class="edge">
<title>webRTC&#45;&gt;host_confirmationui_out</title>
<path fill="none" stroke="red" d="M944.57,-308.67C973.65,-297.55 1013,-282.5 1043.05,-271"/>
<polygon fill="red" stroke="red" points="943.22,-305.44 935.13,-312.28 945.72,-311.98 943.22,-305.44"/>
</g>
<!-- host_keymint_in&#45;&gt;vmm -->
<g id="edge20" class="edge">
<title>host_keymint_in&#45;&gt;vmm</title>
<path fill="none" stroke="blue" d="M183.13,-236.42C186.29,-235.93 189.42,-235.46 192.5,-235 313.66,-217.04 455.35,-199.63 537.32,-189.92"/>
<polygon fill="blue" stroke="blue" points="537.74,-193.4 547.26,-188.75 536.92,-186.44 537.74,-193.4"/>
</g>
<!-- host_keymint_out&#45;&gt;vmm -->
<g id="edge18" class="edge">
<title>host_keymint_out&#45;&gt;vmm</title>
<path fill="none" stroke="blue" d="M381.69,-232.7C438.14,-219.91 510.16,-203.6 557.03,-192.98"/>
<polygon fill="blue" stroke="blue" points="380.67,-229.34 371.69,-234.97 382.22,-236.17 380.67,-229.34"/>
</g>
<!-- host_gatekeeper_in&#45;&gt;vmm -->
<g id="edge14" class="edge">
<title>host_gatekeeper_in&#45;&gt;vmm</title>
<path fill="none" stroke="green" d="M527.7,-234.88C541.54,-225.47 558.84,-213.71 573.62,-203.67"/>
<polygon fill="green" stroke="green" points="575.67,-206.5 581.98,-197.99 571.74,-200.71 575.67,-206.5"/>
</g>
<!-- host_gatekeeper_out&#45;&gt;vmm -->
<g id="edge12" class="edge">
<title>host_gatekeeper_out&#45;&gt;vmm</title>
<path fill="none" stroke="green" d="M675.47,-229.1C660.36,-218.92 642.93,-207.2 629.25,-197.99"/>
<polygon fill="green" stroke="green" points="673.81,-232.2 684.06,-234.88 677.72,-226.39 673.81,-232.2"/>
</g>
<!-- host_confirmationui_in&#45;&gt;vmm -->
<g id="edge6" class="edge">
<title>host_confirmationui_in&#45;&gt;vmm</title>
<path fill="none" stroke="red" d="M831.74,-234.97C779.94,-222.84 711.27,-206.76 663.22,-195.51"/>
<polygon fill="red" stroke="red" points="663.83,-192.06 653.3,-193.19 662.24,-198.88 663.83,-192.06"/>
</g>
<!-- host_confirmationui_out&#45;&gt;vmm -->
<g id="edge4" class="edge">
<title>host_confirmationui_out&#45;&gt;vmm</title>
<path fill="none" stroke="red" d="M993.38,-234.86C869.99,-215.37 737.36,-198.25 663.29,-189.04"/>
<polygon fill="red" stroke="red" points="992.95,-238.33 1003.38,-236.45 994.05,-231.42 992.95,-238.33"/>
</g>
<!-- u_boot -->
<g id="node13" class="node">
<title>u_boot</title>
<ellipse fill="none" stroke="black" cx="339.5" cy="-34" rx="33.6" ry="18"/>
<text text-anchor="middle" x="339.5" y="-30.3" font-family="Times,serif" font-size="14.00">u&#45;boot</text>
</g>
<!-- confirmationui -->
<g id="node14" class="node">
<title>confirmationui</title>
<ellipse fill="none" stroke="red" cx="783.5" cy="-34" rx="88.28" ry="18"/>
<text text-anchor="middle" x="783.5" y="-30.3" font-family="Times,serif" font-size="14.00">ConfirmationUI HAL</text>
</g>
<!-- gatekeeper -->
<g id="node15" class="node">
<title>gatekeeper</title>
<ellipse fill="none" stroke="green" cx="605.5" cy="-34" rx="71.49" ry="18"/>
<text text-anchor="middle" x="605.5" y="-30.3" font-family="Times,serif" font-size="14.00">Gatekeeper HAL</text>
</g>
<!-- keymint -->
<g id="node16" class="node">
<title>keymint</title>
<ellipse fill="none" stroke="blue" cx="453.5" cy="-34" rx="62.29" ry="18"/>
<text text-anchor="middle" x="453.5" y="-30.3" font-family="Times,serif" font-size="14.00">Keymint HAL</text>
</g>
<!-- confirmationui_console&#45;&gt;confirmationui -->
<g id="edge8" class="edge">
<title>confirmationui_console&#45;&gt;confirmationui</title>
<path fill="none" stroke="red" d="M755.16,-79.08C759.05,-73.03 763.19,-66.59 767.07,-60.56"/>
<polygon fill="red" stroke="red" points="752.09,-77.39 749.62,-87.7 757.98,-81.18 752.09,-77.39"/>
<polygon fill="red" stroke="red" points="770.04,-62.41 772.5,-52.1 764.15,-58.62 770.04,-62.41"/>
</g>
<!-- gatekeeper_console&#45;&gt;gatekeeper -->
<g id="edge16" class="edge">
<title>gatekeeper_console&#45;&gt;gatekeeper</title>
<path fill="none" stroke="green" d="M605.5,-77.67C605.5,-72.69 605.5,-67.49 605.5,-62.51"/>
<polygon fill="green" stroke="green" points="602,-77.7 605.5,-87.7 609,-77.7 602,-77.7"/>
<polygon fill="green" stroke="green" points="609,-62.1 605.5,-52.1 602,-62.1 609,-62.1"/>
</g>
<!-- keymint_console&#45;&gt;u_boot -->
<g id="edge23" class="edge">
<title>keymint_console&#45;&gt;u_boot</title>
<path fill="none" stroke="blue" d="M416.87,-82.51C401.61,-73.14 384.11,-62.39 369.62,-53.49"/>
<polygon fill="blue" stroke="blue" points="415.26,-85.63 425.61,-87.88 418.92,-79.66 415.26,-85.63"/>
<polygon fill="blue" stroke="blue" points="371.38,-50.47 361.03,-48.22 367.72,-56.44 371.38,-50.47"/>
</g>
<!-- keymint_console&#45;&gt;keymint -->
<g id="edge22" class="edge">
<title>keymint_console&#45;&gt;keymint</title>
<path fill="none" stroke="blue" d="M453.5,-77.67C453.5,-72.69 453.5,-67.49 453.5,-62.51"/>
<polygon fill="blue" stroke="blue" points="450,-77.7 453.5,-87.7 457,-77.7 450,-77.7"/>
<polygon fill="blue" stroke="blue" points="457,-62.1 453.5,-52.1 450,-62.1 457,-62.1"/>
</g>
</g>
</svg>