</a><h2class="location">Crate os</h2></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../os/index.html"><imgclass="rust-logo"src="../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><h1class="fqn"><spanclass="in-band">List of all items</span></h1><h3id="Structs">Structs</h3><ulclass="structs docblock"><li><ahref="console/struct.Stdout.html">console::Stdout</a></li><li><ahref="loader/struct.KernelStack.html">loader::KernelStack</a></li><li><ahref="loader/struct.UserStack.html">loader::UserStack</a></li><li><ahref="sync/up/struct.UPSafeCell.html">sync::up::UPSafeCell</a></li><li><ahref="task/struct.TASK_MANAGER.html">task::TASK_MANAGER</a></li><li><ahref="task/struct.TaskContext.html">task::TaskContext</a></li><li><ahref="task/struct.TaskManager.html">task::TaskManager</a></li><li><ahref="task/struct.TaskManagerInner.html">task::TaskManagerInner</a></li><li><ahref="task/context/struct.TaskContext.html">task::context::TaskContext</a></li><li><ahref="task/task/struct.TaskControlBlock.html">task::task::TaskControlBlock</a></li><li><ahref="trap/struct.TrapContext.html">trap::TrapContext</a></li><li><ahref="trap/context/struct.TrapContext.html">trap::context::TrapContext</a></li></ul><h3id="Enums">Enums</h3><ulclass="enums docblock"><li><ahref="task/task/enum.TaskStatus.html">task::task::TaskStatus</a></li></ul><h3id="Macros">Macros</h3><ulclass="macros docblock"><li><ahref="macro.print.html">print</a></li><li><ahref="macro.println.html">println</a></li></ul><h3id="Functions">Functions</h3><ulclass="functions docblock"><li><ahref="fn.clear_bss.html">clear_bss</a></li><li><ahref="console/fn.print.html">console::print</a></li><li><ahref="lang_items/fn.panic.html">lang_items::panic</a></li><li><ahref="loader/fn.get_base_i.html">loader::get_base_i</a></li><li><ahref="loader/fn.get_num_app.html">loader::get_num_app</a></li><li><ahref="loader/fn.init_app_cx.html">loader::init_app_cx</a></li><li><ahref="loader/fn.load_apps.html">loader::load_apps</a></li><li><ahref="fn.rust_main.html">rust_main</a></li><li><ahref="sbi/fn.console_putchar.html">sbi::console_putchar</a></li><li><ahref="sbi/fn.sbi_call.html">sbi::sbi_call</a></li><li><ahref="sbi/fn.set_timer.html">sbi::set_timer</a></li><li><ahref="sbi/fn.shutdown.html">sbi::shutdown</a></li><li><ahref="syscall/fs/fn.sys_write.html">syscall::fs::sys_write</a></li><li><ahref="syscall/process/fn.sys_exit.html">syscall::process::sys_exit</a></li><li><ahref="syscall/process/fn.sys_get_time.html">syscall::process::sys_get_time</a></li><li><ahref="syscall/process/fn.sys_yield.html">syscall::process::sys_yield</a></li><li><ahref="syscall/fn.syscall.html">syscall::syscall</a></li><li><ahref="task/fn.exit_current_and_run_next.html">task::exit_current_and_run_next</a></li><li><ahref="task/fn.mark_current_exited.html">task::mark_current_exited</a></li><li><ahref="task/fn.mark_current_suspended.html">task::mark_current_suspended</a></li><li><ahref="task/fn.run_first_task.html">task::run_first_task</a></li><li><ahref="task/fn.run_next_task.html">task::run_next_task</a></li><li><ahref="task/fn.suspend_current_and_run_next.html">task::suspend_current_and_run_next</a></li><li><ahref="task/switch/fn.__switch.html">task::switch::__switch</a></li><li><ahref="timer/fn.get_time.html">timer::get_time</a></li><li><ahref="timer/fn.get_time_ms.html">timer::get_time_ms</a></li><li><ahref="timer/fn.set_next_trigger.html">timer::set_next_trigger</a></li><li><ahref="trap/fn.enable_timer_interrupt.html">trap::enable_timer_interrupt</a></li><li><ahref="trap/fn.init.html">trap::init</a></li><li><ahref="trap/fn.trap_handler.html">trap::trap_handler</a></li></ul><h3id="Statics">Statics</h3><ulclass="statics docblock"><li><ahref="loader/static.KERNEL_STACK.html">loader::KERNEL_STACK</a></li><li><ahref="loader/static.USER_STACK.html">loader::USER_STACK</a></li></ul><h3id="Constants">Constants</h3><ulclass="constants docblock"><li><ahref="board/constant.CLOCK_FREQ.html">board::CLOCK_FREQ</a></li><li><ahref="config/constant.APP_BASE_ADDRESS.html">config::APP_BASE_ADDRESS</a></li><li><ahref="config/constant.APP_SIZE_LIMIT.html">config::APP_SIZE_LIMIT</a></li><li><ahref="config/constant.KERNEL_STACK_SIZE.html">config::KERNEL_STACK_SIZE</a></li><li><ahref="config/constant.MAX_APP_NUM.html">config::MAX_APP_NUM</a></li><li><ahref="config/constant.USER_STACK_SIZE.html">config::USER_STACK_SIZE</a></li><li><ahref="sbi/constant.SBI_CONSOLE_PUTCHAR.html">sbi::SBI_CONSOLE_PUTCHAR</a></li><li><ahref="sbi/constant.SBI_SET_TIMER.html">sbi::SBI_SET_TIMER</a></li><li><ahref="sbi/constant.SBI_SHUTDOWN.html">sbi::SBI_SHUTDOWN</a></li><li><ahref="syscall/constant.SYSCALL_EXIT.html">syscall::SYSCALL_EXIT</a></li><li><ahref="syscall/constant.SYSCALL_GET_TIME.html">syscall::SYSCALL_GET_TIME</a></li><li><ahref="syscall/constant.SYSCALL_WRITE.html">syscall::SYSCALL_WRITE</a></li><li><ahref="syscall/constant.SYSCALL_YIELD.html">syscall::SYSCALL_YIELD</a></li><li><ahref="syscall/fs/constant.FD_STDOUT.html">syscall::fs::FD_STDOUT</a></li><li><ahref="timer/constant.MSEC_PER_SEC.html">timer::MSEC_PER_SEC</a></li><li><ahref="timer/constant.TICKS_PER_SEC.html">timer::TICKS_PER_SEC</a></li></ul></section><sectionid="search"class="content hidden"></section></div></main><divid="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><h2class="location">Crate os</h2></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../os/index.html"><imgclass="rust-logo"src="../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><h1class="fqn"><spanclass="in-band">List of all items</span></h1><h3id="Structs">Structs</h3><ulclass="structs docblock"><li><ahref="board/struct.RISCV64.html">board::RISCV64</a></li><li><ahref="console/struct.Stdout.html">console::Stdout</a></li><li><ahref="loader/struct.KernelStack.html">loader::KernelStack</a></li><li><ahref="loader/struct.UserStack.html">loader::UserStack</a></li><li><ahref="sync/up/struct.UPSafeCell.html">sync::up::UPSafeCell</a></li><li><ahref="task/struct.TASK_MANAGER.html">task::TASK_MANAGER</a></li><li><ahref="task/struct.TaskContext.html">task::TaskContext</a></li><li><ahref="task/struct.TaskManager.html">task::TaskManager</a></li><li><ahref="task/struct.TaskManagerInner.html">task::TaskManagerInner</a></li><li><ahref="task/context/struct.TaskContext.html">task::context::TaskContext</a></li><li><ahref="task/task/struct.TaskControlBlock.html">task::task::TaskControlBlock</a></li><li><ahref="trap/struct.TrapContext.html">trap::TrapContext</a></li><li><ahref="trap/context/struct.TrapContext.html">trap::context::TrapContext</a></li></ul><h3id="Enums">Enums</h3><ulclass="enums docblock"><li><ahref="task/task/enum.TaskStatus.html">task::task::TaskStatus</a></li></ul><h3id="Traits">Traits</h3><ulclass="traits docblock"><li><ahref="board/trait.QEMUExit.html">board::QEMUExit</a></li></ul><h3id="Macros">Macros</h3><ulclass="macros docblock"><li><ahref="macro.print.html">print</a></li><li><ahref="macro.println.html">println</a></li></ul><h3id="Functions">Functions</h3><ulclass="functions docblock"><li><ahref="board/fn.exit_code_encode.html">board::exit_code_encode</a></li><li><ahref="fn.clear_bss.html">clear_bss</a></li><li><ahref="console/fn.print.html">console::print</a></li><li><ahref="lang_items/fn.panic.html">lang_items::panic</a></li><li><ahref="loader/fn.get_base_i.html">loader::get_base_i</a></li><li><ahref="loader/fn.get_num_app.html">loader::get_num_app</a></li><li><ahref="loader/fn.init_app_cx.html">loader::init_app_cx</a></li><li><ahref="loader/fn.load_apps.html">loader::load_apps</a></li><li><ahref="fn.rust_main.html">rust_main</a></li><li><ahref="sbi/fn.console_putchar.html">sbi::console_putchar</a></li><li><ahref="sbi/fn.sbi_call.html">sbi::sbi_call</a></li><li><ahref="sbi/fn.set_timer.html">sbi::set_timer</a></li><li><ahref="sbi/fn.shutdown.html">sbi::shutdown</a></li><li><ahref="syscall/fs/fn.sys_write.html">syscall::fs::sys_write</a></li><li><ahref="syscall/process/fn.sys_exit.html">syscall::process::sys_exit</a></li><li><ahref="syscall/process/fn.sys_get_time.html">syscall::process::sys_get_time</a></li><li><ahref="syscall/process/fn.sys_yield.html">syscall::process::sys_yield</a></li><li><ahref="syscall/fn.syscall.html">syscall::syscall</a></li><li><ahref="task/fn.exit_current_and_run_next.html">task::exit_current_and_run_next</a></li><li><ahref="task/fn.mark_current_exited.html">task::mark_current_exited</a></li><li><ahref="task/fn.mark_current_suspended.html">task::mark_current_suspended</a></li><li><ahref="task/fn.run_first_task.html">task::run_first_task</a></li><li><ahref="task/fn.run_next_task.html">task::run_next_task</a></li><li><ahref="task/fn.suspend_current_and_run_next.html">task::suspend_current_and_run_next</a></li><li><ahref="task/switch/fn.__switch.html">task::switch::__switch</a></li><li><ahref="timer/fn.get_time.html">timer::get_time</a></li><li><ahref="timer/fn.get_time_ms.html">timer::get_time_ms</a></li><li><ahref="timer/fn.set_next_trigger.html">timer::set_next_trigger</a></li><li><ahref="trap/fn.enable_timer_interrupt.html">trap::enable_timer_interrupt</a></li><li><ahref="trap/fn.init.html">trap::init</a></li><li><ahref="trap/fn.trap_handler.html">trap::trap_handler</a></li></ul><h3id="Statics">Statics</h3><ulclass="statics docblock"><li><ahref="loader/static.KERNEL_STACK.html">loader::KERNEL_STACK</a></li><li><ahref="loader/static.USER_STACK.html">loader::USER_STACK</a></li></ul><h3id="Constants">Constants</h3><ulclass="constants docblock"><li><ahref="board/constant.CLOCK_FREQ.html">board::CLOCK_FREQ</a></li><li><ahref="board/constant.EXIT_FAILURE.html">board::EXIT_FAILURE</a></li><li><ahref="board/constant.EXIT_FAILURE_FLAG.html">board::EXIT_FAILURE_FLAG</a></li><li><ahref="board/constant.EXIT_RESET.html">board::EXIT_RESET</a></li><li><ahref="board/constant.EXIT_SUCCESS.html">board::EXIT_SUCCESS</a></li><li><ahref="board/constant.QEMU_EXIT_HANDLE.html">board::QEMU_EXIT_HANDLE</a></li><li><ahref="board/constant.VIRT_TEST.html">board::VIRT_TEST</a></li><li><ahref="config/constant.APP_BASE_ADDRESS.html">config::APP_BASE_ADDRESS</a></li><li><ahref="config/constant.APP_SIZE_LIMIT.html">config::APP_SIZE_LIMIT</a></li><li><ahref="config/constant.KERNEL_STACK_SIZE.html">config::KERNEL_STACK_SIZE</a></li><li><ahref="config/constant.MAX_APP_NUM.html">config::MAX_APP_NUM</a></li><li><ahref="config/constant.USER_STACK_SIZE.html">config::USER_STACK_SIZE</a></li><li><ahref="sbi/constant.SBI_CONSOLE_PUTCHAR.html">sbi::SBI_CONSOLE_PUTCHAR</a></li><li><ahref="sbi/constant.SBI_SET_TIMER.html">sbi::SBI_SET_TIMER</a></li><li><ahref="syscall/constant.SYSCALL_EXIT.html">syscall::SYSCALL_EXIT</a></li><li><ahref="syscall/constant.SYSCALL_GET_TIME.html">syscall::SYSCALL_GET_TIME</a></li><li><ahref="syscall/constant.SYSCALL_WRITE.html">syscall::SYSCALL_WRITE</a></li><li><ahref="syscall/constant.SYSCALL_YIELD.html">syscall::SYSCALL_YIELD</a></li><li><ahref="syscall/fs/constant.FD_STDOUT.html">syscall::fs::FD_STDOUT</a></li><li><ahref="timer/constant.MSEC_PER_SEC.html">timer::MSEC_PER_SEC</a></li><li><ahref="timer/constant.TICKS_PER_SEC.html">timer::TICKS_PER_SEC</a></li></ul></section><sectionid="search"class="content hidden"></section></div></main><divid="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>
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `EXIT_FAILURE` constant in crate `os`."><metaname="keywords"content="rust, rustlang, rust-lang, EXIT_FAILURE"><title>EXIT_FAILURE in os::board - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../os/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::board</a></h2><divid="sidebar-vars"data-name="EXIT_FAILURE"data-ty="constant"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `EXIT_FAILURE_FLAG` constant in crate `os`."><metaname="keywords"content="rust, rustlang, rust-lang, EXIT_FAILURE_FLAG"><title>EXIT_FAILURE_FLAG in os::board - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../os/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::board</a></h2><divid="sidebar-vars"data-name="EXIT_FAILURE_FLAG"data-ty="constant"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `SBI_SHUTDOWN` constant in crate `os`."><metaname="keywords"content="rust, rustlang, rust-lang, SBI_SHUTDOWN"><title>SBI_SHUTDOWN in os::sbi - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `EXIT_RESET` constant in crate `os`."><metaname="keywords"content="rust, rustlang, rust-lang, EXIT_RESET"><title>EXIT_RESET in os::board - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../os/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::sbi</a></h2><divid="sidebar-vars"data-name="SBI_SHUTDOWN"data-ty="constant"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::board</a></h2><divid="sidebar-vars"data-name="EXIT_RESET"data-ty="constant"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `EXIT_SUCCESS` constant in crate `os`."><metaname="keywords"content="rust, rustlang, rust-lang, EXIT_SUCCESS"><title>EXIT_SUCCESS in os::board - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../os/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::board</a></h2><divid="sidebar-vars"data-name="EXIT_SUCCESS"data-ty="constant"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `QEMU_EXIT_HANDLE` constant in crate `os`."><metaname="keywords"content="rust, rustlang, rust-lang, QEMU_EXIT_HANDLE"><title>QEMU_EXIT_HANDLE in os::board - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../os/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::board</a></h2><divid="sidebar-vars"data-name="QEMU_EXIT_HANDLE"data-ty="constant"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `VIRT_TEST` constant in crate `os`."><metaname="keywords"content="rust, rustlang, rust-lang, VIRT_TEST"><title>VIRT_TEST in os::board - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc constant"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../os/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::board</a></h2><divid="sidebar-vars"data-name="VIRT_TEST"data-ty="constant"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="Encode the exit code using EXIT_FAILURE_FLAG."><metaname="keywords"content="rust, rustlang, rust-lang, exit_code_encode"><title>exit_code_encode in os::board - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../os/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::board</a></h2><divid="sidebar-vars"data-name="exit_code_encode"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">board</a>::<wbr><aclass="fn"href="#">exit_code_encode</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/boards/qemu.rs.html#36-38">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>const fn exit_code_encode(code: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.u32.html">u32</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.u32.html">u32</a></code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>Encode the exit code using EXIT_FAILURE_FLAG.</p>
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="Constants used in rCore for K210 devel board"><metaname="keywords"content="rust, rustlang, rust-lang, board"><title>os::board - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="Constants used in rCore for qemu"><metaname="keywords"content="rust, rustlang, rust-lang, board"><title>os::board - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc mod"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../os/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><h2class="location"><ahref="#">Module board</a></h2><divclass="sidebar-elems"><section><divclass="block"><ul><li><ahref="#constants">Constants</a></li></ul></div></section><divid="sidebar-vars"data-name="board"data-ty="mod"data-relpath="./"></div><script defersrc="./sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Module <ahref="../index.html">os</a>::<wbr><aclass="mod"href="#">board</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/boards/qemu.rs.html#1-3">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>Constants used in rCore for K210 devel board</p>
</a><h2class="location"><ahref="#">Module board</a></h2><divclass="sidebar-elems"><section><divclass="block"><ul><li><ahref="#structs">Structs</a></li><li><ahref="#constants">Constants</a></li><li><ahref="#traits">Traits</a></li><li><ahref="#functions">Functions</a></li></ul></div></section><divid="sidebar-vars"data-name="board"data-ty="mod"data-relpath="./"></div><script defersrc="./sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Module <ahref="../index.html">os</a>::<wbr><aclass="mod"href="#">board</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/boards/qemu.rs.html#1-83">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>Constants used in rCore for qemu</p>
<divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.exit_code_encode.html"title="os::board::exit_code_encode fn">exit_code_encode</a><spantitle="Restricted Visibility"> 🔒</span></div><divclass="item-right docblock-short"><p>Encode the exit code using EXIT_FAILURE_FLAG.</p>
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",""]]});
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="API documentation for the Rust `QEMUExit` trait in crate `os`."><metaname="keywords"content="rust, rustlang, rust-lang, QEMUExit"><title>QEMUExit in os::board - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../os/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><h2class="location"><ahref="#">QEMUExit</a></h2><divclass="sidebar-elems"><section><divclass="block"><h3class="sidebar-title"><ahref="#required-methods">Required Methods</a></h3><ul><li><ahref="#tymethod.exit">exit</a></li><li><ahref="#tymethod.exit_failure">exit_failure</a></li><li><ahref="#tymethod.exit_success">exit_success</a></li></ul></div><divclass="block"><h3class="sidebar-title"><ahref="#implementors">Implementors</a></h3></div></section><h2class="location"><ahref="index.html">In os::board</a></h2><divid="sidebar-vars"data-name="QEMUExit"data-ty="trait"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Trait <ahref="../index.html">os</a>::<wbr><ahref="index.html">board</a>::<wbr><aclass="trait"href="#">QEMUExit</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/boards/qemu.rs.html#14-27">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust trait"><code>pub trait QEMUExit {
<p>We then call <ahref="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
<divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="mod"href="board/index.html"title="os::board mod">board</a><spantitle="Restricted Visibility"> 🔒</span></div><divclass="item-right docblock-short"><p>Constants used in rCore for K210 devel board</p>
<divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="mod"href="board/index.html"title="os::board mod">board</a><spantitle="Restricted Visibility"> 🔒</span></div><divclass="item-right docblock-short"><p>Constants used in rCore for qemu</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="mod"href="config/index.html"title="os::config mod">config</a><spantitle="Restricted Visibility"> 🔒</span></div><divclass="item-right docblock-short"><p>Constants used in rCore</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="mod"href="console/index.html"title="os::console mod">console</a><spantitle="Restricted Visibility"> 🔒</span></div><divclass="item-right docblock-short"><p>SBI console driver, for text output</p>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::sbi</a></h2><divid="sidebar-vars"data-name="console_putchar"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">sbi</a>::<wbr><aclass="fn"href="#">console_putchar</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/sbi.rs.html#38-40">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn console_putchar(c: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>use sbi call to putchar in console (qemu uart handler)</p>
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">sbi</a>::<wbr><aclass="fn"href="#">console_putchar</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/sbi.rs.html#40-42">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn console_putchar(c: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>use sbi call to putchar in console (qemu uart handler)</p>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::sbi</a></h2><divid="sidebar-vars"data-name="sbi_call"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">sbi</a>::<wbr><aclass="fn"href="#">sbi_call</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/sbi.rs.html#17-30">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>fn sbi_call(which: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg0: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg1: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg2: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>handle SBI call with <code>which</code> SBI_id and other arguments</p>
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">sbi</a>::<wbr><aclass="fn"href="#">sbi_call</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/sbi.rs.html#19-32">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>fn sbi_call(which: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg0: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg1: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>, arg2: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>handle SBI call with <code>which</code> SBI_id and other arguments</p>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::sbi</a></h2><divid="sidebar-vars"data-name="set_timer"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">sbi</a>::<wbr><aclass="fn"href="#">set_timer</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/sbi.rs.html#33-35">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn set_timer(timer: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>use sbi call to set timer</p>
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">sbi</a>::<wbr><aclass="fn"href="#">set_timer</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/sbi.rs.html#35-37">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn set_timer(timer: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>)</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>use sbi call to set timer</p>
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="use sbi call to getchar from console (qemu uart handler) use sbi call to shutdown the kernel"><metaname="keywords"content="rust, rustlang, rust-lang, shutdown"><title>shutdown in os::sbi - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<!DOCTYPE html><htmllang="en"><head><metacharset="utf-8"><metaname="viewport"content="width=device-width, initial-scale=1.0"><metaname="generator"content="rustdoc"><metaname="description"content="use sbi call to shutdown the kernel"><metaname="keywords"content="rust, rustlang, rust-lang, shutdown"><title>shutdown in os::sbi - Rust</title><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Regular.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../FiraSans-Medium.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Regular.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceSerif4-Bold.ttf.woff2"><linkrel="preload"as="font"type="font/woff2"crossoriginhref="../../SourceCodePro-Semibold.ttf.woff2"><linkrel="stylesheet"type="text/css"href="../../normalize.css"><linkrel="stylesheet"type="text/css"href="../../rustdoc.css"id="mainThemeStyle"><linkrel="stylesheet"type="text/css"href="../../ayu.css"disabled><linkrel="stylesheet"type="text/css"href="../../dark.css"disabled><linkrel="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 defersrc="../../main.js"></script>
<noscript><linkrel="stylesheet"href="../../noscript.css"></noscript><linkrel="alternate icon"type="image/png"href="../../favicon-16x16.png"><linkrel="alternate icon"type="image/png"href="../../favicon-32x32.png"><linkrel="icon"type="image/svg+xml"href="../../favicon.svg"></head><bodyclass="rustdoc fn"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><navclass="mobile-topbar"><buttonclass="sidebar-menu-toggle">☰</button><aclass="sidebar-logo"href="../../os/index.html"><divclass="logo-container"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></div>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::sbi</a></h2><divid="sidebar-vars"data-name="shutdown"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">sbi</a>::<wbr><aclass="fn"href="#">shutdown</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/sbi.rs.html#48-51">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn shutdown() -><aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>use sbi call to getchar from console (qemu uart handler)
use sbi call to shutdown the kernel</p>
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">sbi</a>::<wbr><aclass="fn"href="#">shutdown</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/sbi.rs.html#52-61">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn shutdown() -><aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>use sbi call to shutdown the kernel</p>
</a><h2class="location"><ahref="#">Module sbi</a></h2><divclass="sidebar-elems"><section><divclass="block"><ul><li><ahref="#constants">Constants</a></li><li><ahref="#functions">Functions</a></li></ul></div></section><divid="sidebar-vars"data-name="sbi"data-ty="mod"data-relpath="./"></div><script defersrc="./sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Module <ahref="../index.html">os</a>::<wbr><aclass="mod"href="#">sbi</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/sbi.rs.html#1-51">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>SBI call wrappers</p>
<h1class="fqn"><spanclass="in-band">Module <ahref="../index.html">os</a>::<wbr><aclass="mod"href="#">sbi</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/sbi.rs.html#1-61">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>SBI call wrappers</p>
<divclass="item-table"><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.console_putchar.html"title="os::sbi::console_putchar fn">console_putchar</a></div><divclass="item-right docblock-short"><p>use sbi call to putchar in console (qemu uart handler)</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.sbi_call.html"title="os::sbi::sbi_call fn">sbi_call</a><spantitle="Restricted Visibility"> 🔒</span></div><divclass="item-right docblock-short"><p>handle SBI call with <code>which</code> SBI_id and other arguments</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.set_timer.html"title="os::sbi::set_timer fn">set_timer</a></div><divclass="item-right docblock-short"><p>use sbi call to set timer</p>
</div></div><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.shutdown.html"title="os::sbi::shutdown fn">shutdown</a></div><divclass="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><divclass="item-row"><divclass="item-left module-item"><aclass="fn"href="fn.shutdown.html"title="os::sbi::shutdown fn">shutdown</a></div><divclass="item-right docblock-short"><p>use sbi call to shutdown the kernel</p>
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"]]});
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"]]});
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::task</a></h2><divid="sidebar-vars"data-name="exit_current_and_run_next"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">exit_current_and_run_next</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#168-171">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn exit_current_and_run_next()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>exit current task, then run next task</p>
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">exit_current_and_run_next</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#176-179">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn exit_current_and_run_next()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>exit current task, then run next task</p>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::task</a></h2><divid="sidebar-vars"data-name="mark_current_exited"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">mark_current_exited</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#157-159">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>fn mark_current_exited()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>exit current task</p>
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">mark_current_exited</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#165-167">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>fn mark_current_exited()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>exit current task</p>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::task</a></h2><divid="sidebar-vars"data-name="mark_current_suspended"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">mark_current_suspended</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#152-154">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>fn mark_current_suspended()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>suspend current task</p>
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">mark_current_suspended</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#160-162">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>fn mark_current_suspended()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>suspend current task</p>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::task</a></h2><divid="sidebar-vars"data-name="run_first_task"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">run_first_task</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#142-144">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn run_first_task()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>run first task</p>
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">run_first_task</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#150-152">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn run_first_task()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>run first task</p>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::task</a></h2><divid="sidebar-vars"data-name="run_next_task"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">run_next_task</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#147-149">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>fn run_next_task()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>rust next task</p>
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">run_next_task</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#155-157">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>fn run_next_task()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>rust next task</p>
</a><divclass="sidebar-elems"><h2class="location"><ahref="index.html">In os::task</a></h2><divid="sidebar-vars"data-name="suspend_current_and_run_next"data-ty="fn"data-relpath=""></div><script defersrc="sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">suspend_current_and_run_next</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#162-165">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn suspend_current_and_run_next()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>suspend current task, then run next task</p>
<h1class="fqn"><spanclass="in-band">Function <ahref="../index.html">os</a>::<wbr><ahref="index.html">task</a>::<wbr><aclass="fn"href="#">suspend_current_and_run_next</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#170-173">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><divclass="docblock item-decl"><preclass="rust fn"><code>pub fn suspend_current_and_run_next()</code></pre></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>suspend current task, then run next task</p>
</a><h2class="location"><ahref="#">Module task</a></h2><divclass="sidebar-elems"><section><divclass="block"><ul><li><ahref="#modules">Modules</a></li><li><ahref="#structs">Structs</a></li><li><ahref="#functions">Functions</a></li></ul></div></section><divid="sidebar-vars"data-name="task"data-ty="mod"data-relpath="./"></div><script defersrc="./sidebar-items.js"></script></div></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../os/index.html"><imgclass="rust-logo"src="../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="main-heading">
<h1class="fqn"><spanclass="in-band">Module <ahref="../index.html">os</a>::<wbr><aclass="mod"href="#">task</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#1-171">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="docblock"><p>Task management implementation</p>
<h1class="fqn"><spanclass="in-band">Module <ahref="../index.html">os</a>::<wbr><aclass="mod"href="#">task</a><buttonid="copy-path"onclick="copy_path(this)"title="Copy item path to clipboard"><imgsrc="../../clipboard.svg"width="19"height="18"alt="Copy item path"></button></span></h1><spanclass="out-of-band"><aclass="srclink"href="../../src/os/task/mod.rs.html#1-179">source</a> · <aid="toggle-all-docs"href="javascript:void(0)"title="collapse all docs">[<spanclass="inner">−</span>]</a></span></div><detailsclass="rustdoc-toggle top-doc"open><summaryclass="hideme"><span>Expand description</span></summary><divclass="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 <ahref="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><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.mark_current_exited"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#102-106">source</a></span><ahref="#method.mark_current_exited"class="anchor"></a><h4class="code-header">fn <ahref="#method.mark_current_exited"class="fnname">mark_current_exited</a>(&self)</h4></section></summary><divclass="docblock"><p>Change the status of current <code>Running</code> task into <code>Exited</code>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.find_next_task"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#111-117">source</a></span><ahref="#method.find_next_task"class="anchor"></a><h4class="code-header">fn <ahref="#method.find_next_task"class="fnname">find_next_task</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>></h4></section></summary><divclass="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><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.run_next_task"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#121-138">source</a></span><ahref="#method.run_next_task"class="anchor"></a><h4class="code-header">fn <ahref="#method.run_next_task"class="fnname">run_next_task</a>(&self)</h4></section></summary><divclass="docblock"><p>Switch current <code>Running</code> task to the task we have found,
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.run_next_task"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#121-146">source</a></span><ahref="#method.run_next_task"class="anchor"></a><h4class="code-header">fn <ahref="#method.run_next_task"class="fnname">run_next_task</a>(&self)</h4></section></summary><divclass="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><h2id="trait-implementations"class="small-section-header">Trait Implementations<ahref="#trait-implementations"class="anchor"></a></h2><divid="trait-implementations-list"><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl-Deref"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#51-73">source</a></span><ahref="#impl-Deref"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html"title="trait core::ops::deref::Deref">Deref</a> for <aclass="struct"href="struct.TASK_MANAGER.html"title="struct os::task::TASK_MANAGER">TASK_MANAGER</a></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle"open><summary><sectionid="associatedtype.Target"class="type trait-impl has-srclink"><ahref="#associatedtype.Target"class="anchor"></a><h4class="code-header">type <ahref="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#associatedtype.Target"class="associatedtype">Target</a> = <aclass="struct"href="struct.TaskManager.html"title="struct os::task::TaskManager">TaskManager</a></h4></section></summary><divclass='docblock'><p>The resulting type after dereferencing.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.deref"class="method trait-impl has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#51-73">source</a></span><ahref="#method.deref"class="anchor"></a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/nightly/core/ops/deref/trait.Deref.html#tymethod.deref"class="fnname">deref</a>(&self) ->&<aclass="struct"href="struct.TaskManager.html"title="struct os::task::TaskManager">TaskManager</a></h4></section></summary><divclass='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><h2id="fields"class="fields small-section-header">Fields<ahref="#fields"class="anchor"></a></h2><spanid="structfield.num_app"class="structfield small-section-header"><ahref="#structfield.num_app"class="anchor field"></a><code>num_app: <aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a></code></span><divclass="docblock"><p>total number of tasks</p>
</div><spanid="structfield.inner"class="structfield small-section-header"><ahref="#structfield.inner"class="anchor field"></a><code>inner: <aclass="struct"href="../sync/up/struct.UPSafeCell.html"title="struct os::sync::up::UPSafeCell">UPSafeCell</a><<aclass="struct"href="struct.TaskManagerInner.html"title="struct os::task::TaskManagerInner">TaskManagerInner</a>></code></span><divclass="docblock"><p>use inner value to get mutable access</p>
</div><h2id="implementations"class="small-section-header">Implementations<ahref="#implementations"class="anchor"></a></h2><divid="implementations-list"><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#75-139">source</a></span><ahref="#impl"class="anchor"></a><h3class="code-header in-band">impl <aclass="struct"href="struct.TaskManager.html"title="struct os::task::TaskManager">TaskManager</a></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.run_first_task"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#80-92">source</a></span><ahref="#method.run_first_task"class="anchor"></a><h4class="code-header">fn <ahref="#method.run_first_task"class="fnname">run_first_task</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></h4></section></summary><divclass="docblock"><p>Run the first task in task list.</p>
</div><h2id="implementations"class="small-section-header">Implementations<ahref="#implementations"class="anchor"></a></h2><divid="implementations-list"><detailsclass="rustdoc-toggle implementors-toggle"open><summary><sectionid="impl"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#75-147">source</a></span><ahref="#impl"class="anchor"></a><h3class="code-header in-band">impl <aclass="struct"href="struct.TaskManager.html"title="struct os::task::TaskManager">TaskManager</a></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.run_first_task"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#80-92">source</a></span><ahref="#method.run_first_task"class="anchor"></a><h4class="code-header">fn <ahref="#method.run_first_task"class="fnname">run_first_task</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.never.html">!</a></h4></section></summary><divclass="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><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.mark_current_suspended"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#95-99">source</a></span><ahref="#method.mark_current_suspended"class="anchor"></a><h4class="code-header">fn <ahref="#method.mark_current_suspended"class="fnname">mark_current_suspended</a>(&self)</h4></section></summary><divclass="docblock"><p>Change the status of current <code>Running</code> task into <code>Ready</code>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.mark_current_exited"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#102-106">source</a></span><ahref="#method.mark_current_exited"class="anchor"></a><h4class="code-header">fn <ahref="#method.mark_current_exited"class="fnname">mark_current_exited</a>(&self)</h4></section></summary><divclass="docblock"><p>Change the status of current <code>Running</code> task into <code>Exited</code>.</p>
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.find_next_task"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#111-117">source</a></span><ahref="#method.find_next_task"class="anchor"></a><h4class="code-header">fn <ahref="#method.find_next_task"class="fnname">find_next_task</a>(&self) -><aclass="enum"href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html"title="enum core::option::Option">Option</a><<aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.usize.html">usize</a>></h4></section></summary><divclass="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><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.run_next_task"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#121-138">source</a></span><ahref="#method.run_next_task"class="anchor"></a><h4class="code-header">fn <ahref="#method.run_next_task"class="fnname">run_next_task</a>(&self)</h4></section></summary><divclass="docblock"><p>Switch current <code>Running</code> task to the task we have found,
</div></details><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.run_next_task"class="method has-srclink"><spanclass="rightside"><aclass="srclink"href="../../src/os/task/mod.rs.html#121-146">source</a></span><ahref="#method.run_next_task"class="anchor"></a><h4class="code-header">fn <ahref="#method.run_next_task"class="fnname">run_next_task</a>(&self)</h4></section></summary><divclass="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><h2id="synthetic-implementations"class="small-section-header">Auto Trait Implementations<ahref="#synthetic-implementations"class="anchor"></a></h2><divid="synthetic-implementations-list"><sectionid="impl-RefUnwindSafe"class="impl has-srclink"><ahref="#impl-RefUnwindSafe"class="anchor"></a><h3class="code-header in-band">impl !<aclass="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 <aclass="struct"href="struct.TaskManager.html"title="struct os::task::TaskManager">TaskManager</a></h3></section><sectionid="impl-Send"class="impl has-srclink"><ahref="#impl-Send"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html"title="trait core::marker::Send">Send</a> for <aclass="struct"href="struct.TaskManager.html"title="struct os::task::TaskManager">TaskManager</a></h3></section><sectionid="impl-Sync"class="impl has-srclink"><ahref="#impl-Sync"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html"title="trait core::marker::Sync">Sync</a> for <aclass="struct"href="struct.TaskManager.html"title="struct os::task::TaskManager">TaskManager</a></h3></section><sectionid="impl-Unpin"class="impl has-srclink"><ahref="#impl-Unpin"class="anchor"></a><h3class="code-header in-band">impl <aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html"title="trait core::marker::Unpin">Unpin</a> for <aclass="struct"href="struct.TaskManager.html"title="struct os::task::TaskManager">TaskManager</a></h3></section><sectionid="impl-UnwindSafe"class="impl has-srclink"><ahref="#impl-UnwindSafe"class="anchor"></a><h3class="code-header in-band">impl <aclass="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 <aclass="struct"href="struct.TaskManager.html"title="struct os::task::TaskManager">TaskManager</a></h3></section></div><h2id="blanket-implementations"class="small-section-header">Blanket Implementations<ahref="#blanket-implementations"class="anchor"></a></h2><divid="blanket-implementations-list"><detailsclass="rustdoc-toggle implementors-toggle"><summary><sectionid="impl-Any"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#132-136">source</a></span><ahref="#impl-Any"class="anchor"></a><h3class="code-header in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html"title="trait core::any::Any">Any</a> for T <spanclass="where fmt-newline">where<br> T: 'static + ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.type_id"class="method trait-impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/any.rs.html#133">source</a></span><ahref="#method.type_id"class="anchor"></a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id"class="fnname">type_id</a>(&self) -><aclass="struct"href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html"title="struct core::any::TypeId">TypeId</a></h4></section></summary><divclass='docblock'><p>Gets the <code>TypeId</code> of <code>self</code>. <ahref="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></details></div></details><detailsclass="rustdoc-toggle implementors-toggle"><summary><sectionid="impl-Borrow%3CT%3E"class="impl has-srclink"><spanclass="rightside"><aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#209-214">source</a></span><ahref="#impl-Borrow%3CT%3E"class="anchor"></a><h3class="code-header in-band">impl<T><aclass="trait"href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html"title="trait core::borrow::Borrow">Borrow</a><T> for T <spanclass="where fmt-newline">where<br> T: ?<aclass="trait"href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html"title="trait core::marker::Sized">Sized</a>, </span></h3></section></summary><divclass="impl-items"><detailsclass="rustdoc-toggle method-toggle"open><summary><sectionid="method.borrow"class="method trait-impl has-srclink"><spanclass="rightside"><spanclass="since"title="const unstable">const: <ahref="https://github.com/rust-lang/rust/issues/91522"title="Tracking issue for const_borrow">unstable</a></span> · <aclass="srclink"href="https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#211">source</a></span><ahref="#method.borrow"class="anchor"></a><h4class="code-header">fn <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow"class="fnname">borrow</a>(&self) -><aclass="primitive"href="https://doc.rust-lang.org/nightly/core/primitive.reference.html">&</a>T</h4></section></summary><divclass='docblock'><p>Immutably borrows from an owned value. <ahref="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</a></nav><main><divclass="width-limiter"><divclass="sub-container"><aclass="sub-logo-container"href="../../../os/index.html"><imgclass="rust-logo"src="../../../rust-logo.svg"alt="logo"></a><navclass="sub"><divclass="theme-picker hidden"><buttonid="theme-picker"aria-label="Pick another theme!"aria-haspopup="menu"title="themes"><imgwidth="22"height="22"alt="Pick another theme!"src="../../../brush.svg"></button><divid="theme-choices"role="menu"></div></div><formclass="search-form"><divclass="search-container"><span></span><inputclass="search-input"name="search"autocomplete="off"spellcheck="false"placeholder="Click or press ‘S’ to search, ‘?’ for more options…"type="search"><buttontype="button"id="help-button"title="help">?</button><aid="settings-menu"href="../../../settings.html"title="settings"><imgwidth="22"height="22"alt="Change settings"src="../../../wheel.svg"></a></div></form></nav></div><sectionid="main-content"class="content"><divclass="example-wrap"><preclass="line-numbers"><spanid="1">1</span>
<spanid="2">2</span>
<spanid="3">3</span>
</pre><preclass="rust"><code><spanclass="doccomment">//! Constants used in rCore for K210 devel board</span>
<spanid="4">4</span>
<spanid="5">5</span>
<spanid="6">6</span>
<spanid="7">7</span>
<spanid="8">8</span>
<spanid="9">9</span>
<spanid="10">10</span>
<spanid="11">11</span>
<spanid="12">12</span>
<spanid="13">13</span>
<spanid="14">14</span>
<spanid="15">15</span>
<spanid="16">16</span>
<spanid="17">17</span>
<spanid="18">18</span>
<spanid="19">19</span>
<spanid="20">20</span>
<spanid="21">21</span>
<spanid="22">22</span>
<spanid="23">23</span>
<spanid="24">24</span>
<spanid="25">25</span>
<spanid="26">26</span>
<spanid="27">27</span>
<spanid="28">28</span>
<spanid="29">29</span>
<spanid="30">30</span>
<spanid="31">31</span>
<spanid="32">32</span>
<spanid="33">33</span>
<spanid="34">34</span>
<spanid="35">35</span>
<spanid="36">36</span>
<spanid="37">37</span>
<spanid="38">38</span>
<spanid="39">39</span>
<spanid="40">40</span>
<spanid="41">41</span>
<spanid="42">42</span>
<spanid="43">43</span>
<spanid="44">44</span>
<spanid="45">45</span>
<spanid="46">46</span>
<spanid="47">47</span>
<spanid="48">48</span>
<spanid="49">49</span>
<spanid="50">50</span>
<spanid="51">51</span>
<spanid="52">52</span>
<spanid="53">53</span>
<spanid="54">54</span>
<spanid="55">55</span>
<spanid="56">56</span>
<spanid="57">57</span>
<spanid="58">58</span>
<spanid="59">59</span>
<spanid="60">60</span>
<spanid="61">61</span>
<spanid="62">62</span>
<spanid="63">63</span>
<spanid="64">64</span>
<spanid="65">65</span>
<spanid="66">66</span>
<spanid="67">67</span>
<spanid="68">68</span>
<spanid="69">69</span>
<spanid="70">70</span>
<spanid="71">71</span>
<spanid="72">72</span>
<spanid="73">73</span>
<spanid="74">74</span>
<spanid="75">75</span>
<spanid="76">76</span>
<spanid="77">77</span>
<spanid="78">78</span>
<spanid="79">79</span>
<spanid="80">80</span>
<spanid="81">81</span>
<spanid="82">82</span>
<spanid="83">83</span>
</pre><preclass="rust"><code><spanclass="doccomment">//! Constants used in rCore for qemu</span>