This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
<!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="List of all items in this crate"><metaname="keywords"content="rust, rustlang, rust-lang"><title>List of all items in this crate</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"><scriptid="default-settings"></script><scriptsrc="../storage.js"></script><scriptsrc="../crates.js"></script><scriptdefersrc="../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">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.APP_NAMES.html">loader::APP_NAMES</a></li><li><ahref="mm/struct.FrameTracker.html">mm::FrameTracker</a></li><li><ahref="mm/struct.KERNEL_SPACE.html">mm::KERNEL_SPACE</a></li><li><ahref="mm/struct.MapPermission.html">mm::MapPermission</a></li><li><ahref="mm/struct.MemorySet.html">mm::MemorySet</a></li><li><ahref="mm/struct.PageTableEntry.html">mm::PageTableEntry</a></li><li><ahref="mm/struct.PhysAddr.html">mm::PhysAddr</a></li><li><ahref="mm/struct.PhysPageNum.html">mm::PhysPageNum</a></li><li><ahref="mm/struct.VirtAddr.html">mm::VirtAddr</a></li><li><ahref="mm/struct.VirtPageNum.html">mm::VirtPageNum</a></li><li><ahref="mm/address/struct.PhysAddr.html">mm::address::PhysAddr</a></li><li><ahref="mm/address/struct.PhysPageNum.html">mm::address::PhysPageNum</a></li><li><ahref="mm/address/struct.SimpleRange.html">mm::address::SimpleRange</a></li><li><ahref="mm/address/struct.SimpleRangeIterator.html">mm::address::SimpleRangeIterator</a></li><li><ahref="mm/address/struct.VirtAddr.html">mm::address::VirtAddr</a></li><li><ahref="mm/address/struct.VirtPageNum.html">mm::address::VirtPageNum</a></li><li><ahref="mm/frame_allocator/struct.FRAME_ALLOCATOR.html">mm::frame_allocator::FRAME_ALLOCATOR</a></li><li><ahref="mm/frame_allocator/struct.FrameTracker.html">mm::frame_allocator::FrameTracker</a></li><li><ahref="mm/frame_allocator/struct.StackFrameAllocator.html">mm::frame_allocator::StackFrameAllocator</a></li><li><ahref="mm/memory_set/struct.KERNEL_SPACE.html">mm::memory_set::KERNEL_SPACE</a></li><li><ahref="mm/memory_set/struct.MapArea.html">mm::memory_set::MapArea</a></li><li><ahref="mm/memory_set/struct.MapPermission.html">mm::memory_set::MapPermission</a></li><li><ahref="mm/memory_set/struct.MemorySet.html">mm::memory_set::MemorySet</a></li><li><ahref="mm/page_table/struct.PTEFlags.html">mm::page_table::PTEFlags</a></li><li><ahref="mm/page_table/struct.PageTable.html">mm::page_table::PageTable</a></li><li><ahref="mm/page_table/struct.PageTableEntry.html">mm::page_table::PageTableEntry</a></li><li><ahref="sync/struct.UPSafeCell.html">sync::UPSafeCell</a></li><li><ahref="sync/up/struct.UPSafeCell.html">sync::up::UPSafeCell</a></li><li><ahref="task/struct.INITPROC.html">task::INITPROC</a></li><li><ahref="task/struct.KernelStack.html">task::KernelStack</a></li><li><ahref="task/struct.PidAllocator.html">task::PidAllocator</a></li><li><ahref="task/struct.PidHandle.html">task::PidHandle</a></li><li><ahref="task/struct.Processor.html">task::Processor</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/context/struct.TaskContext.html">task::context::TaskContext</a></li><li><ahref="task/manager/struct.TASK_MANAGER.html">task::manager::TASK_MANAGER</a></li><li><ahref="task/manager/struct.TaskManager.html">task::manager::TaskManager</a></li><li><ahref="task/pid/struct.KernelStack.html">task::pid::KernelStack</a></li><li><ahref="task/pid/struct.PID_ALLOCATOR.html">task::pid::PID_ALLOCATOR</a></li><li><ahref="task/pid/struct.PidAllocator.html">task::pid::PidAllocator</a></li><li><ahref="task/pid/struct.PidHandle.html">task::pid::PidHandle</a></li><li><ahref="task/processor/struct.PROCESSOR.html">task::processor::PROCESSOR</a></li><li><ahref="task/processor/struct.Processor.html">task::processor::Processor</a></li><li><ahref="task/task/struct.TaskControlBlock.html">task::task::TaskControlBlock</a></li><li><ahref="task/task/struct.TaskControlBlockInner.html">task::task::TaskControlBlockInner</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="mm/memory_set/enum.MapType.html">mm::memory_set::MapType</a></li><li><ahref="task/task/enum.TaskStatus.html">task::task::TaskStatus</a></li></ul><h3id="Traits">Traits</h3><ulclass="traits docblock"><li><ahref="mm/address/trait.StepByOne.html">mm::address::StepByOne</a></li><li><ahref="mm/frame_allocator/trait.FrameAllocator.html">mm::frame_allocator::FrameAllocator</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_app_data.html">loader::get_app_data</a></li><li><ahref="loader/fn.get_app_data_by_name.html">loader::get_app_data_by_name</a></li><li><ahref="loader/fn.get_num_app.html">loader::get_num_app</a></li><li><ahref="loader/fn.list_apps.html">loader::list_apps</a></li><li><ahref="mm/fn.frame_alloc.html">mm::frame_alloc</a></li><li><ahref="mm/frame_allocator/fn.frame_alloc.html">mm::frame_allocator::frame_alloc</a></li><li><ahref="mm/frame_allocator/fn.frame_allocator_test.html">mm::frame_allocator::frame_allocator_test</a></li><li><ahref="mm/frame_allocator/fn.frame_dealloc.html">mm::frame_allocator::frame_dealloc</a></li><li><ahref="mm/frame_allocator/fn.init_frame_allocator.html">mm::frame_allocator::init_frame_allocator</a></li><li><ahref="mm/heap_allocator/fn.handle_alloc_error.html">mm::heap_allocator::handle_alloc_error</a></li><li><ahref="mm/heap_allocator/fn.heap_test.html">mm::heap_allocator::heap_test</a></li><li><ahref="mm/heap_allocator/fn.init_heap.html">mm::heap_allocator::init_heap</a></li><li><ahref="mm/fn.init.html">mm::init</a></li><li><ahref="mm/memory_set/fn.ebss.html">mm::memory_set::ebss</a></li><li><ahref="mm/memory_set/fn.edata.html">mm::memory_set::edata</a></li><li><ahref="mm/memory_set/fn.ekernel.html">mm::memory_set::ekernel</a></li><li><ahref="mm/memory_set/fn.erodata.html">mm::memory_set::erodata</a></li><li><ahref="mm/memory_set/fn.etext.html">mm::memory_set::etext</a></li><li><ahref="mm/memory_set/fn.remap_test.html">mm::memory_set::remap_test</a></li><li><ahref="mm/memory_set/fn.sbss_with_stack.html">mm::memory_set::sbss_with_stack</a></li><li><ahref="mm/memory_set/fn.sdata.html">mm::memory_set::sdata</a></li><li><ahref="mm/memory_set/fn.srodata.html">mm::memory_set::srodata</a></li><li><ahref="mm/memory_set/fn.stext.html">mm::memory_set::stext</a></li><li><ahref="mm/memory_set/fn.strampoline.html">mm::memory_set::strampoline</a></li><li><ahref="mm/page_table/fn.translated_byte_buffer.html">mm::page_table::translated_byte_buffer</a></li><li><ahref="mm/page_table/fn.translated_refmut.html">mm::page_table::translated_refmut</a></li><li><ahref="mm/page_table/fn.translated_str.html">mm::page_table::translated_str</a></li><li><ahref="mm/fn.remap_test.html">mm::remap_test</a></li><li><ahref="mm/fn.translated_byte_buffer.html">mm::translated_byte_buffer</a></li><li><ahref="mm/fn.translated_refmut.html">mm::translated_refmut</a></li><li><ahref="mm/fn.translated_str.html">mm::translated_str</a></li><li><ahref="fn.rust_main.html">rust_main</a></li><li><ahref="sbi/fn.console_getchar.html">sbi::console_getchar</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_read.html">syscall::fs::sys_read</a></li><li><ahref="syscall/fs/fn.sys_write.html">syscall::fs::sys_write</a></li><li><ahref="syscall/process/fn.sys_exec.html">syscall::process::sys_exec</a></li><li><ahref="syscall/process/fn.sys_exit.html">syscall::process::sys_exit</a></li><li><ahref="syscall/process/fn.sys_fork.html">syscall::process::sys_fork</a></li><li><ahref="syscall/process/fn.sys_get_time.html">syscall::process::sys_get_time</a></li><li><ahref="syscall/process/fn.sys_getpid.html">syscall::process::sys_getpid</a></li><li><ahref="syscall/process/fn.sys_waitpid.html">syscall::process::sys_waitpid</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.add_initproc.html">task::add_initproc</a></li><li><ahref="task/fn.add_task.html">task::add_task</a></li><li><ahref="task/fn.current_task.html">task::current_task</a></li><li><ahref="task/fn.current_trap_cx.html">task::current_trap_cx</a></li><li><ahref="task/fn.current_user_token.html">task::current_user_token</a></li><li><ahref="task/fn.exit_current_and_run_next.html">task::exit_current_and_run_next</a></li><li><ahref="task/fn.fetch_task.html">task::fetch_task</a></li><li><ahref="task/manager/fn.add_task.html">task::manager::add_task</a></li><li><ahref="task/manager/fn.fetch_task.html">task::manager::fetch_task</a></li><li><ahref="task/pid/fn.kernel_stack_position.html">task::pid::kernel_stack_position</a></li><li><ahref="task/pid/fn.pid_alloc.html">task::pid::pid_alloc</a></li><li><ahref="task/fn.pid_alloc.html">task::pid_alloc</a></li><li><ahref="task/processor/fn.current_task.html">task::processor::current_task</a></li><li><ahref="task/processor/fn.current_trap_cx.html">task::processor::current_trap_cx</a></li><li><ahref="task/processor/fn.current_user_token.html">task::processor::current_user_token</a></li><li><ahref="task/processor/fn.run_tasks.html">task::processor::run_tasks</a></li><li><ahref="task/processor/fn.schedule.html">task::processor::schedule</a></li><li><ahref="task/processor/fn.take_current_task.html">task::processor::take_current_task</a></li><li><ahref="task/fn.run_tasks.html">task::run_tasks</a></li><li><ahref="task/fn.schedule.html">task::schedule</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="task/fn.take_current_task.html">task::take_current_task</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.set_kernel_trap_entry.html">trap::set_kernel_trap_entry</a></li><li><ahref="trap/fn.set_user_trap_entry.html">trap::set_user_trap_entry</a></li><li><ahref="trap/fn.trap_from_kernel.html">trap::trap_from_kernel</a></li><li><ahref="trap/fn.trap_handler.html">trap::trap_handler</a></li><li><ahref="trap/fn.trap_return.html">trap::trap_return</a></li></ul><h3id="Typedefs">Typedefs</h3><ulclass="typedefs docblock"><li><ahref="mm/address/type.VPNRange.html">mm::address::VPNRange</a></li><li><ahref="mm/frame_allocator/type.FrameAllocatorImpl.html">mm::frame_allocator::FrameAllocatorImpl</a></li></ul><h3id="Statics">Statics</h3><ulclass="statics docblock"><li><ahref="mm/heap_allocator/static.HEAP_ALLOCATOR.html">mm::heap_allocator::HEAP_ALLOCATOR</a></li><li><ahref="mm/heap_allocator/static.HEAP_SPACE.html">mm::heap_allocator::HEAP_SPACE</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.MEMORY_END.html">board::MEMORY_END</a></li><li><ahref="config/constant.KERNEL_HEAP_SIZE.html">config::KERNEL_HEAP_SIZE</a></li><li><ahref="config/constant.KERNEL_STACK_SIZE.html">config::KERNEL_STACK_SIZE</a></li><li><ahref="config/constant.PAGE_SIZE.html">config::PAGE_SIZE</a></li><li><ahref="config/constant.PAGE_SIZE_BITS.html">config::PAGE_SIZE_BITS</a></li><li><ahref="config/constant.TRAMPOLINE.html">config::TRAMPOLINE</a></li><li><ahref="config/constant.TRAP_CONTEXT.html">config::TRAP_CONTEXT</a></li><li><ahref="config/constant.USER_STACK_SIZE.html">config::USER_STACK_SIZE</a></li><li><ahref="mm/address/constant.PA_WIDTH_SV39.html">mm::address::PA_WIDTH_SV39</a></li><li><ahref="mm/address/constant.PPN_WIDTH_SV39.html">mm::address::PPN_WIDTH_SV39</a></li><li><ahref="mm/address/constant.VA_WIDTH_SV39.html">mm::address::VA_WIDTH_SV39</a></li><li><ahref="mm/address/constant.VPN_WIDTH_SV39.html">mm::address::VPN_WIDTH_SV39</a></li><li><ahref="sbi/constant.SBI_CLEAR_IPI.html">sbi::SBI_CLEAR_IPI</a></li><li><ahref="sbi/constant.SBI_CONSOLE_GETCHAR.html">sbi::SBI_CONSOLE_GETCHAR</a></li><li><ahref="sbi/constant.SBI_CONSOLE_PUTCHAR.html">sbi::SBI_CONSOLE_PUTCHAR</a></li><li><ahref="sbi/constant.SBI_REMOTE_FENCE_I.html">sbi::SBI_REMOTE_FENCE_I</a></li><li><ahref="sbi/constant.SBI_REMOTE_SFENCE_VMA.html">sbi::SBI_REMOTE_SFENCE_VMA</a></li><li><ahref="sbi/constant.SBI_REMOTE_SFENCE_VMA_ASID.html">sbi::SBI_REMOTE_SFENCE_VMA_ASID</a></li><li><ahref="sbi/constant.SBI_SEND_IPI.html">sbi::SBI_SEND_IPI</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_EXEC.html">syscall::SYSCALL_EXEC</a></li><li><ahref="syscall/constant.SYSCALL_EXIT.html">syscall::SYSCALL_EXIT</a></li><li><ahref="syscall/constant.SYSCALL_FORK.html">syscall::SYSCALL_FORK</a></li><li><ahref="syscall/constant.SYSCALL_GETPID.html">syscall::SYSCALL_GETPID</a></li><li><ahref="syscall/constant.SYSCALL_GET_TIME.html">syscall::SYSCALL_GET_TIME</a></li><li><ahref="syscall/constant.SYSCALL_READ.html">syscall::SYSCALL_READ</a></li><li><ahref="syscall/constant.SYSCALL_WAITPID.html">syscall::SYSCALL_WAITPID</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_STDIN.html">syscall::fs::FD_STDIN</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>