提交 a71a15c9 编写于 作者: C chyyuu

deploy: 7577e15d

上级 82b629c0
(function() {var implementors = {};
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl&lt;T&gt; !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt;","synthetic":true,"types":["os::sync::up::UPSafeCell"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]}];
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/board/struct.RISCV64.html\" title=\"struct os::board::RISCV64\">RISCV64</a>","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl&lt;T&gt; !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt;","synthetic":true,"types":["os::sync::up::UPSafeCell"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Freeze.html\" title=\"trait core::marker::Freeze\">Freeze</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {};
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt; <span class=\"where fmt-newline\">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,&nbsp;</span>","synthetic":true,"types":["os::sync::up::UPSafeCell"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]}];
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/board/struct.RISCV64.html\" title=\"struct os::board::RISCV64\">RISCV64</a>","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt; <span class=\"where fmt-newline\">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a>,&nbsp;</span>","synthetic":true,"types":["os::sync::up::UPSafeCell"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Send.html\" title=\"trait core::marker::Send\">Send</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {};
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt;","synthetic":false,"types":["os::sync::up::UPSafeCell"]}];
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/board/struct.RISCV64.html\" title=\"struct os::board::RISCV64\">RISCV64</a>","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html\" title=\"trait core::marker::Sync\">Sync</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt;","synthetic":false,"types":["os::sync::up::UPSafeCell"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {};
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt; <span class=\"where fmt-newline\">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,&nbsp;</span>","synthetic":true,"types":["os::sync::up::UPSafeCell"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]}];
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/board/struct.RISCV64.html\" title=\"struct os::board::RISCV64\">RISCV64</a>","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt; <span class=\"where fmt-newline\">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a>,&nbsp;</span>","synthetic":true,"types":["os::sync::up::UPSafeCell"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html\" title=\"trait core::marker::Unpin\">Unpin</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {};
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl&lt;T&gt; !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt;","synthetic":true,"types":["os::sync::up::UPSafeCell"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]}];
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/board/struct.RISCV64.html\" title=\"struct os::board::RISCV64\">RISCV64</a>","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl&lt;T&gt; !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt;","synthetic":true,"types":["os::sync::up::UPSafeCell"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl !<a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html\" title=\"trait core::panic::unwind_safe::RefUnwindSafe\">RefUnwindSafe</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {};
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt; <span class=\"where fmt-newline\">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a>,&nbsp;</span>","synthetic":true,"types":["os::sync::up::UPSafeCell"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]}];
implementors["os"] = [{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/board/struct.RISCV64.html\" title=\"struct os::board::RISCV64\">RISCV64</a>","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/console/struct.Stdout.html\" title=\"struct os::console::Stdout\">Stdout</a>","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/loader/struct.KernelStack.html\" title=\"struct os::loader::KernelStack\">KernelStack</a>","synthetic":true,"types":["os::loader::KernelStack"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/loader/struct.UserStack.html\" title=\"struct os::loader::UserStack\">UserStack</a>","synthetic":true,"types":["os::loader::UserStack"]},{"text":"impl&lt;T&gt; <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/sync/up/struct.UPSafeCell.html\" title=\"struct os::sync::up::UPSafeCell\">UPSafeCell</a>&lt;T&gt; <span class=\"where fmt-newline\">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a>,&nbsp;</span>","synthetic":true,"types":["os::sync::up::UPSafeCell"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/task/context/struct.TaskContext.html\" title=\"struct os::task::context::TaskContext\">TaskContext</a>","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/task/task/struct.TaskControlBlock.html\" title=\"struct os::task::task::TaskControlBlock\">TaskControlBlock</a>","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"enum\" href=\"os/task/task/enum.TaskStatus.html\" title=\"enum os::task::task::TaskStatus\">TaskStatus</a>","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TaskManager.html\" title=\"struct os::task::TaskManager\">TaskManager</a>","synthetic":true,"types":["os::task::TaskManager"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TaskManagerInner.html\" title=\"struct os::task::TaskManagerInner\">TaskManagerInner</a>","synthetic":true,"types":["os::task::TaskManagerInner"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/task/struct.TASK_MANAGER.html\" title=\"struct os::task::TASK_MANAGER\">TASK_MANAGER</a>","synthetic":true,"types":["os::task::TASK_MANAGER"]},{"text":"impl <a class=\"trait\" href=\"https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html\" title=\"trait core::panic::unwind_safe::UnwindSafe\">UnwindSafe</a> for <a class=\"struct\" href=\"os/trap/context/struct.TrapContext.html\" title=\"struct os::trap::context::TrapContext\">TrapContext</a>","synthetic":true,"types":["os::trap::context::TrapContext"]}];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
(function() {var implementors = {};
implementors["os"] = [];
if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})()
\ No newline at end of file
......@@ -3,5 +3,5 @@
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../os/index.html"><div class="logo-container"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></div>
</a><h2 class="location">Crate os</h2></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../os/index.html"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><h1 class="fqn"><span class="in-band">List of all items</span></h1><h3 id="Structs">Structs</h3><ul class="structs docblock"><li><a href="console/struct.Stdout.html">console::Stdout</a></li><li><a href="loader/struct.KernelStack.html">loader::KernelStack</a></li><li><a href="loader/struct.UserStack.html">loader::UserStack</a></li><li><a href="sync/up/struct.UPSafeCell.html">sync::up::UPSafeCell</a></li><li><a href="task/struct.TASK_MANAGER.html">task::TASK_MANAGER</a></li><li><a href="task/struct.TaskContext.html">task::TaskContext</a></li><li><a href="task/struct.TaskManager.html">task::TaskManager</a></li><li><a href="task/struct.TaskManagerInner.html">task::TaskManagerInner</a></li><li><a href="task/context/struct.TaskContext.html">task::context::TaskContext</a></li><li><a href="task/task/struct.TaskControlBlock.html">task::task::TaskControlBlock</a></li><li><a href="trap/struct.TrapContext.html">trap::TrapContext</a></li><li><a href="trap/context/struct.TrapContext.html">trap::context::TrapContext</a></li></ul><h3 id="Enums">Enums</h3><ul class="enums docblock"><li><a href="task/task/enum.TaskStatus.html">task::task::TaskStatus</a></li></ul><h3 id="Macros">Macros</h3><ul class="macros docblock"><li><a href="macro.print.html">print</a></li><li><a href="macro.println.html">println</a></li></ul><h3 id="Functions">Functions</h3><ul class="functions docblock"><li><a href="fn.clear_bss.html">clear_bss</a></li><li><a href="console/fn.print.html">console::print</a></li><li><a href="lang_items/fn.panic.html">lang_items::panic</a></li><li><a href="loader/fn.get_base_i.html">loader::get_base_i</a></li><li><a href="loader/fn.get_num_app.html">loader::get_num_app</a></li><li><a href="loader/fn.init_app_cx.html">loader::init_app_cx</a></li><li><a href="loader/fn.load_apps.html">loader::load_apps</a></li><li><a href="fn.rust_main.html">rust_main</a></li><li><a href="sbi/fn.console_putchar.html">sbi::console_putchar</a></li><li><a href="sbi/fn.sbi_call.html">sbi::sbi_call</a></li><li><a href="sbi/fn.set_timer.html">sbi::set_timer</a></li><li><a href="sbi/fn.shutdown.html">sbi::shutdown</a></li><li><a href="syscall/fs/fn.sys_write.html">syscall::fs::sys_write</a></li><li><a href="syscall/process/fn.sys_exit.html">syscall::process::sys_exit</a></li><li><a href="syscall/process/fn.sys_get_time.html">syscall::process::sys_get_time</a></li><li><a href="syscall/process/fn.sys_yield.html">syscall::process::sys_yield</a></li><li><a href="syscall/fn.syscall.html">syscall::syscall</a></li><li><a href="task/fn.exit_current_and_run_next.html">task::exit_current_and_run_next</a></li><li><a href="task/fn.mark_current_exited.html">task::mark_current_exited</a></li><li><a href="task/fn.mark_current_suspended.html">task::mark_current_suspended</a></li><li><a href="task/fn.run_first_task.html">task::run_first_task</a></li><li><a href="task/fn.run_next_task.html">task::run_next_task</a></li><li><a href="task/fn.suspend_current_and_run_next.html">task::suspend_current_and_run_next</a></li><li><a href="task/switch/fn.__switch.html">task::switch::__switch</a></li><li><a href="timer/fn.get_time.html">timer::get_time</a></li><li><a href="timer/fn.get_time_ms.html">timer::get_time_ms</a></li><li><a href="timer/fn.set_next_trigger.html">timer::set_next_trigger</a></li><li><a href="trap/fn.enable_timer_interrupt.html">trap::enable_timer_interrupt</a></li><li><a href="trap/fn.init.html">trap::init</a></li><li><a href="trap/fn.trap_handler.html">trap::trap_handler</a></li></ul><h3 id="Statics">Statics</h3><ul class="statics docblock"><li><a href="loader/static.KERNEL_STACK.html">loader::KERNEL_STACK</a></li><li><a href="loader/static.USER_STACK.html">loader::USER_STACK</a></li></ul><h3 id="Constants">Constants</h3><ul class="constants docblock"><li><a href="board/constant.CLOCK_FREQ.html">board::CLOCK_FREQ</a></li><li><a href="config/constant.APP_BASE_ADDRESS.html">config::APP_BASE_ADDRESS</a></li><li><a href="config/constant.APP_SIZE_LIMIT.html">config::APP_SIZE_LIMIT</a></li><li><a href="config/constant.KERNEL_STACK_SIZE.html">config::KERNEL_STACK_SIZE</a></li><li><a href="config/constant.MAX_APP_NUM.html">config::MAX_APP_NUM</a></li><li><a href="config/constant.USER_STACK_SIZE.html">config::USER_STACK_SIZE</a></li><li><a href="sbi/constant.SBI_CONSOLE_PUTCHAR.html">sbi::SBI_CONSOLE_PUTCHAR</a></li><li><a href="sbi/constant.SBI_SET_TIMER.html">sbi::SBI_SET_TIMER</a></li><li><a href="sbi/constant.SBI_SHUTDOWN.html">sbi::SBI_SHUTDOWN</a></li><li><a href="syscall/constant.SYSCALL_EXIT.html">syscall::SYSCALL_EXIT</a></li><li><a href="syscall/constant.SYSCALL_GET_TIME.html">syscall::SYSCALL_GET_TIME</a></li><li><a href="syscall/constant.SYSCALL_WRITE.html">syscall::SYSCALL_WRITE</a></li><li><a href="syscall/constant.SYSCALL_YIELD.html">syscall::SYSCALL_YIELD</a></li><li><a href="syscall/fs/constant.FD_STDOUT.html">syscall::fs::FD_STDOUT</a></li><li><a href="timer/constant.MSEC_PER_SEC.html">timer::MSEC_PER_SEC</a></li><li><a href="timer/constant.TICKS_PER_SEC.html">timer::TICKS_PER_SEC</a></li></ul></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</a><h2 class="location">Crate os</h2></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../os/index.html"><img class="rust-logo" src="../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><h1 class="fqn"><span class="in-band">List of all items</span></h1><h3 id="Structs">Structs</h3><ul class="structs docblock"><li><a href="board/struct.RISCV64.html">board::RISCV64</a></li><li><a href="console/struct.Stdout.html">console::Stdout</a></li><li><a href="loader/struct.KernelStack.html">loader::KernelStack</a></li><li><a href="loader/struct.UserStack.html">loader::UserStack</a></li><li><a href="sync/up/struct.UPSafeCell.html">sync::up::UPSafeCell</a></li><li><a href="task/struct.TASK_MANAGER.html">task::TASK_MANAGER</a></li><li><a href="task/struct.TaskContext.html">task::TaskContext</a></li><li><a href="task/struct.TaskManager.html">task::TaskManager</a></li><li><a href="task/struct.TaskManagerInner.html">task::TaskManagerInner</a></li><li><a href="task/context/struct.TaskContext.html">task::context::TaskContext</a></li><li><a href="task/task/struct.TaskControlBlock.html">task::task::TaskControlBlock</a></li><li><a href="trap/struct.TrapContext.html">trap::TrapContext</a></li><li><a href="trap/context/struct.TrapContext.html">trap::context::TrapContext</a></li></ul><h3 id="Enums">Enums</h3><ul class="enums docblock"><li><a href="task/task/enum.TaskStatus.html">task::task::TaskStatus</a></li></ul><h3 id="Traits">Traits</h3><ul class="traits docblock"><li><a href="board/trait.QEMUExit.html">board::QEMUExit</a></li></ul><h3 id="Macros">Macros</h3><ul class="macros docblock"><li><a href="macro.print.html">print</a></li><li><a href="macro.println.html">println</a></li></ul><h3 id="Functions">Functions</h3><ul class="functions docblock"><li><a href="board/fn.exit_code_encode.html">board::exit_code_encode</a></li><li><a href="fn.clear_bss.html">clear_bss</a></li><li><a href="console/fn.print.html">console::print</a></li><li><a href="lang_items/fn.panic.html">lang_items::panic</a></li><li><a href="loader/fn.get_base_i.html">loader::get_base_i</a></li><li><a href="loader/fn.get_num_app.html">loader::get_num_app</a></li><li><a href="loader/fn.init_app_cx.html">loader::init_app_cx</a></li><li><a href="loader/fn.load_apps.html">loader::load_apps</a></li><li><a href="fn.rust_main.html">rust_main</a></li><li><a href="sbi/fn.console_putchar.html">sbi::console_putchar</a></li><li><a href="sbi/fn.sbi_call.html">sbi::sbi_call</a></li><li><a href="sbi/fn.set_timer.html">sbi::set_timer</a></li><li><a href="sbi/fn.shutdown.html">sbi::shutdown</a></li><li><a href="syscall/fs/fn.sys_write.html">syscall::fs::sys_write</a></li><li><a href="syscall/process/fn.sys_exit.html">syscall::process::sys_exit</a></li><li><a href="syscall/process/fn.sys_get_time.html">syscall::process::sys_get_time</a></li><li><a href="syscall/process/fn.sys_yield.html">syscall::process::sys_yield</a></li><li><a href="syscall/fn.syscall.html">syscall::syscall</a></li><li><a href="task/fn.exit_current_and_run_next.html">task::exit_current_and_run_next</a></li><li><a href="task/fn.mark_current_exited.html">task::mark_current_exited</a></li><li><a href="task/fn.mark_current_suspended.html">task::mark_current_suspended</a></li><li><a href="task/fn.run_first_task.html">task::run_first_task</a></li><li><a href="task/fn.run_next_task.html">task::run_next_task</a></li><li><a href="task/fn.suspend_current_and_run_next.html">task::suspend_current_and_run_next</a></li><li><a href="task/switch/fn.__switch.html">task::switch::__switch</a></li><li><a href="timer/fn.get_time.html">timer::get_time</a></li><li><a href="timer/fn.get_time_ms.html">timer::get_time_ms</a></li><li><a href="timer/fn.set_next_trigger.html">timer::set_next_trigger</a></li><li><a href="trap/fn.enable_timer_interrupt.html">trap::enable_timer_interrupt</a></li><li><a href="trap/fn.init.html">trap::init</a></li><li><a href="trap/fn.trap_handler.html">trap::trap_handler</a></li></ul><h3 id="Statics">Statics</h3><ul class="statics docblock"><li><a href="loader/static.KERNEL_STACK.html">loader::KERNEL_STACK</a></li><li><a href="loader/static.USER_STACK.html">loader::USER_STACK</a></li></ul><h3 id="Constants">Constants</h3><ul class="constants docblock"><li><a href="board/constant.CLOCK_FREQ.html">board::CLOCK_FREQ</a></li><li><a href="board/constant.EXIT_FAILURE.html">board::EXIT_FAILURE</a></li><li><a href="board/constant.EXIT_FAILURE_FLAG.html">board::EXIT_FAILURE_FLAG</a></li><li><a href="board/constant.EXIT_RESET.html">board::EXIT_RESET</a></li><li><a href="board/constant.EXIT_SUCCESS.html">board::EXIT_SUCCESS</a></li><li><a href="board/constant.QEMU_EXIT_HANDLE.html">board::QEMU_EXIT_HANDLE</a></li><li><a href="board/constant.VIRT_TEST.html">board::VIRT_TEST</a></li><li><a href="config/constant.APP_BASE_ADDRESS.html">config::APP_BASE_ADDRESS</a></li><li><a href="config/constant.APP_SIZE_LIMIT.html">config::APP_SIZE_LIMIT</a></li><li><a href="config/constant.KERNEL_STACK_SIZE.html">config::KERNEL_STACK_SIZE</a></li><li><a href="config/constant.MAX_APP_NUM.html">config::MAX_APP_NUM</a></li><li><a href="config/constant.USER_STACK_SIZE.html">config::USER_STACK_SIZE</a></li><li><a href="sbi/constant.SBI_CONSOLE_PUTCHAR.html">sbi::SBI_CONSOLE_PUTCHAR</a></li><li><a href="sbi/constant.SBI_SET_TIMER.html">sbi::SBI_SET_TIMER</a></li><li><a href="syscall/constant.SYSCALL_EXIT.html">syscall::SYSCALL_EXIT</a></li><li><a href="syscall/constant.SYSCALL_GET_TIME.html">syscall::SYSCALL_GET_TIME</a></li><li><a href="syscall/constant.SYSCALL_WRITE.html">syscall::SYSCALL_WRITE</a></li><li><a href="syscall/constant.SYSCALL_YIELD.html">syscall::SYSCALL_YIELD</a></li><li><a href="syscall/fs/constant.FD_STDOUT.html">syscall::fs::FD_STDOUT</a></li><li><a href="timer/constant.MSEC_PER_SEC.html">timer::MSEC_PER_SEC</a></li><li><a href="timer/constant.TICKS_PER_SEC.html">timer::TICKS_PER_SEC</a></li></ul></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `EXIT_FAILURE` constant in crate `os`."><meta name="keywords" content="rust, rustlang, rust-lang, EXIT_FAILURE"><title>EXIT_FAILURE in os::board - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::board</a></h2><div id="sidebar-vars" data-name="EXIT_FAILURE" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Constant <a href="../index.html">os</a>::<wbr><a href="index.html">board</a>::<wbr><a class="constant" href="#">EXIT_FAILURE</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/boards/qemu.rs.html#11">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust const"><code>const EXIT_FAILURE: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.u32.html">u32</a> = exit_code_encode(1); // 78_643u32</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `EXIT_FAILURE_FLAG` constant in crate `os`."><meta name="keywords" content="rust, rustlang, rust-lang, EXIT_FAILURE_FLAG"><title>EXIT_FAILURE_FLAG in os::board - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::board</a></h2><div id="sidebar-vars" data-name="EXIT_FAILURE_FLAG" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Constant <a href="../index.html">os</a>::<wbr><a href="index.html">board</a>::<wbr><a class="constant" href="#">EXIT_FAILURE_FLAG</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/boards/qemu.rs.html#10">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust const"><code>const EXIT_FAILURE_FLAG: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.u32.html">u32</a> = 0x3333;</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `SBI_SHUTDOWN` constant in crate `os`."><meta name="keywords" content="rust, rustlang, rust-lang, SBI_SHUTDOWN"><title>SBI_SHUTDOWN in os::sbi - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `EXIT_RESET` constant in crate `os`."><meta name="keywords" content="rust, rustlang, rust-lang, EXIT_RESET"><title>EXIT_RESET in os::board - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::sbi</a></h2><div id="sidebar-vars" data-name="SBI_SHUTDOWN" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Constant <a href="../index.html">os</a>::<wbr><a href="index.html">sbi</a>::<wbr><a class="constant" href="#">SBI_SHUTDOWN</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#7">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust const"><code>const SBI_SHUTDOWN: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a> = 8;</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::board</a></h2><div id="sidebar-vars" data-name="EXIT_RESET" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Constant <a href="../index.html">os</a>::<wbr><a href="index.html">board</a>::<wbr><a class="constant" href="#">EXIT_RESET</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/boards/qemu.rs.html#12">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust const"><code>const EXIT_RESET: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.u32.html">u32</a> = 0x7777;</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `EXIT_SUCCESS` constant in crate `os`."><meta name="keywords" content="rust, rustlang, rust-lang, EXIT_SUCCESS"><title>EXIT_SUCCESS in os::board - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::board</a></h2><div id="sidebar-vars" data-name="EXIT_SUCCESS" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Constant <a href="../index.html">os</a>::<wbr><a href="index.html">board</a>::<wbr><a class="constant" href="#">EXIT_SUCCESS</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/boards/qemu.rs.html#8">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust const"><code>const EXIT_SUCCESS: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.u32.html">u32</a> = 0x5555;</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `QEMU_EXIT_HANDLE` constant in crate `os`."><meta name="keywords" content="rust, rustlang, rust-lang, QEMU_EXIT_HANDLE"><title>QEMU_EXIT_HANDLE in os::board - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::board</a></h2><div id="sidebar-vars" data-name="QEMU_EXIT_HANDLE" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Constant <a href="../index.html">os</a>::<wbr><a href="index.html">board</a>::<wbr><a class="constant" href="#">QEMU_EXIT_HANDLE</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/boards/qemu.rs.html#83">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust const"><code>pub const QEMU_EXIT_HANDLE: <a class="struct" href="struct.RISCV64.html" title="struct os::board::RISCV64">RISCV64</a>;</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `VIRT_TEST` constant in crate `os`."><meta name="keywords" content="rust, rustlang, rust-lang, VIRT_TEST"><title>VIRT_TEST in os::board - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::board</a></h2><div id="sidebar-vars" data-name="VIRT_TEST" data-ty="constant" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Constant <a href="../index.html">os</a>::<wbr><a href="index.html">board</a>::<wbr><a class="constant" href="#">VIRT_TEST</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/boards/qemu.rs.html#81">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust const"><code>const VIRT_TEST: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.u64.html">u64</a> = 0x100000;</code></pre></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Encode the exit code using EXIT_FAILURE_FLAG."><meta name="keywords" content="rust, rustlang, rust-lang, exit_code_encode"><title>exit_code_encode in os::board - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::board</a></h2><div id="sidebar-vars" data-name="exit_code_encode" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">board</a>::<wbr><a class="fn" href="#">exit_code_encode</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/boards/qemu.rs.html#36-38">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>const fn exit_code_encode(code: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.u32.html">u32</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.u32.html">u32</a></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Encode the exit code using EXIT_FAILURE_FLAG.</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Constants used in rCore for K210 devel board"><meta name="keywords" content="rust, rustlang, rust-lang, board"><title>os::board - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="Constants used in rCore for qemu"><meta name="keywords" content="rust, rustlang, rust-lang, board"><title>os::board - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module board</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#constants">Constants</a></li></ul></div></section><div id="sidebar-vars" data-name="board" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">os</a>::<wbr><a class="mod" href="#">board</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/boards/qemu.rs.html#1-3">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Constants used in rCore for K210 devel board</p>
</div></details><h2 id="constants" class="small-section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.CLOCK_FREQ.html" title="os::board::CLOCK_FREQ constant">CLOCK_FREQ</a></div><div class="item-right docblock-short"></div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</a><h2 class="location"><a href="#">Module board</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#structs">Structs</a></li><li><a href="#constants">Constants</a></li><li><a href="#traits">Traits</a></li><li><a href="#functions">Functions</a></li></ul></div></section><div id="sidebar-vars" data-name="board" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">os</a>::<wbr><a class="mod" href="#">board</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/boards/qemu.rs.html#1-83">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Constants used in rCore for qemu</p>
</div></details><h2 id="structs" class="small-section-header"><a href="#structs">Structs</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="struct" href="struct.RISCV64.html" title="os::board::RISCV64 struct">RISCV64</a></div><div class="item-right docblock-short"><p>RISCV64 configuration</p>
</div></div></div><h2 id="constants" class="small-section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.CLOCK_FREQ.html" title="os::board::CLOCK_FREQ constant">CLOCK_FREQ</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.EXIT_FAILURE.html" title="os::board::EXIT_FAILURE constant">EXIT_FAILURE</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.EXIT_FAILURE_FLAG.html" title="os::board::EXIT_FAILURE_FLAG constant">EXIT_FAILURE_FLAG</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.EXIT_RESET.html" title="os::board::EXIT_RESET constant">EXIT_RESET</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.EXIT_SUCCESS.html" title="os::board::EXIT_SUCCESS constant">EXIT_SUCCESS</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.QEMU_EXIT_HANDLE.html" title="os::board::QEMU_EXIT_HANDLE constant">QEMU_EXIT_HANDLE</a></div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.VIRT_TEST.html" title="os::board::VIRT_TEST constant">VIRT_TEST</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div></div><h2 id="traits" class="small-section-header"><a href="#traits">Traits</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="trait" href="trait.QEMUExit.html" title="os::board::QEMUExit trait">QEMUExit</a></div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.exit_code_encode.html" title="os::board::exit_code_encode fn">exit_code_encode</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"><p>Encode the exit code using EXIT_FAILURE_FLAG.</p>
</div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
initSidebarItems({"constant":[["CLOCK_FREQ",""]]});
\ No newline at end of file
initSidebarItems({"constant":[["CLOCK_FREQ",""],["EXIT_FAILURE",""],["EXIT_FAILURE_FLAG",""],["EXIT_RESET",""],["EXIT_SUCCESS",""],["QEMU_EXIT_HANDLE",""],["VIRT_TEST",""]],"fn":[["exit_code_encode","Encode the exit code using EXIT_FAILURE_FLAG."]],"struct":[["RISCV64","RISCV64 configuration"]],"trait":[["QEMUExit",""]]});
\ No newline at end of file
此差异已折叠。
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="API documentation for the Rust `QEMUExit` trait in crate `os`."><meta name="keywords" content="rust, rustlang, rust-lang, QEMUExit"><title>QEMUExit in os::board - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">QEMUExit</a></h2><div class="sidebar-elems"><section><div class="block"><h3 class="sidebar-title"><a href="#required-methods">Required Methods</a></h3><ul><li><a href="#tymethod.exit">exit</a></li><li><a href="#tymethod.exit_failure">exit_failure</a></li><li><a href="#tymethod.exit_success">exit_success</a></li></ul></div><div class="block"><h3 class="sidebar-title"><a href="#implementors">Implementors</a></h3></div></section><h2 class="location"><a href="index.html">In os::board</a></h2><div id="sidebar-vars" data-name="QEMUExit" data-ty="trait" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Trait <a href="../index.html">os</a>::<wbr><a href="index.html">board</a>::<wbr><a class="trait" href="#">QEMUExit</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/boards/qemu.rs.html#14-27">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust trait"><code>pub trait QEMUExit {
fn <a href="#tymethod.exit" class="fnname">exit</a>(&amp;self, code: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.u32.html">u32</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.exit_success" class="fnname">exit_success</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a>;
<span class="item-spacer"></span> fn <a href="#tymethod.exit_failure" class="fnname">exit_failure</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a>;
}</code></pre></div><h2 id="required-methods" class="small-section-header">Required methods<a href="#required-methods" class="anchor"></a></h2><div class="methods"><details class="rustdoc-toggle" open><summary><div id="tymethod.exit" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/boards/qemu.rs.html#18">source</a></div><h4 class="code-header">fn <a href="#tymethod.exit" class="fnname">exit</a>(&amp;self, code: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.u32.html">u32</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></h4></div></summary><div class="docblock"><p>Exit with specified return code.</p>
<p>Note: For <code>X86</code>, code is binary-OR’ed with <code>0x1</code> inside QEMU.</p>
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.exit_success" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/boards/qemu.rs.html#23">source</a></div><h4 class="code-header">fn <a href="#tymethod.exit_success" class="fnname">exit_success</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></h4></div></summary><div class="docblock"><p>Exit QEMU using <code>EXIT_SUCCESS</code>, aka <code>0</code>, if possible.</p>
<p>Note: Not possible for <code>X86</code>.</p>
</div></details><details class="rustdoc-toggle" open><summary><div id="tymethod.exit_failure" class="method has-srclink"><div class="rightside"><a class="srclink" href="../../src/os/boards/qemu.rs.html#26">source</a></div><h4 class="code-header">fn <a href="#tymethod.exit_failure" class="fnname">exit_failure</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></h4></div></summary><div class="docblock"><p>Exit QEMU using <code>EXIT_FAILURE</code>, aka <code>1</code>.</p>
</div></details></div><h2 id="implementors" class="small-section-header">Implementors<a href="#implementors" class="anchor"></a></h2><div class="item-list" id="implementors-list"><section id="impl-QEMUExit" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/boards/qemu.rs.html#47-79">source</a></span><a href="#impl-QEMUExit" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="trait.QEMUExit.html" title="trait os::board::QEMUExit">QEMUExit</a> for <a class="struct" href="struct.RISCV64.html" title="struct os::board::RISCV64">RISCV64</a></h3></section></div><script type="text/javascript" src="../../implementors/os/board/trait.QEMUExit.js" async></script></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -19,7 +19,7 @@ details.)</p>
<p>We then call <a href="task/fn.run_first_task.html" title="task::run_first_task()"><code>task::run_first_task()</code></a> and for the first time go to
userspace.</p>
</div></details><h2 id="modules" class="small-section-header"><a href="#modules">Modules</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="board/index.html" title="os::board mod">board</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"><p>Constants used in rCore for K210 devel board</p>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="mod" href="board/index.html" title="os::board mod">board</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"><p>Constants used in rCore for qemu</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="config/index.html" title="os::config mod">config</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"><p>Constants used in rCore</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="console/index.html" title="os::console mod">console</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"><p>SBI console driver, for text output</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="mod" href="lang_items/index.html" title="os::lang_items mod">lang_items</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"><p>The panic handler</p>
......
......@@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::sbi</a></h2><div id="sidebar-vars" data-name="console_putchar" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">sbi</a>::<wbr><a class="fn" href="#">console_putchar</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#38-40">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn console_putchar(c: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>use sbi call to putchar in console (qemu uart handler)</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">sbi</a>::<wbr><a class="fn" href="#">console_putchar</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#40-42">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn console_putchar(c: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>use sbi call to putchar in console (qemu uart handler)</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::sbi</a></h2><div id="sidebar-vars" data-name="sbi_call" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">sbi</a>::<wbr><a class="fn" href="#">sbi_call</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#17-30">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn sbi_call(which: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg0: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg1: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg2: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>handle SBI call with <code>which</code> SBI_id and other arguments</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">sbi</a>::<wbr><a class="fn" href="#">sbi_call</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#19-32">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn sbi_call(which: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg0: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg1: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg2: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>handle SBI call with <code>which</code> SBI_id and other arguments</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::sbi</a></h2><div id="sidebar-vars" data-name="set_timer" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">sbi</a>::<wbr><a class="fn" href="#">set_timer</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#33-35">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn set_timer(timer: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>use sbi call to set timer</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">sbi</a>::<wbr><a class="fn" href="#">set_timer</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#35-37">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn set_timer(timer: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>use sbi call to set timer</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="use sbi call to getchar from console (qemu uart handler) use sbi call to shutdown the kernel"><meta name="keywords" content="rust, rustlang, rust-lang, shutdown"><title>shutdown in os::sbi - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="use sbi call to shutdown the kernel"><meta name="keywords" content="rust, rustlang, rust-lang, shutdown"><title>shutdown in os::sbi - Rust</title><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Regular.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../FiraSans-Medium.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Regular.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceSerif4-Bold.ttf.woff2"><link rel="preload" as="font" type="font/woff2" crossorigin href="../../SourceCodePro-Semibold.ttf.woff2"><link rel="stylesheet" type="text/css" href="../../normalize.css"><link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled><link rel="stylesheet" type="text/css" href="../../dark.css" disabled><link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><script defer src="../../main.js"></script>
<noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"></head><body class="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle">&#9776;</button><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"></h2>
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::sbi</a></h2><div id="sidebar-vars" data-name="shutdown" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">sbi</a>::<wbr><a class="fn" href="#">shutdown</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#48-51">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn shutdown() -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>use sbi call to getchar from console (qemu uart handler)
use sbi call to shutdown the kernel</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">sbi</a>::<wbr><a class="fn" href="#">shutdown</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#52-61">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn shutdown() -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>use sbi call to shutdown the kernel</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -4,13 +4,12 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module sbi</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#constants">Constants</a></li><li><a href="#functions">Functions</a></li></ul></div></section><div id="sidebar-vars" data-name="sbi" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">os</a>::<wbr><a class="mod" href="#">sbi</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#1-51">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>SBI call wrappers</p>
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">os</a>::<wbr><a class="mod" href="#">sbi</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/sbi.rs.html#1-61">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>SBI call wrappers</p>
</div></details><h2 id="constants" class="small-section-header"><a href="#constants">Constants</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.SBI_CONSOLE_PUTCHAR.html" title="os::sbi::SBI_CONSOLE_PUTCHAR constant">SBI_CONSOLE_PUTCHAR</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.SBI_SET_TIMER.html" title="os::sbi::SBI_SET_TIMER constant">SBI_SET_TIMER</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.SBI_SHUTDOWN.html" title="os::sbi::SBI_SHUTDOWN constant">SBI_SHUTDOWN</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.SBI_CONSOLE_PUTCHAR.html" title="os::sbi::SBI_CONSOLE_PUTCHAR constant">SBI_CONSOLE_PUTCHAR</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div><div class="item-row"><div class="item-left module-item"><a class="constant" href="constant.SBI_SET_TIMER.html" title="os::sbi::SBI_SET_TIMER constant">SBI_SET_TIMER</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"></div></div></div><h2 id="functions" class="small-section-header"><a href="#functions">Functions</a></h2>
<div class="item-table"><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.console_putchar.html" title="os::sbi::console_putchar fn">console_putchar</a></div><div class="item-right docblock-short"><p>use sbi call to putchar in console (qemu uart handler)</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.sbi_call.html" title="os::sbi::sbi_call fn">sbi_call</a><span title="Restricted Visibility">&nbsp;🔒</span> </div><div class="item-right docblock-short"><p>handle SBI call with <code>which</code> SBI_id and other arguments</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.set_timer.html" title="os::sbi::set_timer fn">set_timer</a></div><div class="item-right docblock-short"><p>use sbi call to set timer</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.shutdown.html" title="os::sbi::shutdown fn">shutdown</a></div><div class="item-right docblock-short"><p>use sbi call to getchar from console (qemu uart handler)
use sbi call to shutdown the kernel</p>
</div></div><div class="item-row"><div class="item-left module-item"><a class="fn" href="fn.shutdown.html" title="os::sbi::shutdown fn">shutdown</a></div><div class="item-right docblock-short"><p>use sbi call to shutdown the kernel</p>
</div></div></div></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
initSidebarItems({"constant":[["SBI_CONSOLE_PUTCHAR",""],["SBI_SET_TIMER",""],["SBI_SHUTDOWN",""]],"fn":[["console_putchar","use sbi call to putchar in console (qemu uart handler)"],["sbi_call","handle SBI call with `which` SBI_id and other arguments"],["set_timer","use sbi call to set timer"],["shutdown","use sbi call to getchar from console (qemu uart handler) use sbi call to shutdown the kernel"]]});
\ No newline at end of file
initSidebarItems({"constant":[["SBI_CONSOLE_PUTCHAR",""],["SBI_SET_TIMER",""]],"fn":[["console_putchar","use sbi call to putchar in console (qemu uart handler)"],["sbi_call","handle SBI call with `which` SBI_id and other arguments"],["set_timer","use sbi call to set timer"],["shutdown","use sbi call to shutdown the kernel"]]});
\ No newline at end of file
initSidebarItems({"fn":[["clear_bss","clear BSS segment"],["rust_main","the rust entry-point of os"]],"macro":[["print","print string macro"],["println","println string macro"]],"mod":[["board","Constants used in rCore for K210 devel board"],["config","Constants used in rCore"],["console","SBI console driver, for text output"],["lang_items","The panic handler"],["loader","Loading user applications into memory"],["sbi","SBI call wrappers"],["sync","Synchronization and interior mutability primitives"],["syscall","Implementation of syscalls"],["task","Task management implementation"],["timer","RISC-V timer-related functionality"],["trap","Trap handling functionality"]]});
\ No newline at end of file
initSidebarItems({"fn":[["clear_bss","clear BSS segment"],["rust_main","the rust entry-point of os"]],"macro":[["print","print string macro"],["println","println string macro"]],"mod":[["board","Constants used in rCore for qemu"],["config","Constants used in rCore"],["console","SBI console driver, for text output"],["lang_items","The panic handler"],["loader","Loading user applications into memory"],["sbi","SBI call wrappers"],["sync","Synchronization and interior mutability primitives"],["syscall","Implementation of syscalls"],["task","Task management implementation"],["timer","RISC-V timer-related functionality"],["trap","Trap handling functionality"]]});
\ No newline at end of file
......@@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="exit_current_and_run_next" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">exit_current_and_run_next</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#168-171">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn exit_current_and_run_next()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>exit current task, then run next task</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">exit_current_and_run_next</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#176-179">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn exit_current_and_run_next()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>exit current task, then run next task</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="mark_current_exited" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">mark_current_exited</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#157-159">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn mark_current_exited()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>exit current task</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">mark_current_exited</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#165-167">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn mark_current_exited()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>exit current task</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="mark_current_suspended" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">mark_current_suspended</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#152-154">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn mark_current_suspended()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>suspend current task</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">mark_current_suspended</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#160-162">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn mark_current_suspended()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>suspend current task</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="run_first_task" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">run_first_task</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#142-144">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn run_first_task()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>run first task</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">run_first_task</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#150-152">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn run_first_task()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>run first task</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="run_next_task" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">run_next_task</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#147-149">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn run_next_task()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>rust next task</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">run_next_task</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#155-157">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>fn run_next_task()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>rust next task</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -4,6 +4,6 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><div class="sidebar-elems"><h2 class="location"><a href="index.html">In os::task</a></h2><div id="sidebar-vars" data-name="suspend_current_and_run_next" data-ty="fn" data-relpath=""></div><script defer src="sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">suspend_current_and_run_next</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#162-165">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn suspend_current_and_run_next()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>suspend current task, then run next task</p>
<h1 class="fqn"><span class="in-band">Function <a href="../index.html">os</a>::<wbr><a href="index.html">task</a>::<wbr><a class="fn" href="#">suspend_current_and_run_next</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#170-173">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><div class="docblock item-decl"><pre class="rust fn"><code>pub fn suspend_current_and_run_next()</code></pre></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>suspend current task, then run next task</p>
</div></details></section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -4,7 +4,7 @@
</nav>
<nav class="sidebar"><a class="sidebar-logo" href="../../os/index.html"><div class="logo-container"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></div>
</a><h2 class="location"><a href="#">Module task</a></h2><div class="sidebar-elems"><section><div class="block"><ul><li><a href="#modules">Modules</a></li><li><a href="#structs">Structs</a></li><li><a href="#functions">Functions</a></li></ul></div></section><div id="sidebar-vars" data-name="task" data-ty="mod" data-relpath="./"></div><script defer src="./sidebar-items.js"></script></div></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../os/index.html"><img class="rust-logo" src="../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="main-heading">
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">os</a>::<wbr><a class="mod" href="#">task</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#1-171">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Task management implementation</p>
<h1 class="fqn"><span class="in-band">Module <a href="../index.html">os</a>::<wbr><a class="mod" href="#">task</a><button id="copy-path" onclick="copy_path(this)" title="Copy item path to clipboard"><img src="../../clipboard.svg" width="19" height="18" alt="Copy item path"></button></span></h1><span class="out-of-band"><a class="srclink" href="../../src/os/task/mod.rs.html#1-179">source</a> · <a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class="inner">&#x2212;</span>]</a></span></div><details class="rustdoc-toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>Task management implementation</p>
<p>Everything about task management, like starting and switching tasks is
implemented here.</p>
<p>A single global instance of <a href="struct.TaskManager.html" title="TaskManager"><code>TaskManager</code></a> called <code>TASK_MANAGER</code> controls
......
......@@ -14,7 +14,7 @@ But in ch3, we load apps statically, so the first task is a real app.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mark_current_exited" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#102-106">source</a></span><a href="#method.mark_current_exited" class="anchor"></a><h4 class="code-header">fn <a href="#method.mark_current_exited" class="fnname">mark_current_exited</a>(&amp;self)</h4></section></summary><div class="docblock"><p>Change the status of current <code>Running</code> task into <code>Exited</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.find_next_task" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#111-117">source</a></span><a href="#method.find_next_task" class="anchor"></a><h4 class="code-header">fn <a href="#method.find_next_task" class="fnname">find_next_task</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class="docblock"><p>Find next task to run and return task id.</p>
<p>In this case, we only return the first <code>Ready</code> task in task list.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.run_next_task" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#121-138">source</a></span><a href="#method.run_next_task" class="anchor"></a><h4 class="code-header">fn <a href="#method.run_next_task" class="fnname">run_next_task</a>(&amp;self)</h4></section></summary><div class="docblock"><p>Switch current <code>Running</code> task to the task we have found,
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.run_next_task" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#121-146">source</a></span><a href="#method.run_next_task" class="anchor"></a><h4 class="code-header">fn <a href="#method.run_next_task" class="fnname">run_next_task</a>(&amp;self)</h4></section></summary><div class="docblock"><p>Switch current <code>Running</code> task to the task we have found,
or there is no <code>Ready</code> task and we can exit with all applications completed</p>
</div></details></div></div><h2 id="trait-implementations" class="small-section-header">Trait Implementations<a href="#trait-implementations" class="anchor"></a></h2><div id="trait-implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl-Deref" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#51-73">source</a></span><a href="#impl-Deref" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html" title="trait core::ops::deref::Deref">Deref</a> for <a class="struct" href="struct.TASK_MANAGER.html" title="struct os::task::TASK_MANAGER">TASK_MANAGER</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle" open><summary><section id="associatedtype.Target" class="type trait-impl has-srclink"><a href="#associatedtype.Target" class="anchor"></a><h4 class="code-header">type <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target" class="associatedtype">Target</a> = <a class="struct" href="struct.TaskManager.html" title="struct os::task::TaskManager">TaskManager</a></h4></section></summary><div class='docblock'><p>The resulting type after dereferencing.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.deref" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#51-73">source</a></span><a href="#method.deref" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref" class="fnname">deref</a>(&amp;self) -&gt; &amp;<a class="struct" href="struct.TaskManager.html" title="struct os::task::TaskManager">TaskManager</a></h4></section></summary><div class='docblock'><p>Dereferences the value.</p>
......
......@@ -16,14 +16,14 @@ borrowing checks to runtime. You can see examples on how to use <code>inner</cod
existing functions on <code>TaskManager</code>.</p>
</div></details><h2 id="fields" class="fields small-section-header">Fields<a href="#fields" class="anchor"></a></h2><span id="structfield.num_app" class="structfield small-section-header"><a href="#structfield.num_app" class="anchor field"></a><code>num_app: <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></code></span><div class="docblock"><p>total number of tasks</p>
</div><span id="structfield.inner" class="structfield small-section-header"><a href="#structfield.inner" class="anchor field"></a><code>inner: <a class="struct" href="../sync/up/struct.UPSafeCell.html" title="struct os::sync::up::UPSafeCell">UPSafeCell</a>&lt;<a class="struct" href="struct.TaskManagerInner.html" title="struct os::task::TaskManagerInner">TaskManagerInner</a>&gt;</code></span><div class="docblock"><p>use inner value to get mutable access</p>
</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#75-139">source</a></span><a href="#impl" class="anchor"></a><h3 class="code-header in-band">impl <a class="struct" href="struct.TaskManager.html" title="struct os::task::TaskManager">TaskManager</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.run_first_task" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#80-92">source</a></span><a href="#method.run_first_task" class="anchor"></a><h4 class="code-header">fn <a href="#method.run_first_task" class="fnname">run_first_task</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></h4></section></summary><div class="docblock"><p>Run the first task in task list.</p>
</div><h2 id="implementations" class="small-section-header">Implementations<a href="#implementations" class="anchor"></a></h2><div id="implementations-list"><details class="rustdoc-toggle implementors-toggle" open><summary><section id="impl" class="impl has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#75-147">source</a></span><a href="#impl" class="anchor"></a><h3 class="code-header in-band">impl <a class="struct" href="struct.TaskManager.html" title="struct os::task::TaskManager">TaskManager</a></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.run_first_task" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#80-92">source</a></span><a href="#method.run_first_task" class="anchor"></a><h4 class="code-header">fn <a href="#method.run_first_task" class="fnname">run_first_task</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></h4></section></summary><div class="docblock"><p>Run the first task in task list.</p>
<p>Generally, the first task in task list is an idle task (we call it zero process later).
But in ch3, we load apps statically, so the first task is a real app.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mark_current_suspended" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#95-99">source</a></span><a href="#method.mark_current_suspended" class="anchor"></a><h4 class="code-header">fn <a href="#method.mark_current_suspended" class="fnname">mark_current_suspended</a>(&amp;self)</h4></section></summary><div class="docblock"><p>Change the status of current <code>Running</code> task into <code>Ready</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.mark_current_exited" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#102-106">source</a></span><a href="#method.mark_current_exited" class="anchor"></a><h4 class="code-header">fn <a href="#method.mark_current_exited" class="fnname">mark_current_exited</a>(&amp;self)</h4></section></summary><div class="docblock"><p>Change the status of current <code>Running</code> task into <code>Exited</code>.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.find_next_task" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#111-117">source</a></span><a href="#method.find_next_task" class="anchor"></a><h4 class="code-header">fn <a href="#method.find_next_task" class="fnname">find_next_task</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>&gt;</h4></section></summary><div class="docblock"><p>Find next task to run and return task id.</p>
<p>In this case, we only return the first <code>Ready</code> task in task list.</p>
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.run_next_task" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#121-138">source</a></span><a href="#method.run_next_task" class="anchor"></a><h4 class="code-header">fn <a href="#method.run_next_task" class="fnname">run_next_task</a>(&amp;self)</h4></section></summary><div class="docblock"><p>Switch current <code>Running</code> task to the task we have found,
</div></details><details class="rustdoc-toggle method-toggle" open><summary><section id="method.run_next_task" class="method has-srclink"><span class="rightside"><a class="srclink" href="../../src/os/task/mod.rs.html#121-146">source</a></span><a href="#method.run_next_task" class="anchor"></a><h4 class="code-header">fn <a href="#method.run_next_task" class="fnname">run_next_task</a>(&amp;self)</h4></section></summary><div class="docblock"><p>Switch current <code>Running</code> task to the task we have found,
or there is no <code>Ready</code> task and we can exit with all applications completed</p>
</div></details></div></details></div><h2 id="synthetic-implementations" class="small-section-header">Auto Trait Implementations<a href="#synthetic-implementations" class="anchor"></a></h2><div id="synthetic-implementations-list"><section id="impl-RefUnwindSafe" class="impl has-srclink"><a href="#impl-RefUnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.RefUnwindSafe.html" title="trait core::panic::unwind_safe::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="struct.TaskManager.html" title="struct os::task::TaskManager">TaskManager</a></h3></section><section id="impl-Send" class="impl has-srclink"><a href="#impl-Send" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="struct.TaskManager.html" title="struct os::task::TaskManager">TaskManager</a></h3></section><section id="impl-Sync" class="impl has-srclink"><a href="#impl-Sync" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="struct.TaskManager.html" title="struct os::task::TaskManager">TaskManager</a></h3></section><section id="impl-Unpin" class="impl has-srclink"><a href="#impl-Unpin" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="struct.TaskManager.html" title="struct os::task::TaskManager">TaskManager</a></h3></section><section id="impl-UnwindSafe" class="impl has-srclink"><a href="#impl-UnwindSafe" class="anchor"></a><h3 class="code-header in-band">impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/panic/unwind_safe/trait.UnwindSafe.html" title="trait core::panic::unwind_safe::UnwindSafe">UnwindSafe</a> for <a class="struct" href="struct.TaskManager.html" title="struct os::task::TaskManager">TaskManager</a></h3></section></div><h2 id="blanket-implementations" class="small-section-header">Blanket Implementations<a href="#blanket-implementations" class="anchor"></a></h2><div id="blanket-implementations-list"><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Any" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132-136">source</a></span><a href="#impl-Any" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.type_id" class="method trait-impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#133">source</a></span><a href="#method.type_id" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id" class="fnname">type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></h4></section></summary><div class='docblock'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></details></div></details><details class="rustdoc-toggle implementors-toggle"><summary><section id="impl-Borrow%3CT%3E" class="impl has-srclink"><span class="rightside"><a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#209-214">source</a></span><a href="#impl-Borrow%3CT%3E" class="anchor"></a><h3 class="code-header in-band">impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></h3></section></summary><div class="impl-items"><details class="rustdoc-toggle method-toggle" open><summary><section id="method.borrow" class="method trait-impl has-srclink"><span class="rightside"><span class="since" title="const unstable">const: <a href="https://github.com/rust-lang/rust/issues/91522" title="Tracking issue for const_borrow">unstable</a></span> · <a class="srclink" href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a></span><a href="#method.borrow" class="anchor"></a><h4 class="code-header">fn <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow" class="fnname">borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&amp;</a>T</h4></section></summary><div class='docblock'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
......
此差异已折叠。
......@@ -6,9 +6,169 @@
</a></nav><main><div class="width-limiter"><div class="sub-container"><a class="sub-logo-container" href="../../../os/index.html"><img class="rust-logo" src="../../../rust-logo.svg" alt="logo"></a><nav class="sub"><div class="theme-picker hidden"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="22" height="22" alt="Pick another theme!" src="../../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><form class="search-form"><div class="search-container"><span></span><input class="search-input" name="search" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../../settings.html" title="settings"><img width="22" height="22" alt="Change settings" src="../../../wheel.svg"></a></div></form></nav></div><section id="main-content" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1">1</span>
<span id="2">2</span>
<span id="3">3</span>
</pre><pre class="rust"><code><span class="doccomment">//! Constants used in rCore for K210 devel board</span>
<span id="4">4</span>
<span id="5">5</span>
<span id="6">6</span>
<span id="7">7</span>
<span id="8">8</span>
<span id="9">9</span>
<span id="10">10</span>
<span id="11">11</span>
<span id="12">12</span>
<span id="13">13</span>
<span id="14">14</span>
<span id="15">15</span>
<span id="16">16</span>
<span id="17">17</span>
<span id="18">18</span>
<span id="19">19</span>
<span id="20">20</span>
<span id="21">21</span>
<span id="22">22</span>
<span id="23">23</span>
<span id="24">24</span>
<span id="25">25</span>
<span id="26">26</span>
<span id="27">27</span>
<span id="28">28</span>
<span id="29">29</span>
<span id="30">30</span>
<span id="31">31</span>
<span id="32">32</span>
<span id="33">33</span>
<span id="34">34</span>
<span id="35">35</span>
<span id="36">36</span>
<span id="37">37</span>
<span id="38">38</span>
<span id="39">39</span>
<span id="40">40</span>
<span id="41">41</span>
<span id="42">42</span>
<span id="43">43</span>
<span id="44">44</span>
<span id="45">45</span>
<span id="46">46</span>
<span id="47">47</span>
<span id="48">48</span>
<span id="49">49</span>
<span id="50">50</span>
<span id="51">51</span>
<span id="52">52</span>
<span id="53">53</span>
<span id="54">54</span>
<span id="55">55</span>
<span id="56">56</span>
<span id="57">57</span>
<span id="58">58</span>
<span id="59">59</span>
<span id="60">60</span>
<span id="61">61</span>
<span id="62">62</span>
<span id="63">63</span>
<span id="64">64</span>
<span id="65">65</span>
<span id="66">66</span>
<span id="67">67</span>
<span id="68">68</span>
<span id="69">69</span>
<span id="70">70</span>
<span id="71">71</span>
<span id="72">72</span>
<span id="73">73</span>
<span id="74">74</span>
<span id="75">75</span>
<span id="76">76</span>
<span id="77">77</span>
<span id="78">78</span>
<span id="79">79</span>
<span id="80">80</span>
<span id="81">81</span>
<span id="82">82</span>
<span id="83">83</span>
</pre><pre class="rust"><code><span class="doccomment">//! Constants used in rCore for qemu</span>
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">CLOCK_FREQ</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="number">12500000</span>;
<span class="comment">//ref:: https://github.com/andre-richter/qemu-exit</span>
<span class="kw">use</span> <span class="ident">core::arch::asm</span>;
<span class="kw">const</span> <span class="ident">EXIT_SUCCESS</span>: <span class="ident">u32</span> <span class="op">=</span> <span class="number">0x5555</span>; <span class="comment">// Equals `exit(0)`. qemu successful exit</span>
<span class="kw">const</span> <span class="ident">EXIT_FAILURE_FLAG</span>: <span class="ident">u32</span> <span class="op">=</span> <span class="number">0x3333</span>;
<span class="kw">const</span> <span class="ident">EXIT_FAILURE</span>: <span class="ident">u32</span> <span class="op">=</span> <span class="ident">exit_code_encode</span>(<span class="number">1</span>); <span class="comment">// Equals `exit(1)`. qemu failed exit</span>
<span class="kw">const</span> <span class="ident">EXIT_RESET</span>: <span class="ident">u32</span> <span class="op">=</span> <span class="number">0x7777</span>; <span class="comment">// qemu reset</span>
<span class="kw">pub</span> <span class="kw">trait</span> <span class="ident">QEMUExit</span> {
<span class="doccomment">/// Exit with specified return code.</span>
<span class="doccomment">///</span>
<span class="doccomment">/// Note: For `X86`, code is binary-OR&#39;ed with `0x1` inside QEMU.</span>
<span class="kw">fn</span> <span class="ident">exit</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">code</span>: <span class="ident">u32</span>) -&gt; <span class="op">!</span>;
<span class="doccomment">/// Exit QEMU using `EXIT_SUCCESS`, aka `0`, if possible.</span>
<span class="doccomment">///</span>
<span class="doccomment">/// Note: Not possible for `X86`.</span>
<span class="kw">fn</span> <span class="ident">exit_success</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="op">!</span>;
<span class="doccomment">/// Exit QEMU using `EXIT_FAILURE`, aka `1`.</span>
<span class="kw">fn</span> <span class="ident">exit_failure</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="op">!</span>;
}
<span class="doccomment">/// RISCV64 configuration</span>
<span class="kw">pub</span> <span class="kw">struct</span> <span class="ident">RISCV64</span> {
<span class="doccomment">/// Address of the sifive_test mapped device.</span>
<span class="ident">addr</span>: <span class="ident">u64</span>,
}
<span class="doccomment">/// Encode the exit code using EXIT_FAILURE_FLAG.</span>
<span class="kw">const</span> <span class="kw">fn</span> <span class="ident">exit_code_encode</span>(<span class="ident">code</span>: <span class="ident">u32</span>) -&gt; <span class="ident">u32</span> {
(<span class="ident">code</span> <span class="op">&lt;</span><span class="op">&lt;</span> <span class="number">16</span>) <span class="op">|</span> <span class="ident">EXIT_FAILURE_FLAG</span>
}
<span class="kw">impl</span> <span class="ident">RISCV64</span> {
<span class="doccomment">/// Create an instance.</span>
<span class="kw">pub</span> <span class="kw">const</span> <span class="kw">fn</span> <span class="ident">new</span>(<span class="ident">addr</span>: <span class="ident">u64</span>) -&gt; <span class="self">Self</span> {
<span class="ident">RISCV64</span> { <span class="ident">addr</span> }
}
}
<span class="kw">impl</span> <span class="ident">QEMUExit</span> <span class="kw">for</span> <span class="ident">RISCV64</span> {
<span class="doccomment">/// Exit qemu with specified exit code.</span>
<span class="kw">fn</span> <span class="ident">exit</span>(<span class="kw-2">&amp;</span><span class="self">self</span>, <span class="ident">code</span>: <span class="ident">u32</span>) -&gt; <span class="op">!</span> {
<span class="comment">// If code is not a special value, we need to encode it with EXIT_FAILURE_FLAG.</span>
<span class="kw">let</span> <span class="ident">code_new</span> <span class="op">=</span> <span class="kw">match</span> <span class="ident">code</span> {
<span class="ident">EXIT_SUCCESS</span> <span class="op">|</span> <span class="ident">EXIT_FAILURE</span> <span class="op">|</span> <span class="ident">EXIT_RESET</span> =&gt; <span class="ident">code</span>,
<span class="kw">_</span> =&gt; <span class="ident">exit_code_encode</span>(<span class="ident">code</span>),
};
<span class="kw">unsafe</span> {
<span class="macro">asm!</span>(
<span class="string">&quot;sw {0}, 0({1})&quot;</span>,
<span class="kw">in</span>(<span class="ident">reg</span>)<span class="ident">code_new</span>, <span class="kw">in</span>(<span class="ident">reg</span>)<span class="self">self</span>.<span class="ident">addr</span>
);
<span class="comment">// For the case that the QEMU exit attempt did not work, transition into an infinite</span>
<span class="comment">// loop. Calling `panic!()` here is unfeasible, since there is a good chance</span>
<span class="comment">// this function here is the last expression in the `panic!()` handler</span>
<span class="comment">// itself. This prevents a possible infinite loop.</span>
<span class="kw">loop</span> {
<span class="macro">asm!</span>(<span class="string">&quot;wfi&quot;</span>, <span class="ident">options</span>(<span class="ident">nomem</span>, <span class="ident">nostack</span>));
}
}
}
<span class="kw">fn</span> <span class="ident">exit_success</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="op">!</span> {
<span class="self">self</span>.<span class="ident">exit</span>(<span class="ident">EXIT_SUCCESS</span>);
}
<span class="kw">fn</span> <span class="ident">exit_failure</span>(<span class="kw-2">&amp;</span><span class="self">self</span>) -&gt; <span class="op">!</span> {
<span class="self">self</span>.<span class="ident">exit</span>(<span class="ident">EXIT_FAILURE</span>);
}
}
<span class="kw">const</span> <span class="ident">VIRT_TEST</span>: <span class="ident">u64</span> <span class="op">=</span> <span class="number">0x100000</span>;
<span class="kw">pub</span> <span class="kw">const</span> <span class="ident">QEMU_EXIT_HANDLE</span>: <span class="ident">RISCV64</span> <span class="op">=</span> <span class="ident">RISCV64::new</span>(<span class="ident">VIRT_TEST</span>);
</code></pre></div>
</section><section id="search" class="content hidden"></section></div></main><div id="rustdoc-vars" data-root-path="../../../" data-current-crate="os" data-themes="ayu,dark,light" data-resource-suffix="" data-rustdoc-version="1.62.0-nightly (1f7fb6413 2022-04-10)" ></div>
</body></html>
\ No newline at end of file
......@@ -54,12 +54,24 @@
<span id="49">49</span>
<span id="50">50</span>
<span id="51">51</span>
<span id="52">52</span>
<span id="53">53</span>
<span id="54">54</span>
<span id="55">55</span>
<span id="56">56</span>
<span id="57">57</span>
<span id="58">58</span>
<span id="59">59</span>
<span id="60">60</span>
<span id="61">61</span>
</pre><pre class="rust"><code><span class="doccomment">//! SBI call wrappers</span>
<span class="kw">use</span> <span class="ident">core::arch::asm</span>;
<span class="kw">const</span> <span class="ident">SBI_SET_TIMER</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="number">0</span>;
<span class="kw">const</span> <span class="ident">SBI_CONSOLE_PUTCHAR</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="number">1</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;board_k210&quot;</span>)]</span>
<span class="kw">const</span> <span class="ident">SBI_SHUTDOWN</span>: <span class="ident">usize</span> <span class="op">=</span> <span class="number">8</span>;
<span class="comment">// const SBI_CONSOLE_GETCHAR: usize = 2;</span>
<span class="comment">// const SBI_CLEAR_IPI: usize = 3;</span>
......@@ -100,9 +112,17 @@
<span class="comment">// sbi_call(SBI_CONSOLE_GETCHAR, 0, 0, 0)</span>
<span class="comment">// }</span>
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;board_qemu&quot;</span>)]</span>
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::board::QEMUExit</span>;
<span class="doccomment">/// use sbi call to shutdown the kernel</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">shutdown</span>() -&gt; <span class="op">!</span> {
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;board_k210&quot;</span>)]</span>
<span class="ident">sbi_call</span>(<span class="ident">SBI_SHUTDOWN</span>, <span class="number">0</span>, <span class="number">0</span>, <span class="number">0</span>);
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;board_qemu&quot;</span>)]</span>
<span class="ident"><span class="kw">crate</span>::board::QEMU_EXIT_HANDLE</span>.<span class="ident">exit_failure</span>();
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;board_k210&quot;</span>)]</span>
<span class="macro">panic!</span>(<span class="string">&quot;It should shutdown!&quot;</span>);
}
</code></pre></div>
......
......@@ -174,6 +174,14 @@
<span id="169">169</span>
<span id="170">170</span>
<span id="171">171</span>
<span id="172">172</span>
<span id="173">173</span>
<span id="174">174</span>
<span id="175">175</span>
<span id="176">176</span>
<span id="177">177</span>
<span id="178">178</span>
<span id="179">179</span>
</pre><pre class="rust"><code><span class="doccomment">//! Task management implementation</span>
<span class="doccomment">//!</span>
<span class="doccomment">//! Everything about task management, like starting and switching tasks is</span>
......@@ -309,6 +317,14 @@
}
<span class="comment">// go back to user mode</span>
} <span class="kw">else</span> {
<span class="macro">println!</span>(<span class="string">&quot;All applications completed!&quot;</span>);
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;board_qemu&quot;</span>)]</span>
<span class="kw">use</span> <span class="ident"><span class="kw">crate</span>::board::QEMUExit</span>;
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;board_qemu&quot;</span>)]</span>
<span class="ident"><span class="kw">crate</span>::board::QEMU_EXIT_HANDLE</span>.<span class="ident">exit_success</span>();
<span class="attribute">#[<span class="ident">cfg</span>(<span class="ident">feature</span> <span class="op">=</span> <span class="string">&quot;board_k210&quot;</span>)]</span>
<span class="macro">panic!</span>(<span class="string">&quot;All applications completed!&quot;</span>);
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册