diff --git a/DriverDepGraph.dot b/DriverDepGraph.dot new file mode 100644 index 0000000..ecbeca5 --- /dev/null +++ b/DriverDepGraph.dot @@ -0,0 +1,79 @@ +digraph Drivers { + InitSystem -> VFS; + InitSystem -> Logger; + + TCP -> NetworkingStack; + UDP -> NetworkingStack; + + NetworkingStack -> PhysLayer; + PhysLayer -> Ethernet; + + Ethernet -> Threec90x; + Ethernet -> Intel8254x; + Ethernet -> Ne2000; + Ethernet -> RTL8139; + Ethernet -> RTL8169; + Ethernet -> IntelEtherneti217; + Ethernet -> AMDPCnet; + + PhysLayer -> Wifi; + Wifi -> Eight02Dot11; + + + + + Audio -> PCSpeaker; + Audio -> SoundBlaster16; + + RNG -> CpuRNG; + RNG -> NetworkingStack; + RNG -> GraphicsLibrary; + RNG -> Input; + + Slint -> GraphicsLibrary; + GraphicsLibrary -> ShaderCompiler; + ShaderCompiler -> GraphicsDriver; + GraphicsLibrary -> GraphicsDriver; + // Todo: dreak out the GPU into specific drivers + GraphicsDriver -> GPU; + + Logger -> Serial; + Logger -> VFS; + + Input -> Keyboard; + Input -> GraphicsTablet; + Input -> Mouse; + Input -> Serial; + Input -> Controllers; + + Controllers -> Playstation; + Playstation -> DualShock; + Playstation -> DualSense; + DualShock -> DualShock1; + DualShock -> DualShock2; + DualShock -> DualShock3; + DualShock -> DualShock4; + + + Mouse -> PS2Mouse; + Mouse -> USBMouse; + USBMouse -> GenericUSBMouse; + Mouse -> MouseTrackPad; + Mouse -> MouseTrackPoint; + + VFS -> Fat32; + VFS -> TarFS; + VFS -> Ext2; + + Ext2 -> VirtualDisk; + TarFS -> VirtualDisk; + Fat32 -> VirtualDisk; + + VirtualDisk -> IDEDiskDriver; + VirtualDisk -> ATADiskDriver; + VirtualDisk -> FloppyController; + VirtualDisk -> CDROM; + VirtualDisk -> NVME; + + BlueToothStack; +} \ No newline at end of file diff --git a/DriverDepGraph.svg b/DriverDepGraph.svg new file mode 100644 index 0000000..5dd773f --- /dev/null +++ b/DriverDepGraph.svg @@ -0,0 +1,677 @@ +<?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.40.1 (20161225.0304) + --> +<!-- Title: Drivers Pages: 1 --> +<svg width="2629pt" height="404pt" viewBox="0.00 0.00 2628.89 404.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 400)"> +<title>Drivers</title> +<polygon fill="#ffffff" stroke="transparent" points="-4,4 -4,-400 2624.8933,-400 2624.8933,4 -4,4"/> +<!-- InitSystem --> +<g id="node1" class="node"> +<title>InitSystem</title> +<ellipse fill="none" stroke="#000000" cx="443.0953" cy="-378" rx="52.7642" ry="18"/> +<text text-anchor="middle" x="443.0953" y="-373.8" font-family="Times,serif" font-size="14.00" fill="#000000">InitSystem</text> +</g> +<!-- VFS --> +<g id="node2" class="node"> +<title>VFS</title> +<ellipse fill="none" stroke="#000000" cx="409.0953" cy="-234" rx="28.991" ry="18"/> +<text text-anchor="middle" x="409.0953" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">VFS</text> +</g> +<!-- InitSystem->VFS --> +<g id="edge1" class="edge"> +<title>InitSystem->VFS</title> +<path fill="none" stroke="#000000" d="M437.8111,-360.0742C434.7997,-349.5989 431.0497,-336.0989 428.0953,-324 423.0522,-303.3476 418.1161,-279.8366 414.5395,-262.025"/> +<polygon fill="#000000" stroke="#000000" points="417.9306,-261.1317 412.55,-252.0049 411.0646,-262.4951 417.9306,-261.1317"/> +</g> +<!-- Logger --> +<g id="node3" class="node"> +<title>Logger</title> +<ellipse fill="none" stroke="#000000" cx="476.0953" cy="-306" rx="38.8459" ry="18"/> +<text text-anchor="middle" x="476.0953" y="-301.8" font-family="Times,serif" font-size="14.00" fill="#000000">Logger</text> +</g> +<!-- InitSystem->Logger --> +<g id="edge2" class="edge"> +<title>InitSystem->Logger</title> +<path fill="none" stroke="#000000" d="M451.2526,-360.2022C454.981,-352.0675 459.4807,-342.2501 463.6203,-333.2181"/> +<polygon fill="#000000" stroke="#000000" points="466.9326,-334.3915 467.9175,-323.8425 460.5691,-331.4749 466.9326,-334.3915"/> +</g> +<!-- Fat32 --> +<g id="node46" class="node"> +<title>Fat32</title> +<ellipse fill="none" stroke="#000000" cx="282.0953" cy="-162" rx="33.0643" ry="18"/> +<text text-anchor="middle" x="282.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Fat32</text> +</g> +<!-- VFS->Fat32 --> +<g id="edge46" class="edge"> +<title>VFS->Fat32</title> +<path fill="none" stroke="#000000" d="M387.5515,-221.7862C367.3094,-210.3103 336.7716,-192.9976 313.7591,-179.9511"/> +<polygon fill="#000000" stroke="#000000" points="315.4597,-176.8919 305.0343,-175.0048 312.0074,-182.9814 315.4597,-176.8919"/> +</g> +<!-- TarFS --> +<g id="node47" class="node"> +<title>TarFS</title> +<ellipse fill="none" stroke="#000000" cx="368.0953" cy="-162" rx="35.3489" ry="18"/> +<text text-anchor="middle" x="368.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">TarFS</text> +</g> +<!-- VFS->TarFS --> +<g id="edge47" class="edge"> +<title>VFS->TarFS</title> +<path fill="none" stroke="#000000" d="M399.3789,-216.937C394.4978,-208.3654 388.4765,-197.7914 383.0242,-188.2165"/> +<polygon fill="#000000" stroke="#000000" points="386.0167,-186.3986 378.0268,-179.4407 379.9338,-189.8625 386.0167,-186.3986"/> +</g> +<!-- Ext2 --> +<g id="node48" class="node"> +<title>Ext2</title> +<ellipse fill="none" stroke="#000000" cx="450.0953" cy="-162" rx="29.0548" ry="18"/> +<text text-anchor="middle" x="450.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Ext2</text> +</g> +<!-- VFS->Ext2 --> +<g id="edge48" class="edge"> +<title>VFS->Ext2</title> +<path fill="none" stroke="#000000" d="M418.8117,-216.937C423.6928,-208.3654 429.7141,-197.7914 435.1664,-188.2165"/> +<polygon fill="#000000" stroke="#000000" points="438.2568,-189.8625 440.1638,-179.4407 432.1739,-186.3986 438.2568,-189.8625"/> +</g> +<!-- Logger->VFS --> +<g id="edge28" class="edge"> +<title>Logger->VFS</title> +<path fill="none" stroke="#000000" d="M460.5557,-289.3008C451.6839,-279.7669 440.4261,-267.6689 430.7037,-257.221"/> +<polygon fill="#000000" stroke="#000000" points="433.0079,-254.5593 423.6333,-249.6229 427.8834,-259.328 433.0079,-254.5593"/> +</g> +<!-- Serial --> +<g id="node29" class="node"> +<title>Serial</title> +<ellipse fill="none" stroke="#000000" cx="1400.0953" cy="-234" rx="33.6208" ry="18"/> +<text text-anchor="middle" x="1400.0953" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">Serial</text> +</g> +<!-- Logger->Serial --> +<g id="edge27" class="edge"> +<title>Logger->Serial</title> +<path fill="none" stroke="#000000" d="M515.2345,-305.3369C663.9095,-302.5495 1193.4867,-290.1059 1357.0953,-252 1359.9033,-251.346 1362.7624,-250.5254 1365.6042,-249.5973"/> +<polygon fill="#000000" stroke="#000000" points="1366.9168,-252.844 1375.0991,-246.1134 1364.5054,-246.2724 1366.9168,-252.844"/> +</g> +<!-- TCP --> +<g id="node4" class="node"> +<title>TCP</title> +<ellipse fill="none" stroke="#000000" cx="1436.0953" cy="-378" rx="28.991" ry="18"/> +<text text-anchor="middle" x="1436.0953" y="-373.8" font-family="Times,serif" font-size="14.00" fill="#000000">TCP</text> +</g> +<!-- NetworkingStack --> +<g id="node5" class="node"> +<title>NetworkingStack</title> +<ellipse fill="none" stroke="#000000" cx="1398.0953" cy="-306" rx="78.7318" ry="18"/> +<text text-anchor="middle" x="1398.0953" y="-301.8" font-family="Times,serif" font-size="14.00" fill="#000000">NetworkingStack</text> +</g> +<!-- TCP->NetworkingStack --> +<g id="edge3" class="edge"> +<title>TCP->NetworkingStack</title> +<path fill="none" stroke="#000000" d="M1426.8966,-360.5708C1422.5145,-352.2679 1417.1746,-342.1502 1412.2886,-332.8925"/> +<polygon fill="#000000" stroke="#000000" points="1415.3692,-331.2308 1407.6062,-324.0206 1409.1785,-334.4981 1415.3692,-331.2308"/> +</g> +<!-- PhysLayer --> +<g id="node7" class="node"> +<title>PhysLayer</title> +<ellipse fill="none" stroke="#000000" cx="1296.0953" cy="-234" rx="52.1675" ry="18"/> +<text text-anchor="middle" x="1296.0953" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">PhysLayer</text> +</g> +<!-- NetworkingStack->PhysLayer --> +<g id="edge5" class="edge"> +<title>NetworkingStack->PhysLayer</title> +<path fill="none" stroke="#000000" d="M1373.6638,-288.7542C1359.8688,-279.0166 1342.4757,-266.7391 1327.6572,-256.279"/> +<polygon fill="#000000" stroke="#000000" points="1329.4647,-253.2707 1319.2765,-250.3632 1325.4278,-258.9895 1329.4647,-253.2707"/> +</g> +<!-- UDP --> +<g id="node6" class="node"> +<title>UDP</title> +<ellipse fill="none" stroke="#000000" cx="1359.0953" cy="-378" rx="30.1958" ry="18"/> +<text text-anchor="middle" x="1359.0953" y="-373.8" font-family="Times,serif" font-size="14.00" fill="#000000">UDP</text> +</g> +<!-- UDP->NetworkingStack --> +<g id="edge4" class="edge"> +<title>UDP->NetworkingStack</title> +<path fill="none" stroke="#000000" d="M1368.5361,-360.5708C1373.0335,-352.2679 1378.5139,-342.1502 1383.5285,-332.8925"/> +<polygon fill="#000000" stroke="#000000" points="1386.6488,-334.4805 1388.3341,-324.0206 1380.4937,-331.1465 1386.6488,-334.4805"/> +</g> +<!-- Ethernet --> +<g id="node8" class="node"> +<title>Ethernet</title> +<ellipse fill="none" stroke="#000000" cx="852.0953" cy="-162" rx="43.9983" ry="18"/> +<text text-anchor="middle" x="852.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Ethernet</text> +</g> +<!-- PhysLayer->Ethernet --> +<g id="edge6" class="edge"> +<title>PhysLayer->Ethernet</title> +<path fill="none" stroke="#000000" d="M1248.5795,-226.2947C1164.418,-212.6469 989.8747,-184.3426 903.2098,-170.2888"/> +<polygon fill="#000000" stroke="#000000" points="903.5198,-166.7935 893.0885,-168.6475 902.3993,-173.7032 903.5198,-166.7935"/> +</g> +<!-- Wifi --> +<g id="node16" class="node"> +<title>Wifi</title> +<ellipse fill="none" stroke="#000000" cx="1314.0953" cy="-162" rx="28.9696" ry="18"/> +<text text-anchor="middle" x="1314.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Wifi</text> +</g> +<!-- PhysLayer->Wifi --> +<g id="edge14" class="edge"> +<title>PhysLayer->Wifi</title> +<path fill="none" stroke="#000000" d="M1300.6375,-215.8314C1302.6137,-207.9266 1304.9735,-198.4872 1307.1612,-189.7365"/> +<polygon fill="#000000" stroke="#000000" points="1310.587,-190.4637 1309.6169,-179.9134 1303.796,-188.7659 1310.587,-190.4637"/> +</g> +<!-- Threec90x --> +<g id="node9" class="node"> +<title>Threec90x</title> +<ellipse fill="none" stroke="#000000" cx="452.0953" cy="-90" rx="52.1501" ry="18"/> +<text text-anchor="middle" x="452.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">Threec90x</text> +</g> +<!-- Ethernet->Threec90x --> +<g id="edge7" class="edge"> +<title>Ethernet->Threec90x</title> +<path fill="none" stroke="#000000" d="M810.0127,-157.0708C745.598,-149.1277 618.8877,-131.9297 513.0953,-108 508.9759,-107.0682 504.7257,-106.013 500.4758,-104.8921"/> +<polygon fill="#000000" stroke="#000000" points="501.1913,-101.4591 490.6213,-102.1845 499.3366,-108.2089 501.1913,-101.4591"/> +</g> +<!-- Intel8254x --> +<g id="node10" class="node"> +<title>Intel8254x</title> +<ellipse fill="none" stroke="#000000" cx="575.0953" cy="-90" rx="52.7527" ry="18"/> +<text text-anchor="middle" x="575.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">Intel8254x</text> +</g> +<!-- Ethernet->Intel8254x --> +<g id="edge8" class="edge"> +<title>Ethernet->Intel8254x</title> +<path fill="none" stroke="#000000" d="M814.1219,-153.017C770.8839,-142.6703 698.1916,-124.9158 636.0953,-108 632.3083,-106.9684 628.3969,-105.8762 624.4686,-104.7602"/> +<polygon fill="#000000" stroke="#000000" points="625.3084,-101.3599 614.7304,-101.9578 623.3725,-108.0868 625.3084,-101.3599"/> +</g> +<!-- Ne2000 --> +<g id="node11" class="node"> +<title>Ne2000</title> +<ellipse fill="none" stroke="#000000" cx="687.0953" cy="-90" rx="41.7172" ry="18"/> +<text text-anchor="middle" x="687.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">Ne2000</text> +</g> +<!-- Ethernet->Ne2000 --> +<g id="edge9" class="edge"> +<title>Ethernet->Ne2000</title> +<path fill="none" stroke="#000000" d="M821.8318,-148.7941C794.9169,-137.0494 755.4014,-119.8063 726.1176,-107.0279"/> +<polygon fill="#000000" stroke="#000000" points="727.1771,-103.6716 716.6118,-102.8799 724.3774,-110.0873 727.1771,-103.6716"/> +</g> +<!-- RTL8139 --> +<g id="node12" class="node"> +<title>RTL8139</title> +<ellipse fill="none" stroke="#000000" cx="795.0953" cy="-90" rx="48.6791" ry="18"/> +<text text-anchor="middle" x="795.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">RTL8139</text> +</g> +<!-- Ethernet->RTL8139 --> +<g id="edge10" class="edge"> +<title>Ethernet->RTL8139</title> +<path fill="none" stroke="#000000" d="M838.2972,-144.5708C831.4167,-135.8797 822.962,-125.2001 815.3618,-115.5998"/> +<polygon fill="#000000" stroke="#000000" points="817.9151,-113.1862 808.9639,-107.5182 812.4268,-117.5312 817.9151,-113.1862"/> +</g> +<!-- RTL8169 --> +<g id="node13" class="node"> +<title>RTL8169</title> +<ellipse fill="none" stroke="#000000" cx="910.0953" cy="-90" rx="48.6791" ry="18"/> +<text text-anchor="middle" x="910.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">RTL8169</text> +</g> +<!-- Ethernet->RTL8169 --> +<g id="edge11" class="edge"> +<title>Ethernet->RTL8169</title> +<path fill="none" stroke="#000000" d="M866.1355,-144.5708C873.2597,-135.7269 882.0427,-124.8239 889.8803,-115.0945"/> +<polygon fill="#000000" stroke="#000000" points="892.6367,-117.2519 896.1844,-107.2687 887.1854,-112.8606 892.6367,-117.2519"/> +</g> +<!-- IntelEtherneti217 --> +<g id="node14" class="node"> +<title>IntelEtherneti217</title> +<ellipse fill="none" stroke="#000000" cx="1055.0953" cy="-90" rx="78.7298" ry="18"/> +<text text-anchor="middle" x="1055.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">IntelEtherneti217</text> +</g> +<!-- Ethernet->IntelEtherneti217 --> +<g id="edge12" class="edge"> +<title>Ethernet->IntelEtherneti217</title> +<path fill="none" stroke="#000000" d="M885.6166,-150.1107C917.4561,-138.8178 965.8122,-121.6669 1002.7343,-108.5714"/> +<polygon fill="#000000" stroke="#000000" points="1004.084,-111.8064 1012.3387,-105.1649 1001.744,-105.2091 1004.084,-111.8064"/> +</g> +<!-- AMDPCnet --> +<g id="node15" class="node"> +<title>AMDPCnet</title> +<ellipse fill="none" stroke="#000000" cx="1209.0953" cy="-90" rx="57.3418" ry="18"/> +<text text-anchor="middle" x="1209.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">AMDPCnet</text> +</g> +<!-- Ethernet->AMDPCnet --> +<g id="edge13" class="edge"> +<title>Ethernet->AMDPCnet</title> +<path fill="none" stroke="#000000" d="M893.2785,-155.4619C949.8599,-146.2284 1054.687,-128.222 1143.0953,-108 1147.513,-106.9895 1152.0799,-105.8804 1156.6536,-104.7245"/> +<polygon fill="#000000" stroke="#000000" points="1157.8203,-108.0378 1166.6214,-102.1393 1156.063,-101.2619 1157.8203,-108.0378"/> +</g> +<!-- Eight02Dot11 --> +<g id="node17" class="node"> +<title>Eight02Dot11</title> +<ellipse fill="none" stroke="#000000" cx="1350.0953" cy="-90" rx="65.5161" ry="18"/> +<text text-anchor="middle" x="1350.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">Eight02Dot11</text> +</g> +<!-- Wifi->Eight02Dot11 --> +<g id="edge15" class="edge"> +<title>Wifi->Eight02Dot11</title> +<path fill="none" stroke="#000000" d="M1322.8099,-144.5708C1326.9181,-136.3544 1331.9149,-126.3608 1336.5042,-117.1821"/> +<polygon fill="#000000" stroke="#000000" points="1339.7433,-118.5301 1341.085,-108.0206 1333.4823,-115.3996 1339.7433,-118.5301"/> +</g> +<!-- Audio --> +<g id="node18" class="node"> +<title>Audio</title> +<ellipse fill="none" stroke="#000000" cx="2420.0953" cy="-378" rx="35.3548" ry="18"/> +<text text-anchor="middle" x="2420.0953" y="-373.8" font-family="Times,serif" font-size="14.00" fill="#000000">Audio</text> +</g> +<!-- PCSpeaker --> +<g id="node19" class="node"> +<title>PCSpeaker</title> +<ellipse fill="none" stroke="#000000" cx="2348.0953" cy="-306" rx="53.8905" ry="18"/> +<text text-anchor="middle" x="2348.0953" y="-301.8" font-family="Times,serif" font-size="14.00" fill="#000000">PCSpeaker</text> +</g> +<!-- Audio->PCSpeaker --> +<g id="edge16" class="edge"> +<title>Audio->PCSpeaker</title> +<path fill="none" stroke="#000000" d="M2403.7574,-361.6621C2394.5427,-352.4474 2382.8487,-340.7534 2372.5602,-330.4649"/> +<polygon fill="#000000" stroke="#000000" points="2374.9186,-327.8735 2365.3726,-323.2773 2369.9688,-332.8233 2374.9186,-327.8735"/> +</g> +<!-- SoundBlaster16 --> +<g id="node20" class="node"> +<title>SoundBlaster16</title> +<ellipse fill="none" stroke="#000000" cx="2493.0953" cy="-306" rx="72.9547" ry="18"/> +<text text-anchor="middle" x="2493.0953" y="-301.8" font-family="Times,serif" font-size="14.00" fill="#000000">SoundBlaster16</text> +</g> +<!-- Audio->SoundBlaster16 --> +<g id="edge17" class="edge"> +<title>Audio->SoundBlaster16</title> +<path fill="none" stroke="#000000" d="M2436.2964,-362.0209C2445.5577,-352.8864 2457.3757,-341.2303 2467.8308,-330.9184"/> +<polygon fill="#000000" stroke="#000000" points="2470.485,-333.2166 2475.1469,-323.7025 2465.5695,-328.2328 2470.485,-333.2166"/> +</g> +<!-- RNG --> +<g id="node21" class="node"> +<title>RNG</title> +<ellipse fill="none" stroke="#000000" cx="1676.0953" cy="-378" rx="31.339" ry="18"/> +<text text-anchor="middle" x="1676.0953" y="-373.8" font-family="Times,serif" font-size="14.00" fill="#000000">RNG</text> +</g> +<!-- RNG->NetworkingStack --> +<g id="edge19" class="edge"> +<title>RNG->NetworkingStack</title> +<path fill="none" stroke="#000000" d="M1647.3915,-370.5659C1603.4593,-359.1878 1518.5016,-337.1844 1460.0749,-322.0523"/> +<polygon fill="#000000" stroke="#000000" points="1460.7723,-318.6175 1450.2142,-319.4984 1459.0172,-325.3939 1460.7723,-318.6175"/> +</g> +<!-- CpuRNG --> +<g id="node22" class="node"> +<title>CpuRNG</title> +<ellipse fill="none" stroke="#000000" cx="1725.0953" cy="-306" rx="47.5332" ry="18"/> +<text text-anchor="middle" x="1725.0953" y="-301.8" font-family="Times,serif" font-size="14.00" fill="#000000">CpuRNG</text> +</g> +<!-- RNG->CpuRNG --> +<g id="edge18" class="edge"> +<title>RNG->CpuRNG</title> +<path fill="none" stroke="#000000" d="M1687.7076,-360.937C1693.6012,-352.277 1700.8858,-341.5731 1707.4548,-331.9207"/> +<polygon fill="#000000" stroke="#000000" points="1710.4932,-333.677 1713.2259,-323.4407 1704.7062,-329.7386 1710.4932,-333.677"/> +</g> +<!-- GraphicsLibrary --> +<g id="node23" class="node"> +<title>GraphicsLibrary</title> +<ellipse fill="none" stroke="#000000" cx="2201.0953" cy="-306" rx="74.6976" ry="18"/> +<text text-anchor="middle" x="2201.0953" y="-301.8" font-family="Times,serif" font-size="14.00" fill="#000000">GraphicsLibrary</text> +</g> +<!-- RNG->GraphicsLibrary --> +<g id="edge20" class="edge"> +<title>RNG->GraphicsLibrary</title> +<path fill="none" stroke="#000000" d="M1706.9764,-373.7649C1788.0277,-362.6493 2008.637,-332.3943 2125.7369,-316.3349"/> +<polygon fill="#000000" stroke="#000000" points="2126.2743,-319.794 2135.706,-314.9677 2125.3232,-312.8589 2126.2743,-319.794"/> +</g> +<!-- Input --> +<g id="node24" class="node"> +<title>Input</title> +<ellipse fill="none" stroke="#000000" cx="1628.0953" cy="-306" rx="31.341" ry="18"/> +<text text-anchor="middle" x="1628.0953" y="-301.8" font-family="Times,serif" font-size="14.00" fill="#000000">Input</text> +</g> +<!-- RNG->Input --> +<g id="edge21" class="edge"> +<title>RNG->Input</title> +<path fill="none" stroke="#000000" d="M1664.72,-360.937C1658.8617,-352.1496 1651.6005,-341.2579 1645.0924,-331.4956"/> +<polygon fill="#000000" stroke="#000000" points="1647.8482,-329.3196 1639.389,-322.9405 1642.0238,-333.2025 1647.8482,-329.3196"/> +</g> +<!-- ShaderCompiler --> +<g id="node26" class="node"> +<title>ShaderCompiler</title> +<ellipse fill="none" stroke="#000000" cx="2303.0953" cy="-234" rx="74.1566" ry="18"/> +<text text-anchor="middle" x="2303.0953" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">ShaderCompiler</text> +</g> +<!-- GraphicsLibrary->ShaderCompiler --> +<g id="edge23" class="edge"> +<title>GraphicsLibrary->ShaderCompiler</title> +<path fill="none" stroke="#000000" d="M2225.2679,-288.937C2238.7614,-279.4122 2255.7576,-267.4149 2270.4221,-257.0635"/> +<polygon fill="#000000" stroke="#000000" points="2272.5915,-259.8163 2278.7427,-251.19 2268.5546,-254.0975 2272.5915,-259.8163"/> +</g> +<!-- GraphicsDriver --> +<g id="node27" class="node"> +<title>GraphicsDriver</title> +<ellipse fill="none" stroke="#000000" cx="2303.0953" cy="-162" rx="71.1843" ry="18"/> +<text text-anchor="middle" x="2303.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">GraphicsDriver</text> +</g> +<!-- GraphicsLibrary->GraphicsDriver --> +<g id="edge25" class="edge"> +<title>GraphicsLibrary->GraphicsDriver</title> +<path fill="none" stroke="#000000" d="M2200.955,-287.8528C2201.653,-268.4612 2205.2852,-237.6002 2220.0953,-216 2229.5949,-202.1451 2243.9358,-190.9993 2258.0378,-182.5131"/> +<polygon fill="#000000" stroke="#000000" points="2259.7731,-185.5528 2266.7421,-177.5726 2256.3176,-179.4651 2259.7731,-185.5528"/> +</g> +<!-- Input->Serial --> +<g id="edge32" class="edge"> +<title>Input->Serial</title> +<path fill="none" stroke="#000000" d="M1599.2541,-298.6597C1562.5858,-289.0822 1497.5027,-271.2595 1443.0953,-252 1440.6921,-251.1493 1438.2293,-250.2354 1435.758,-249.2868"/> +<polygon fill="#000000" stroke="#000000" points="1436.8768,-245.9651 1426.2915,-245.5159 1434.2863,-252.4682 1436.8768,-245.9651"/> +</g> +<!-- Keyboard --> +<g id="node30" class="node"> +<title>Keyboard</title> +<ellipse fill="none" stroke="#000000" cx="1628.0953" cy="-234" rx="49.2202" ry="18"/> +<text text-anchor="middle" x="1628.0953" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">Keyboard</text> +</g> +<!-- Input->Keyboard --> +<g id="edge29" class="edge"> +<title>Input->Keyboard</title> +<path fill="none" stroke="#000000" d="M1628.0953,-287.8314C1628.0953,-280.131 1628.0953,-270.9743 1628.0953,-262.4166"/> +<polygon fill="#000000" stroke="#000000" points="1631.5954,-262.4132 1628.0953,-252.4133 1624.5954,-262.4133 1631.5954,-262.4132"/> +</g> +<!-- GraphicsTablet --> +<g id="node31" class="node"> +<title>GraphicsTablet</title> +<ellipse fill="none" stroke="#000000" cx="1766.0953" cy="-234" rx="70.622" ry="18"/> +<text text-anchor="middle" x="1766.0953" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">GraphicsTablet</text> +</g> +<!-- Input->GraphicsTablet --> +<g id="edge30" class="edge"> +<title>Input->GraphicsTablet</title> +<path fill="none" stroke="#000000" d="M1651.5051,-293.7862C1671.8931,-283.149 1701.8932,-267.4967 1726.0835,-254.8757"/> +<polygon fill="#000000" stroke="#000000" points="1727.7912,-257.9325 1735.0381,-250.2038 1724.5532,-251.7264 1727.7912,-257.9325"/> +</g> +<!-- Mouse --> +<g id="node32" class="node"> +<title>Mouse</title> +<ellipse fill="none" stroke="#000000" cx="1892.0953" cy="-234" rx="37.1405" ry="18"/> +<text text-anchor="middle" x="1892.0953" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">Mouse</text> +</g> +<!-- Input->Mouse --> +<g id="edge31" class="edge"> +<title>Input->Mouse</title> +<path fill="none" stroke="#000000" d="M1652.2936,-294.0726C1657.4281,-291.8373 1662.8757,-289.6789 1668.0953,-288 1744.9312,-263.2853 1768.6672,-274.7915 1846.0953,-252 1848.7047,-251.2319 1851.3737,-250.3778 1854.0474,-249.4708"/> +<polygon fill="#000000" stroke="#000000" points="1855.4284,-252.6936 1863.6524,-246.014 1853.058,-246.1072 1855.4284,-252.6936"/> +</g> +<!-- Controllers --> +<g id="node33" class="node"> +<title>Controllers</title> +<ellipse fill="none" stroke="#000000" cx="1506.0953" cy="-234" rx="54.4701" ry="18"/> +<text text-anchor="middle" x="1506.0953" y="-229.8" font-family="Times,serif" font-size="14.00" fill="#000000">Controllers</text> +</g> +<!-- Input->Controllers --> +<g id="edge33" class="edge"> +<title>Input->Controllers</title> +<path fill="none" stroke="#000000" d="M1606.002,-292.9613C1588.1773,-282.4418 1562.7456,-267.433 1542.0025,-255.1911"/> +<polygon fill="#000000" stroke="#000000" points="1543.5325,-252.03 1533.1415,-249.9617 1539.9747,-258.0585 1543.5325,-252.03"/> +</g> +<!-- Slint --> +<g id="node25" class="node"> +<title>Slint</title> +<ellipse fill="none" stroke="#000000" cx="2201.0953" cy="-378" rx="29.0701" ry="18"/> +<text text-anchor="middle" x="2201.0953" y="-373.8" font-family="Times,serif" font-size="14.00" fill="#000000">Slint</text> +</g> +<!-- Slint->GraphicsLibrary --> +<g id="edge22" class="edge"> +<title>Slint->GraphicsLibrary</title> +<path fill="none" stroke="#000000" d="M2201.0953,-359.8314C2201.0953,-352.131 2201.0953,-342.9743 2201.0953,-334.4166"/> +<polygon fill="#000000" stroke="#000000" points="2204.5954,-334.4132 2201.0953,-324.4133 2197.5954,-334.4133 2204.5954,-334.4132"/> +</g> +<!-- ShaderCompiler->GraphicsDriver --> +<g id="edge24" class="edge"> +<title>ShaderCompiler->GraphicsDriver</title> +<path fill="none" stroke="#000000" d="M2303.0953,-215.8314C2303.0953,-208.131 2303.0953,-198.9743 2303.0953,-190.4166"/> +<polygon fill="#000000" stroke="#000000" points="2306.5954,-190.4132 2303.0953,-180.4133 2299.5954,-190.4133 2306.5954,-190.4132"/> +</g> +<!-- GPU --> +<g id="node28" class="node"> +<title>GPU</title> +<ellipse fill="none" stroke="#000000" cx="2303.0953" cy="-90" rx="30.1958" ry="18"/> +<text text-anchor="middle" x="2303.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">GPU</text> +</g> +<!-- GraphicsDriver->GPU --> +<g id="edge26" class="edge"> +<title>GraphicsDriver->GPU</title> +<path fill="none" stroke="#000000" d="M2303.0953,-143.8314C2303.0953,-136.131 2303.0953,-126.9743 2303.0953,-118.4166"/> +<polygon fill="#000000" stroke="#000000" points="2306.5954,-118.4132 2303.0953,-108.4133 2299.5954,-118.4133 2306.5954,-118.4132"/> +</g> +<!-- PS2Mouse --> +<g id="node41" class="node"> +<title>PS2Mouse</title> +<ellipse fill="none" stroke="#000000" cx="2161.0953" cy="-162" rx="52.77" ry="18"/> +<text text-anchor="middle" x="2161.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">PS2Mouse</text> +</g> +<!-- Mouse->PS2Mouse --> +<g id="edge41" class="edge"> +<title>Mouse->PS2Mouse</title> +<path fill="none" stroke="#000000" d="M1925.5125,-225.5822C1966.4961,-215.1894 2038.0464,-196.8215 2099.0953,-180 2102.9364,-178.9416 2106.9061,-177.8301 2110.8948,-176.7007"/> +<polygon fill="#000000" stroke="#000000" points="2112.1314,-179.9875 2120.786,-173.8761 2110.2093,-173.2566 2112.1314,-179.9875"/> +</g> +<!-- USBMouse --> +<g id="node42" class="node"> +<title>USBMouse</title> +<ellipse fill="none" stroke="#000000" cx="1689.0953" cy="-162" rx="56.1995" ry="18"/> +<text text-anchor="middle" x="1689.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">USBMouse</text> +</g> +<!-- Mouse->USBMouse --> +<g id="edge42" class="edge"> +<title>Mouse->USBMouse</title> +<path fill="none" stroke="#000000" d="M1862.9639,-222.3895C1857.3804,-220.2241 1851.569,-218.0113 1846.0953,-216 1810.0856,-202.7684 1769.0818,-188.6989 1738.0104,-178.2392"/> +<polygon fill="#000000" stroke="#000000" points="1738.8841,-174.8407 1728.2902,-174.9757 1736.6561,-181.4766 1738.8841,-174.8407"/> +</g> +<!-- MouseTrackPad --> +<g id="node44" class="node"> +<title>MouseTrackPad</title> +<ellipse fill="none" stroke="#000000" cx="1837.0953" cy="-162" rx="74.1393" ry="18"/> +<text text-anchor="middle" x="1837.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">MouseTrackPad</text> +</g> +<!-- Mouse->MouseTrackPad --> +<g id="edge44" class="edge"> +<title>Mouse->MouseTrackPad</title> +<path fill="none" stroke="#000000" d="M1879.0611,-216.937C1872.4765,-208.3173 1864.3453,-197.6727 1856.9988,-188.0555"/> +<polygon fill="#000000" stroke="#000000" points="1859.6553,-185.7673 1850.8035,-179.9453 1854.0926,-190.0166 1859.6553,-185.7673"/> +</g> +<!-- MouseTrackPoint --> +<g id="node45" class="node"> +<title>MouseTrackPoint</title> +<ellipse fill="none" stroke="#000000" cx="2010.0953" cy="-162" rx="80.4577" ry="18"/> +<text text-anchor="middle" x="2010.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">MouseTrackPoint</text> +</g> +<!-- Mouse->MouseTrackPoint --> +<g id="edge45" class="edge"> +<title>Mouse->MouseTrackPoint</title> +<path fill="none" stroke="#000000" d="M1915.4083,-219.7751C1931.9914,-209.6566 1954.5994,-195.8619 1973.5655,-184.2894"/> +<polygon fill="#000000" stroke="#000000" points="1975.5507,-187.1782 1982.264,-178.9818 1971.9046,-181.2027 1975.5507,-187.1782"/> +</g> +<!-- Playstation --> +<g id="node34" class="node"> +<title>Playstation</title> +<ellipse fill="none" stroke="#000000" cx="1506.0953" cy="-162" rx="53.9078" ry="18"/> +<text text-anchor="middle" x="1506.0953" y="-157.8" font-family="Times,serif" font-size="14.00" fill="#000000">Playstation</text> +</g> +<!-- Controllers->Playstation --> +<g id="edge34" class="edge"> +<title>Controllers->Playstation</title> +<path fill="none" stroke="#000000" d="M1506.0953,-215.8314C1506.0953,-208.131 1506.0953,-198.9743 1506.0953,-190.4166"/> +<polygon fill="#000000" stroke="#000000" points="1509.5954,-190.4132 1506.0953,-180.4133 1502.5954,-190.4133 1509.5954,-190.4132"/> +</g> +<!-- DualShock --> +<g id="node35" class="node"> +<title>DualShock</title> +<ellipse fill="none" stroke="#000000" cx="1488.0953" cy="-90" rx="53.8943" ry="18"/> +<text text-anchor="middle" x="1488.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">DualShock</text> +</g> +<!-- Playstation->DualShock --> +<g id="edge35" class="edge"> +<title>Playstation->DualShock</title> +<path fill="none" stroke="#000000" d="M1501.5531,-143.8314C1499.6069,-136.0463 1497.2885,-126.7729 1495.129,-118.1347"/> +<polygon fill="#000000" stroke="#000000" points="1498.5195,-117.2658 1492.6986,-108.4133 1491.7285,-118.9636 1498.5195,-117.2658"/> +</g> +<!-- DualSense --> +<g id="node36" class="node"> +<title>DualSense</title> +<ellipse fill="none" stroke="#000000" cx="1612.0953" cy="-90" rx="52.1655" ry="18"/> +<text text-anchor="middle" x="1612.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">DualSense</text> +</g> +<!-- Playstation->DualSense --> +<g id="edge36" class="edge"> +<title>Playstation->DualSense</title> +<path fill="none" stroke="#000000" d="M1529.8838,-145.8418C1544.6134,-135.8368 1563.7207,-122.8582 1579.8071,-111.9316"/> +<polygon fill="#000000" stroke="#000000" points="1582.0806,-114.6184 1588.3862,-106.1043 1578.1474,-108.8279 1582.0806,-114.6184"/> +</g> +<!-- DualShock1 --> +<g id="node37" class="node"> +<title>DualShock1</title> +<ellipse fill="none" stroke="#000000" cx="1420.0953" cy="-18" rx="58.5521" ry="18"/> +<text text-anchor="middle" x="1420.0953" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">DualShock1</text> +</g> +<!-- DualShock->DualShock1 --> +<g id="edge37" class="edge"> +<title>DualShock->DualShock1</title> +<path fill="none" stroke="#000000" d="M1471.6344,-72.5708C1463.2603,-63.7041 1452.9315,-52.7678 1443.7247,-43.0194"/> +<polygon fill="#000000" stroke="#000000" points="1446.0511,-40.3852 1436.6403,-35.5182 1440.962,-45.1916 1446.0511,-40.3852"/> +</g> +<!-- DualShock2 --> +<g id="node38" class="node"> +<title>DualShock2</title> +<ellipse fill="none" stroke="#000000" cx="1556.0953" cy="-18" rx="58.5521" ry="18"/> +<text text-anchor="middle" x="1556.0953" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">DualShock2</text> +</g> +<!-- DualShock->DualShock2 --> +<g id="edge38" class="edge"> +<title>DualShock->DualShock2</title> +<path fill="none" stroke="#000000" d="M1504.5562,-72.5708C1512.9303,-63.7041 1523.2591,-52.7678 1532.4659,-43.0194"/> +<polygon fill="#000000" stroke="#000000" points="1535.2286,-45.1916 1539.5503,-35.5182 1530.1395,-40.3852 1535.2286,-45.1916"/> +</g> +<!-- DualShock3 --> +<g id="node39" class="node"> +<title>DualShock3</title> +<ellipse fill="none" stroke="#000000" cx="1692.0953" cy="-18" rx="58.5521" ry="18"/> +<text text-anchor="middle" x="1692.0953" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">DualShock3</text> +</g> +<!-- DualShock->DualShock3 --> +<g id="edge39" class="edge"> +<title>DualShock->DualShock3</title> +<path fill="none" stroke="#000000" d="M1525.512,-76.7941C1558.7364,-65.0678 1607.4912,-47.8603 1643.6793,-35.088"/> +<polygon fill="#000000" stroke="#000000" points="1645.2646,-38.2401 1653.5296,-31.6114 1642.9348,-31.6392 1645.2646,-38.2401"/> +</g> +<!-- DualShock4 --> +<g id="node40" class="node"> +<title>DualShock4</title> +<ellipse fill="none" stroke="#000000" cx="1284.0953" cy="-18" rx="58.5521" ry="18"/> +<text text-anchor="middle" x="1284.0953" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">DualShock4</text> +</g> +<!-- DualShock->DualShock4 --> +<g id="edge40" class="edge"> +<title>DualShock->DualShock4</title> +<path fill="none" stroke="#000000" d="M1450.6786,-76.7941C1417.4541,-65.0678 1368.6994,-47.8603 1332.5113,-35.088"/> +<polygon fill="#000000" stroke="#000000" points="1333.2558,-31.6392 1322.661,-31.6114 1330.926,-38.2401 1333.2558,-31.6392"/> +</g> +<!-- GenericUSBMouse --> +<g id="node43" class="node"> +<title>GenericUSBMouse</title> +<ellipse fill="none" stroke="#000000" cx="1769.0953" cy="-90" rx="86.8165" ry="18"/> +<text text-anchor="middle" x="1769.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">GenericUSBMouse</text> +</g> +<!-- USBMouse->GenericUSBMouse --> +<g id="edge43" class="edge"> +<title>USBMouse->GenericUSBMouse</title> +<path fill="none" stroke="#000000" d="M1708.0542,-144.937C1718.1905,-135.8144 1730.8468,-124.4237 1742.0028,-114.3833"/> +<polygon fill="#000000" stroke="#000000" points="1744.3455,-116.9836 1749.4371,-107.6924 1739.6627,-111.7806 1744.3455,-116.9836"/> +</g> +<!-- VirtualDisk --> +<g id="node49" class="node"> +<title>VirtualDisk</title> +<ellipse fill="none" stroke="#000000" cx="325.0953" cy="-90" rx="56.7561" ry="18"/> +<text text-anchor="middle" x="325.0953" y="-85.8" font-family="Times,serif" font-size="14.00" fill="#000000">VirtualDisk</text> +</g> +<!-- Fat32->VirtualDisk --> +<g id="edge51" class="edge"> +<title>Fat32->VirtualDisk</title> +<path fill="none" stroke="#000000" d="M292.5044,-144.5708C297.5524,-136.1184 303.7236,-125.7851 309.3328,-116.3931"/> +<polygon fill="#000000" stroke="#000000" points="312.3608,-118.1489 314.4833,-107.7689 306.351,-114.5597 312.3608,-118.1489"/> +</g> +<!-- TarFS->VirtualDisk --> +<g id="edge50" class="edge"> +<title>TarFS->VirtualDisk</title> +<path fill="none" stroke="#000000" d="M357.6862,-144.5708C352.6382,-136.1184 346.467,-125.7851 340.8578,-116.3931"/> +<polygon fill="#000000" stroke="#000000" points="343.8396,-114.5597 335.7073,-107.7689 337.8298,-118.1489 343.8396,-114.5597"/> +</g> +<!-- Ext2->VirtualDisk --> +<g id="edge49" class="edge"> +<title>Ext2->VirtualDisk</title> +<path fill="none" stroke="#000000" d="M428.607,-149.6228C410.2018,-139.0214 383.3012,-123.5266 361.5364,-110.9901"/> +<polygon fill="#000000" stroke="#000000" points="363.2806,-107.9557 352.8684,-105.9973 359.7868,-114.0214 363.2806,-107.9557"/> +</g> +<!-- IDEDiskDriver --> +<g id="node50" class="node"> +<title>IDEDiskDriver</title> +<ellipse fill="none" stroke="#000000" cx="453.0953" cy="-18" rx="70.622" ry="18"/> +<text text-anchor="middle" x="453.0953" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">IDEDiskDriver</text> +</g> +<!-- VirtualDisk->IDEDiskDriver --> +<g id="edge52" class="edge"> +<title>VirtualDisk->IDEDiskDriver</title> +<path fill="none" stroke="#000000" d="M353.1854,-74.1993C371.3097,-64.0044 395.1147,-50.6141 414.9419,-39.4613"/> +<polygon fill="#000000" stroke="#000000" points="416.7372,-42.4672 423.737,-34.514 413.3053,-36.3662 416.7372,-42.4672"/> +</g> +<!-- ATADiskDriver --> +<g id="node51" class="node"> +<title>ATADiskDriver</title> +<ellipse fill="none" stroke="#000000" cx="616.0953" cy="-18" rx="74.1354" ry="18"/> +<text text-anchor="middle" x="616.0953" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">ATADiskDriver</text> +</g> +<!-- VirtualDisk->ATADiskDriver --> +<g id="edge53" class="edge"> +<title>VirtualDisk->ATADiskDriver</title> +<path fill="none" stroke="#000000" d="M368.0029,-78.0928C375.6815,-76.0205 383.6171,-73.9167 391.0953,-72 445.1811,-58.1378 506.8603,-43.4105 551.945,-32.8436"/> +<polygon fill="#000000" stroke="#000000" points="552.9392,-36.2055 561.879,-30.5196 551.3446,-29.3896 552.9392,-36.2055"/> +</g> +<!-- FloppyController --> +<g id="node52" class="node"> +<title>FloppyController</title> +<ellipse fill="none" stroke="#000000" cx="78.0953" cy="-18" rx="78.1907" ry="18"/> +<text text-anchor="middle" x="78.0953" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">FloppyController</text> +</g> +<!-- VirtualDisk->FloppyController --> +<g id="edge54" class="edge"> +<title>VirtualDisk->FloppyController</title> +<path fill="none" stroke="#000000" d="M283.1951,-77.7862C242.8032,-66.012 181.3328,-48.0935 136.2175,-34.9425"/> +<polygon fill="#000000" stroke="#000000" points="137.1453,-31.5673 126.5653,-32.1289 135.1863,-38.2877 137.1453,-31.5673"/> +</g> +<!-- CDROM --> +<g id="node53" class="node"> +<title>CDROM</title> +<ellipse fill="none" stroke="#000000" cx="221.0953" cy="-18" rx="46.3875" ry="18"/> +<text text-anchor="middle" x="221.0953" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">CDROM</text> +</g> +<!-- VirtualDisk->CDROM --> +<g id="edge55" class="edge"> +<title>VirtualDisk->CDROM</title> +<path fill="none" stroke="#000000" d="M301.2356,-73.4817C286.7642,-63.4631 268.1319,-50.5638 252.4754,-39.7247"/> +<polygon fill="#000000" stroke="#000000" points="254.3431,-36.7608 244.1289,-33.9463 250.3586,-42.5161 254.3431,-36.7608"/> +</g> +<!-- NVME --> +<g id="node54" class="node"> +<title>NVME</title> +<ellipse fill="none" stroke="#000000" cx="325.0953" cy="-18" rx="39.4254" ry="18"/> +<text text-anchor="middle" x="325.0953" y="-13.8" font-family="Times,serif" font-size="14.00" fill="#000000">NVME</text> +</g> +<!-- VirtualDisk->NVME --> +<g id="edge56" class="edge"> +<title>VirtualDisk->NVME</title> +<path fill="none" stroke="#000000" d="M325.0953,-71.8314C325.0953,-64.131 325.0953,-54.9743 325.0953,-46.4166"/> +<polygon fill="#000000" stroke="#000000" points="328.5954,-46.4132 325.0953,-36.4133 321.5954,-46.4133 328.5954,-46.4132"/> +</g> +<!-- BlueToothStack --> +<g id="node55" class="node"> +<title>BlueToothStack</title> +<ellipse fill="none" stroke="#000000" cx="2547.0953" cy="-378" rx="73.5965" ry="18"/> +<text text-anchor="middle" x="2547.0953" y="-373.8" font-family="Times,serif" font-size="14.00" fill="#000000">BlueToothStack</text> +</g> +</g> +</svg> \ No newline at end of file diff --git a/README.md b/README.md index a51ad6c..935103a 100644 --- a/README.md +++ b/README.md @@ -24,6 +24,9 @@ TODO - VFS Being (written)[https://git.ablecorp.us/bee/ableos-vfs] by Bee - Disk driver + - IDE Driver + - ATA Driver + - Floppy Driver - A ton more - Port (Slint)[https://slint.dev] - Depends on diff --git a/kernel/src/kmain.rs b/kernel/src/kmain.rs index b3e63e9..550fab2 100644 --- a/kernel/src/kmain.rs +++ b/kernel/src/kmain.rs @@ -38,6 +38,7 @@ pub fn kmain(cmdline: &str, boot_modules: BootModules) -> ! { // TODO: schedule the disk driver from the initramfs // TODO: schedule the filesystem driver from the initramfs + // TODO: Schedule the VFS from initramfs // TODO: schedule the init system from the initramfs let mut executor = crate::task::Executor::default();