diff --git a/ch8/os/all.html b/ch8/os/all.html index f97391c4..1beaacd9 100644 --- a/ch8/os/all.html +++ b/ch8/os/all.html @@ -1 +1 @@ -List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

Statics

Constants

\ No newline at end of file +List of all items in this crate

List of all items

Structs

Enums

Traits

Macros

Functions

Typedefs

Statics

Constants

\ No newline at end of file diff --git a/ch8/os/board/constant.MEMORY_END.html b/ch8/os/board/constant.MEMORY_END.html deleted file mode 100644 index bd2d6789..00000000 --- a/ch8/os/board/constant.MEMORY_END.html +++ /dev/null @@ -1 +0,0 @@ -MEMORY_END in os::board - Rust
pub const MEMORY_END: usize = 0x801000000;
\ No newline at end of file diff --git a/ch8/os/board/index.html b/ch8/os/board/index.html index cf12337c..d9261e77 100644 --- a/ch8/os/board/index.html +++ b/ch8/os/board/index.html @@ -1,3 +1,3 @@ os::board - Rust

Module os::board

source · []

Structs

RISCV64 configuration

-

Constants

Traits

Functions

Encode the exit code using EXIT_FAILURE_FLAG.

+

Constants

Traits

Functions

Encode the exit code using EXIT_FAILURE_FLAG.

Type Definitions

\ No newline at end of file diff --git a/ch8/os/board/sidebar-items.js b/ch8/os/board/sidebar-items.js index ce4ca9b8..d27bba83 100644 --- a/ch8/os/board/sidebar-items.js +++ b/ch8/os/board/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"constant":[["CLOCK_FREQ",""],["EXIT_FAILURE",""],["EXIT_FAILURE_FLAG",""],["EXIT_RESET",""],["EXIT_SUCCESS",""],["MEMORY_END",""],["MMIO",""],["QEMU_EXIT_HANDLE",""],["VIRT_TEST",""]],"fn":[["exit_code_encode","Encode the exit code using EXIT_FAILURE_FLAG."]],"struct":[["RISCV64","RISCV64 configuration"]],"trait":[["QEMUExit",""]],"type":[["BlockDeviceImpl",""]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"constant":[["CLOCK_FREQ",""],["EXIT_FAILURE",""],["EXIT_FAILURE_FLAG",""],["EXIT_RESET",""],["EXIT_SUCCESS",""],["MMIO",""],["QEMU_EXIT_HANDLE",""],["VIRT_TEST",""]],"fn":[["exit_code_encode","Encode the exit code using EXIT_FAILURE_FLAG."]],"struct":[["RISCV64","RISCV64 configuration"]],"trait":[["QEMUExit",""]],"type":[["BlockDeviceImpl",""]]}; \ No newline at end of file diff --git a/ch8/search-index.js b/ch8/search-index.js index ef0e3675..fa841082 100644 --- a/ch8/search-index.js +++ b/ch8/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"os":{"doc":"","t":[0,5,0,0,0,0,0,0,14,14,5,0,0,0,0,0,0,6,17,17,17,17,17,17,17,8,17,3,17,12,11,11,10,11,5,10,11,10,11,11,11,11,11,11,11,2,17,17,17,2,17,17,17,17,17,3,11,11,11,11,5,11,11,11,11,2,2,0,3,2,12,5,11,11,11,11,11,11,11,11,0,12,3,17,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,2,2,2,2,2,0,2,2,2,0,10,10,0,10,10,18,3,3,3,18,18,3,18,18,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,5,11,11,11,12,5,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,13,13,13,3,3,17,4,11,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,0,2,0,5,2,0,0,2,2,2,2,2,12,12,12,12,17,17,3,3,3,3,8,17,6,17,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,6,3,3,12,10,11,11,11,11,11,11,11,12,10,11,11,11,12,11,5,5,5,11,11,11,11,5,11,11,11,10,11,11,12,12,11,11,11,11,11,11,11,11,11,7,7,5,5,5,13,13,3,3,3,4,3,18,18,18,18,12,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,5,5,5,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,12,11,12,11,11,11,11,11,12,11,11,11,5,11,11,5,5,11,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,18,18,18,3,3,3,18,18,3,3,18,18,18,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,5,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,17,17,17,17,17,17,17,17,5,5,5,5,5,2,2,2,2,2,2,0,0,0,0,3,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,8,3,3,3,11,11,11,11,11,11,11,11,11,12,11,11,11,10,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,10,11,11,12,3,3,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,12,11,11,11,11,11,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,0,0,0,5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,2,3,2,2,2,2,2,2,12,5,2,5,11,11,5,0,5,2,2,2,2,2,2,11,5,11,0,11,2,0,2,2,0,0,2,5,2,2,2,0,5,0,2,0,11,11,11,3,11,11,11,11,11,12,12,12,11,11,11,11,12,12,17,3,3,3,3,3,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,5,12,11,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,3,3,3,12,12,11,5,11,11,11,11,11,11,11,11,11,5,11,11,11,5,11,11,11,11,5,12,11,5,5,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,12,12,11,11,12,12,11,11,11,11,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,12,5,5,5,5,5,5,11,11,11,11,12,11,11,11,5,5,11,5,11,11,11,11,11,11,18,18,18,18,18,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,13,13,13,3,3,4,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,12,11,12,12,12,12,11,12,11,11,11,11,11,11,11,11,11,17,17,3,3,12,5,11,11,11,11,5,11,11,11,12,11,11,5,5,11,11,11,5,5,12,11,11,11,11,11,11,2,0,5,5,5,5,5,5,5,3,11,11,11,11,11,11,12,12,12,11,12,12,11,11,11,12],"n":["board","clear_bss","config","console","drivers","fs","lang_items","mm","print","println","rust_main","sbi","sync","syscall","task","timer","trap","BlockDeviceImpl","CLOCK_FREQ","EXIT_FAILURE","EXIT_FAILURE_FLAG","EXIT_RESET","EXIT_SUCCESS","MEMORY_END","MMIO","QEMUExit","QEMU_EXIT_HANDLE","RISCV64","VIRT_TEST","addr","borrow","borrow_mut","exit","exit","exit_code_encode","exit_failure","exit_failure","exit_success","exit_success","from","into","new","try_from","try_into","type_id","CLOCK_FREQ","KERNEL_HEAP_SIZE","KERNEL_STACK_SIZE","MEMORY_END","MMIO","PAGE_SIZE","PAGE_SIZE_BITS","TRAMPOLINE","TRAP_CONTEXT_BASE","USER_STACK_SIZE","Stdout","borrow","borrow_mut","from","into","print","try_from","try_into","type_id","write_str","BLOCK_DEVICE","BLOCK_DEVICE","block","BLOCK_DEVICE","VirtIOBlock","__private_field","block_device_test","borrow","borrow_mut","deref","from","into","try_from","try_into","type_id","virtio_blk","0","QUEUE_FRAMES","VIRTIO0","VirtIOBlock","VirtioHal","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","dma_alloc","dma_dealloc","from","from","from","into","into","into","new","phys_to_virt","read_block","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","virt_to_phys","write_block","File","OSInode","OpenFlags","Pipe","Stdin","Stdout","inode","list_apps","make_pipe","open_file","pipe","read","readable","stdio","writable","write","CREATE","OSInode","OSInodeInner","OpenFlags","RDONLY","RDWR","ROOT_INODE","TRUNC","WRONLY","__private_field","all","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","cmp","complement","contains","deref","difference","empty","eq","extend","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","hash","inner","inode","insert","intersection","intersects","into","into","into","into","is_all","is_empty","list_apps","ne","new","not","offset","open_file","partial_cmp","read","read_all","read_write","readable","readable","remove","set","sub","sub_assign","symmetric_difference","to_owned","toggle","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","union","writable","writable","write","Empty","Full","Normal","Pipe","PipeRingBuffer","RING_BUFFER_SIZE","RingBufferStatus","all_write_ends_closed","arr","available_read","available_write","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","buffer","clone","clone_into","eq","from","from","from","head","into","into","into","make_pipe","new","read","read_byte","read_end_with_buffer","readable","readable","set_write_end","status","tail","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","writable","writable","write","write_byte","write_end","write_end_with_buffer","Stdin","Stdout","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","read","read","readable","readable","try_from","try_from","try_into","try_into","type_id","type_id","writable","writable","write","write","backtrace","panic","FrameTracker","KERNEL_SPACE","KERNEL_SPACE","MapPermission","MemorySet","PageTable","PageTableEntry","PhysAddr","PhysPageNum","StepByOne","UserBuffer","UserBufferIterator","VirtAddr","VirtPageNum","address","frame_alloc","frame_allocator","frame_dealloc","heap_allocator","init","kernel_token","memory_set","page_table","remap_test","translated_byte_buffer","translated_ref","translated_refmut","translated_str","0","0","0","0","PA_WIDTH_SV39","PPN_WIDTH_SV39","PhysAddr","PhysPageNum","SimpleRange","SimpleRangeIterator","StepByOne","VA_WIDTH_SV39","VPNRange","VPN_WIDTH_SV39","VirtAddr","VirtPageNum","aligned","aligned","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","ceil","ceil","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","current","end","eq","eq","eq","eq","floor","floor","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_bytes_array","get_end","get_mut","get_mut","get_pte_array","get_ref","get_start","indexes","into","into","into","into","into","into","into_iter","into_iter","l","ne","ne","ne","ne","new","new","next","page_offset","page_offset","partial_cmp","partial_cmp","partial_cmp","partial_cmp","r","step","step","step","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","FRAME_ALLOCATOR","FrameAllocator","FrameAllocatorImpl","FrameTracker","StackFrameAllocator","__private_field","alloc","alloc","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","current","dealloc","dealloc","deref","drop","end","fmt","frame_alloc","frame_allocator_test","frame_dealloc","from","from","from","init","init_frame_allocator","into","into","into","new","new","new","ppn","recycled","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","HEAP_ALLOCATOR","HEAP_SPACE","handle_alloc_error","heap_test","init_heap","Framed","Identical","KERNEL_SPACE","MapArea","MapPermission","MapType","MemorySet","R","U","W","X","__private_field","activate","all","areas","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","complement","contains","copy_data","data_frames","deref","difference","ebss","edata","ekernel","empty","eq","eq","erodata","etext","extend","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_another","from_bits","from_bits_truncate","from_bits_unchecked","from_elf","from_existed_user","from_iter","hash","insert","insert_framed_area","intersection","intersects","into","into","into","into","into","is_all","is_empty","kernel_token","map","map_one","map_perm","map_trampoline","map_type","ne","new","new_bare","new_kernel","not","page_table","partial_cmp","push","recycle_data_pages","remap_test","remove","remove_area_with_start_vpn","sbss_with_stack","sdata","set","srodata","stext","strampoline","sub","sub_assign","symmetric_difference","to_owned","to_owned","toggle","token","translate","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","union","unmap","unmap_one","vpn_range","A","D","G","PTEFlags","PageTable","PageTableEntry","R","U","UserBuffer","UserBufferIterator","V","W","X","all","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buffers","buffers","clone","clone","clone_into","clone_into","cmp","complement","contains","current_buffer","current_idx","difference","empty","empty","eq","executable","extend","find_pte","find_pte_create","flags","fmt","fmt","fmt","fmt","fmt","frames","from","from","from","from","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","from_token","hash","insert","intersection","intersects","into","into","into","into","into","into_iter","into_iter","is_all","is_empty","is_valid","len","map","ne","new","new","new","next","not","partial_cmp","ppn","readable","remove","root_ppn","set","sub","sub_assign","symmetric_difference","to_owned","to_owned","toggle","token","translate","translate_va","translated_byte_buffer","translated_ref","translated_refmut","translated_str","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","union","unmap","writable","SBI_CLEAR_IPI","SBI_CONSOLE_GETCHAR","SBI_CONSOLE_PUTCHAR","SBI_REMOTE_FENCE_I","SBI_REMOTE_SFENCE_VMA","SBI_REMOTE_SFENCE_VMA_ASID","SBI_SEND_IPI","SBI_SET_TIMER","SBI_SHUTDOWN","console_getchar","console_putchar","sbi_call","set_timer","shutdown","Condvar","Mutex","MutexBlocking","MutexSpin","Semaphore","UPSafeCell","condvar","mutex","semaphore","up","Condvar","CondvarInner","borrow","borrow","borrow_mut","borrow_mut","from","from","inner","into","into","new","signal","try_from","try_from","try_into","try_into","type_id","type_id","wait","wait_queue","Mutex","MutexBlocking","MutexBlockingInner","MutexSpin","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","inner","into","into","into","lock","lock","lock","locked","locked","new","new","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unlock","unlock","unlock","wait_queue","Semaphore","SemaphoreInner","borrow","borrow","borrow_mut","borrow_mut","count","down","from","from","inner","into","into","new","try_from","try_from","try_into","try_into","type_id","type_id","up","wait_queue","UPSafeCell","borrow","borrow_mut","exclusive_access","from","inner","into","new","try_from","try_into","type_id","SYSCALL_CLOSE","SYSCALL_CONDVAR_CREATE","SYSCALL_CONDVAR_SIGNAL","SYSCALL_CONDVAR_WAIT","SYSCALL_DUP","SYSCALL_EXEC","SYSCALL_EXIT","SYSCALL_FORK","SYSCALL_GETPID","SYSCALL_GETTID","SYSCALL_GET_TIME","SYSCALL_KILL","SYSCALL_MUTEX_CREATE","SYSCALL_MUTEX_LOCK","SYSCALL_MUTEX_UNLOCK","SYSCALL_OPEN","SYSCALL_PIPE","SYSCALL_READ","SYSCALL_SEMAPHORE_CREATE","SYSCALL_SEMAPHORE_DOWN","SYSCALL_SEMAPHORE_UP","SYSCALL_SLEEP","SYSCALL_THREAD_CREATE","SYSCALL_WAITPID","SYSCALL_WAITTID","SYSCALL_WRITE","SYSCALL_YIELD","fs","process","sync","syscall","thread","sys_close","sys_dup","sys_open","sys_pipe","sys_read","sys_write","sys_exec","sys_exit","sys_fork","sys_get_time","sys_getpid","sys_kill","sys_waitpid","sys_yield","sys_condvar_create","sys_condvar_signal","sys_condvar_wait","sys_mutex_create","sys_mutex_lock","sys_mutex_unlock","sys_semaphore_create","sys_semaphore_down","sys_semaphore_up","sys_sleep","sys_gettid","sys_thread_create","sys_waittid","IDLE_PID","INITPROC","KernelStack","PidHandle","SignalFlags","TaskContext","TaskControlBlock","TaskStatus","__private_field","add_initproc","add_task","block_current_and_run_next","borrow","borrow_mut","check_signals_of_current","context","current_add_signal","current_kstack_top","current_process","current_task","current_trap_cx","current_trap_cx_user_va","current_user_token","deref","exit_current_and_run_next","from","id","into","kstack_alloc","manager","pid2process","pid_alloc","process","processor","remove_from_pid2process","remove_inactive_task","remove_task","run_tasks","schedule","signal","suspend_current_and_run_next","switch","take_current_task","task","try_from","try_into","type_id","TaskContext","borrow","borrow_mut","from","goto_trap_return","into","ra","s","sp","try_from","try_into","type_id","zero_init","0","0","IDLE_PID","KSTACK_ALLOCATOR","KernelStack","PID_ALLOCATOR","PidHandle","RecycleAllocator","TaskUserRes","__private_field","__private_field","alloc","alloc_tid","alloc_user_res","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","current","dealloc","dealloc_tid","dealloc_user_res","deref","deref","drop","drop","drop","from","from","from","from","from","from","get_top","into","into","into","into","into","into","kernel_stack_position","kstack_alloc","new","new","pid_alloc","process","push_on_top","recycled","tid","trap_cx_bottom_from_tid","trap_cx_ppn","trap_cx_user_va","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","ustack_base","ustack_base","ustack_bottom_from_tid","ustack_top","PID2PCB","TASK_MANAGER","TaskManager","__private_field","__private_field","add","add_task","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","fetch","fetch_task","from","from","from","insert_into_pid2process","into","into","into","new","pid2process","ready_queue","remove","remove_from_pid2process","remove_task","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","ProcessControlBlock","ProcessControlBlockInner","alloc_fd","alloc_tid","borrow","borrow","borrow_mut","borrow_mut","children","condvar_list","dealloc_tid","exec","exit_code","fd_table","fork","from","from","get_task","get_user_token","getpid","inner","inner_exclusive_access","into","into","is_zombie","memory_set","mutex_list","new","parent","pid","semaphore_list","signals","task_res_allocator","tasks","thread_count","try_from","try_from","try_into","try_into","type_id","type_id","PROCESSOR","Processor","__private_field","borrow","borrow","borrow_mut","borrow_mut","current","current","current_kstack_top","current_process","current_task","current_trap_cx","current_trap_cx_user_va","current_user_token","deref","from","from","get_idle_task_cx_ptr","idle_task_cx","into","into","new","run_tasks","schedule","take_current","take_current_task","try_from","try_from","try_into","try_into","type_id","type_id","SIGABRT","SIGFPE","SIGILL","SIGINT","SIGSEGV","SignalFlags","all","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow_mut","check_error","clone","clone_into","cmp","complement","contains","difference","empty","eq","extend","fmt","fmt","fmt","fmt","fmt","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","hash","insert","intersection","intersects","into","is_all","is_empty","ne","not","partial_cmp","remove","set","sub","sub_assign","symmetric_difference","to_owned","toggle","try_from","try_into","type_id","union","__switch","Blocking","Ready","Running","TaskControlBlock","TaskControlBlockInner","TaskStatus","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","eq","exit_code","from","from","from","get_status","get_trap_cx","get_user_token","inner","inner_exclusive_access","into","into","into","kstack","new","process","res","task_cx","task_status","to_owned","trap_cx_ppn","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","MSEC_PER_SEC","TICKS_PER_SEC","TIMERS","TimerCondVar","__private_field","add_timer","borrow","borrow","borrow_mut","borrow_mut","check_timer","cmp","deref","eq","expire_ms","from","from","get_time","get_time_ms","into","into","partial_cmp","remove_timer","set_next_trigger","task","try_from","try_from","try_into","try_into","type_id","type_id","TrapContext","context","enable_timer_interrupt","init","set_kernel_trap_entry","set_user_trap_entry","trap_from_kernel","trap_handler","trap_return","TrapContext","app_init_context","borrow","borrow_mut","fmt","from","into","kernel_satp","kernel_sp","sepc","set_sp","sstatus","trap_handler","try_from","try_into","type_id","x"],"q":["os","","","","","","","","","","","","","","","","","os::board","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::config","","","","","","","","","","os::console","","","","","","","","","","os::drivers","","","os::drivers::block","","","","","","","","","","","","","os::drivers::block::virtio_blk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs","","","","","","","","","","","","","","","","os::fs::inode","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs::pipe","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs::stdio","","","","","","","","","","","","","","","","","","","","","","","","os::lang_items","","os::mm","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::address","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::frame_allocator","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::heap_allocator","","","","","os::mm::memory_set","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::page_table","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sbi","","","","","","","","","","","","","","os::sync","","","","","","","","","","os::sync::condvar","","","","","","","","","","","","","","","","","","","","","os::sync::mutex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::semaphore","","","","","","","","","","","","","","","","","","","","","","os::sync::up","","","","","","","","","","","os::syscall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall::fs","","","","","","os::syscall::process","","","","","","","","os::syscall::sync","","","","","","","","","","os::syscall::thread","","","os::task","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::context","","","","","","","","","","","","","os::task::id","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::manager","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::process","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::processor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::signal","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::switch","os::task::task","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::timer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::trap","","","","","","","","","os::trap::context","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","","RISCV64 configuration","","Address of the sifive_test mapped device.","","","Exit with specified return code.","Exit qemu with specified exit code.","Encode the exit code using EXIT_FAILURE_FLAG.","Exit QEMU using EXIT_FAILURE, aka 1.","","Exit QEMU using EXIT_SUCCESS, aka 0, if possible.","","Returns the argument unchanged.","Calls U::from(self).","Create an instance.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","","","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","Returns the complement of this set of flags.","","","","","","Do not check validity for simplicity Return (readable, …","","","Removes the specified flags in-place.","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","Toggles the specified flags in-place.","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Return (read_end, write_end)","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Definitions","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","data: start-aligned but maybe with shorter length assume …","","","Returns the difference between the flags in self and other.","","","","Returns an empty set of flags.","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Include sections in elf and trampoline, also returns …","","","","Inserts the specified flags in-place.","Assume that no conflicts.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","","Mention that trampoline is not collected by areas.","","","","","Without kernel stacks.","Returns the complement of this set of flags.","","","","","","Removes the specified flags in-place.","","","","Inserts or removes the specified flags depending on the …","","","","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","","","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","Temporarily used to get arguments from user space.","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","","","","","","Returns the complement of this set of flags.","","","","Removes the specified flags in-place.","","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","","Toggles the specified flags in-place.","","","","","","","Load a string from other address spaces into kernel space …","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Wrap a static data structure inside it so that we are able …","","","Panic if the data has been borrowed.","Returns the argument unchanged.","inner data","Calls U::from(self).","User is responsible to guarantee that inner struct is only …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","If there is not a child process whose pid is same as …","","","","","","","","","","","","","","thread does not exist, return -1 thread has not exited …","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Return (bottom, top) of a kernel stack in kernel space.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Only support processes with a single thread.","","","Only support processes with a single thread.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","Returns the complement of this set of flags.","","Removes the specified flags in-place.","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","Toggles the specified flags in-place.","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,86,3,0,86,3,86,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,0,8,8,8,8,0,0,0,0,0,11,0,11,11,11,11,11,11,11,11,0,17,0,0,0,0,13,17,87,13,17,87,13,13,87,87,17,87,13,17,87,13,17,87,17,17,87,13,17,87,13,17,87,13,87,17,0,0,0,0,0,0,0,0,0,0,0,88,88,0,88,88,20,0,0,0,20,20,0,20,20,22,20,20,20,20,20,20,20,20,20,27,89,22,20,27,89,22,20,20,20,20,20,20,22,20,20,20,20,20,20,20,20,20,27,89,22,20,20,20,20,20,20,27,89,20,20,20,27,89,22,20,20,20,0,20,27,20,89,0,20,27,27,20,27,27,20,20,20,20,20,20,20,27,89,22,20,27,89,22,20,27,89,22,20,20,27,27,27,31,31,31,0,0,0,0,30,30,30,30,32,30,31,32,30,31,32,31,31,31,32,30,31,30,32,30,31,0,30,32,30,32,32,32,30,30,30,31,32,30,31,32,30,31,32,30,31,32,32,32,30,30,32,0,0,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,37,38,39,0,0,0,0,0,0,0,0,0,0,0,0,36,37,42,36,37,38,39,41,42,36,37,38,39,41,36,37,36,37,38,39,41,36,37,38,39,41,36,37,38,39,42,42,36,37,38,39,36,37,36,37,38,39,42,36,36,36,37,37,37,38,38,38,39,39,39,41,38,41,36,38,38,36,41,39,42,36,37,38,39,41,42,41,41,36,37,38,39,42,41,42,36,37,36,37,38,39,41,90,38,39,36,37,38,39,41,42,36,37,38,39,41,42,36,37,38,39,41,42,36,37,38,39,41,0,0,0,0,0,44,91,43,45,43,44,45,43,44,43,91,43,44,45,43,45,0,0,0,45,43,44,43,0,45,43,44,91,45,43,45,43,45,43,44,45,43,44,45,43,44,0,0,0,0,0,49,49,0,0,0,0,0,48,48,48,48,52,47,48,47,48,48,48,48,48,48,48,48,47,50,52,49,48,47,50,52,49,48,49,48,49,48,48,48,48,50,50,52,48,0,0,0,48,49,48,0,0,48,49,48,48,48,48,48,47,50,52,49,48,50,48,48,48,47,47,48,48,48,47,48,48,47,50,52,49,48,48,48,0,50,50,50,47,50,48,50,47,47,48,47,48,47,47,0,48,47,0,0,48,0,0,0,48,48,48,49,48,48,47,47,47,50,52,49,48,47,50,52,49,48,47,50,52,49,48,48,50,50,50,54,54,54,0,0,0,54,54,0,0,54,54,54,54,54,54,54,54,54,54,53,54,54,51,18,55,54,53,51,18,55,54,53,18,55,54,53,54,53,54,54,54,55,55,54,54,53,54,53,54,51,51,53,54,54,54,54,54,51,51,18,55,54,53,54,54,54,54,51,54,54,54,54,51,18,55,54,53,18,55,54,54,53,18,51,54,51,18,53,55,54,54,53,53,54,51,54,54,54,54,54,53,54,51,51,51,0,0,0,0,51,18,55,54,53,51,18,55,54,53,51,18,55,54,53,54,51,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,92,57,92,57,92,57,57,92,57,57,57,92,57,92,57,92,57,92,0,0,0,0,59,60,93,59,60,93,59,60,93,60,59,60,93,58,59,60,59,93,59,60,59,60,93,59,60,93,59,60,93,58,59,60,93,0,0,61,94,61,94,94,61,61,94,61,61,94,61,61,94,61,94,61,94,61,94,0,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,65,0,0,0,0,0,0,0,0,0,65,0,65,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,65,0,67,67,67,67,67,67,67,67,67,67,67,67,72,73,0,0,0,0,0,0,0,70,71,68,69,69,68,72,73,69,70,71,68,72,73,69,70,71,68,68,69,69,70,71,72,73,69,68,72,73,69,70,71,73,68,72,73,69,70,71,0,0,68,69,0,69,73,68,69,0,69,69,68,72,73,69,70,71,68,72,73,69,70,71,68,72,73,69,70,71,69,69,0,69,0,0,0,76,77,75,0,75,76,77,75,76,77,76,77,75,0,75,76,77,0,75,76,77,75,0,75,75,0,0,75,76,77,75,76,77,75,76,77,0,0,78,78,74,78,74,78,78,78,78,74,78,78,74,74,78,78,78,74,74,74,74,78,78,78,78,74,78,74,78,78,78,78,78,74,78,74,78,74,78,0,0,81,79,81,79,81,79,79,0,0,0,0,0,0,81,79,81,79,79,79,81,79,0,0,79,0,79,81,79,81,79,81,64,64,64,64,64,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,82,82,82,0,0,0,66,83,82,66,83,82,82,82,82,83,66,83,82,83,83,66,66,66,66,83,82,66,66,66,83,83,83,82,83,66,83,82,66,83,82,66,83,82,0,0,0,0,85,0,84,85,84,85,0,84,85,84,84,84,85,0,0,84,85,84,0,0,84,84,85,84,85,84,85,0,0,0,0,0,0,0,0,0,0,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80],"f":[0,[[]],0,0,0,0,0,0,0,0,[[],1],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[2,1],[[3,2],1],[2,2],[[],1],[3,1],[[],1],[3,1],[[]],[[]],[4,3],[[],5],[[],5],[[],6],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[7],[[],5],[[],5],[[],6],[[8,9],10],0,0,0,0,0,0,[[]],[[]],[[]],[11,12],[[]],[[]],[[],5],[[],5],[[],6],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[13,14],[15,15],[[15,15],16],[[]],[[]],[[]],[[]],[[]],[[]],[[],17],[15,15],[[17,15]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[15,15],[[17,15]],0,0,0,0,0,0,0,0,0,0,0,[18,15],[[],19],0,[[],19],[18,15],0,0,0,0,0,0,0,0,0,0,[[],20],[[20,20],20],[[20,20]],[[20,20],20],[[20,20]],[20,2],0,[[20,20],20],[[20,20]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[[]],[[20,20],21],[20,20],[[20,20],19],[22,12],[[20,20],20],[[],20],[[20,20],19],[[20,23]],[[20,24],10],[[20,24],10],[[20,24],10],[[20,24],10],[[20,24],10],[[]],[[]],[[]],[[]],[2,[[25,[20]]]],[2,20],[2,20],[23,20],[20],0,0,[[20,20]],[[20,20],20],[[20,20],19],[[]],[[]],[[]],[[]],[20,19],[20,19],[[]],[[20,20],19],[[19,19,[12,[26]]],27],[20,20],0,[[9,20],[[25,[[12,[27]]]]]],[[20,20],[[25,[21]]]],[[27,18],15],[27,[[29,[28]]]],[20],[27,19],0,[[20,20]],[[20,20,19]],[[20,20],20],[[20,20]],[[20,20],20],[[]],[[20,20]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[20,20],20],[27,19],0,[[27,18],15],0,0,0,0,0,0,0,[30,19],0,[30,15],[30,15],[[]],[[]],[[]],[[]],[[]],[[]],0,[31,31],[[]],[[31,31],19],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],30],[[32,18],15],[30,28],[[[12,[[14,[30]]]]],32],[32,19],0,[[30,12]],0,0,[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[32,19],0,[[32,18],15],[[30,28]],0,[[[12,[[14,[30]]]]],32],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[33,18],15],[[34,18],15],[33,19],[34,19],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[33,19],[34,19],[[33,18],15],[[34,18],15],[[]],[35,1],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[36,19],[37,19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[36,38],[37,39],[36,36],[37,37],[38,38],[39,39],[[[41,[40]]],[[41,[40]]]],[[]],[[]],[[]],[[]],[[]],[[36,36],21],[[37,37],21],[[38,38],21],[[39,39],21],0,0,[[36,36],19],[[37,37],19],[[38,38],19],[[39,39],19],[36,38],[37,39],[[36,24],10],[[37,24],10],[[38,24],10],[[39,24],10],[[]],[[]],[15,36],[38,36],[[]],[39,37],[15,37],[[]],[15,38],[36,38],[15,39],[[]],[37,39],[[]],[38],[41],[36],[38],[38],[36],[41],[39],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[41],0,[[36,36],19],[[37,37],19],[[38,38],19],[[39,39],19],[[],42],[[],41],[42,25],[36,15],[37,15],[[36,36],[[25,[21]]]],[[37,37],[[25,[21]]]],[[38,38],[[25,[21]]]],[[39,39],[[25,[21]]]],0,[[]],[38],[39],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,[[],[[25,[38]]]],[43,[[25,[38]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,[38],[[43,38]],[44,14],[45],0,[[45,24],10],[[],[[25,[45]]]],[[]],[38],[[]],[[]],[[]],[[43,38,38]],[[]],[[]],[[]],[[]],[[]],[38,45],[[],43],0,0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],0,0,[46,1],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[47],[[],48],0,[[48,48],48],[[48,48]],[[48,48],48],[[48,48]],[48,28],0,[[48,48],48],[[48,48]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[49,49],[48,48],[[]],[[]],[[48,48],21],[48,48],[[48,48],19],[[50,51]],0,[52,12],[[48,48],48],0,0,0,[[],48],[[49,49],19],[[48,48],19],0,0,[[48,23]],[[49,24],10],[[48,24],10],[[48,24],10],[[48,24],10],[[48,24],10],[[48,24],10],[[]],[[]],[[]],[[]],[[]],[50,50],[28,[[25,[48]]]],[28,48],[28,48],[[]],[47,47],[23,48],[48],[[48,48]],[[47,37,37,48]],[[48,48],48],[[48,48],19],[[]],[[]],[[]],[[]],[[]],[48,19],[48,19],[[],15],[[50,51]],[[50,51,39]],0,[47],0,[[48,48],19],[[37,37,49,48],50],[[],47],[[],47],[48,48],0,[[48,48],[[25,[21]]]],[[47,50,25]],[47],[[]],[[48,48]],[[47,39]],0,0,[[48,48,19]],0,0,0,[[48,48],48],[[48,48]],[[48,48],48],[[]],[[]],[[48,48]],[47,15],[[47,39],[[25,[53]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[48,48],48],[[50,51]],[[50,51,39]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],54],[[54,54],54],[[54,54]],[[54,54],54],[[54,54]],[54,28],0,0,[[54,54],54],[[54,54]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[54,54],[53,53],[[]],[[]],[[54,54],21],[54,54],[[54,54],19],0,0,[[54,54],54],[[],54],[[],53],[[54,54],19],[53,19],[[54,23]],[[51,39],[[25,[53]]]],[[51,39],[[25,[53]]]],[53,54],[[54,24],10],[[54,24],10],[[54,24],10],[[54,24],10],[[54,24],10],0,[[]],[[]],[[]],[[]],[[]],[28,[[25,[54]]]],[28,54],[28,54],[23,54],[15,51],[54],[[54,54]],[[54,54],54],[[54,54],19],[[]],[[]],[[]],[[]],[[]],[18],[[]],[54,19],[54,19],[53,19],[18,15],[[51,39,38,54]],[[54,54],19],[[],51],[29,18],[[38,54],53],[55,25],[54,54],[[54,54],[[25,[21]]]],[53,38],[53,19],[[54,54]],0,[[54,54,19]],[[54,54],54],[[54,54]],[[54,54],54],[[]],[[]],[[54,54]],[51,15],[[51,39],[[25,[53]]]],[[51,37],[[25,[36]]]],[[15,28,15],29],[15],[15],[[15,28],56],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[54,54],54],[[51,39]],[53,19],0,0,0,0,0,0,0,0,0,[[],15],[15],[[15,15,15,15],15],[15],[[],1],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],57],[57],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[57,[12,[58]]]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[59],[60],0,0,[[],59],[[],60],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[59],[60],0,0,0,[[]],[[]],[[]],[[]],0,[61],[[]],[[]],0,[[]],[[]],[15,61],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[61],0,0,[[]],[[]],[14,62],[[]],0,[[]],[[],14],[[],5],[[],5],[[],6],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[15,63],0,[15,63],[15,63],[[28,2],63],[15,63],[[15,28,15],63],[[15,28,15],63],[[28,15],63],[16,1],[[],63],[[],63],[[],63],[[15,2],63],[[63,16],63],[[],63],[15,63],[15,63],[[15,15],63],[19,63],[15,63],[15,63],[15,63],[15,63],[15,63],[15,63],[[],63],[[15,15],63],[15,16],0,0,0,0,0,0,0,0,0,[[]],0,[[]],[[]],[[]],[[],25],0,[64],0,0,0,0,0,0,[65,12],[16],[[]],0,[[]],0,0,0,0,0,0,0,[[[12,[66]]]],0,0,0,0,[[]],0,0,0,[[],5],[[],5],[[],6],0,[[]],[[]],[[]],[15,67],[[]],0,0,0,[[],5],[[],5],[[],6],[[],67],0,0,0,0,0,0,0,0,0,0,0,[68,15],[69],[69],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[68,15]],[69],[69],[70,14],[71,14],[72],[73],[69],[[]],[[]],[[]],[[]],[[]],[[]],[73,15],[[]],[[]],[[]],[[]],[[]],[[]],[15],[[],73],[[],68],[[[12,[74]],15,19],69],[[],72],0,[73],0,0,[15,15],[69,38],[69,15],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[69,15],0,[[15,15],15],[69,15],0,0,0,0,0,[[75,[12,[66]]]],[[[12,[66]]]],[[]],[[]],[[]],[[]],[[]],[[]],[76,14],[77,14],[75,[[25,[[12,[66]]]]]],[[],[[25,[[12,[66]]]]]],[[]],[[]],[[]],[[15,[12,[74]]]],[[]],[[]],[[]],[[],75],[15,[[25,[[12,[74]]]]]],0,[[75,[12,[66]]]],[15],[[[12,[66]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],0,0,[78,15],[78,15],[[]],[[]],[[]],[[]],0,0,[[78,15]],[[12,[29,[56]]]],0,0,[12,[[12,[74]]]],[[]],[[]],[[78,15],[[12,[66]]]],[78,15],[74,15],0,[74,[[62,[78]]]],[[]],[[]],0,0,0,[[],[[12,[74]]]],0,0,0,0,0,0,[78,15],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],0,0,0,[[]],[[]],[[]],[[]],[79,[[25,[[12,[66]]]]]],0,[[],15],[[],[[12,[74]]]],[[],[[25,[[12,[66]]]]]],[[],80],[[],15],[[],15],[81,14],[[]],[[]],[79,67],0,[[]],[[]],[[],79],[[]],[67],[79,[[25,[[12,[66]]]]]],[[],[[25,[[12,[66]]]]]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],0,0,0,0,0,0,[[],64],[[64,64],64],[[64,64]],[[64,64],64],[[64,64]],[64,2],0,[[64,64],64],[[64,64]],[[]],[[]],[64,25],[64,64],[[]],[[64,64],21],[64,64],[[64,64],19],[[64,64],64],[[],64],[[64,64],19],[[64,23]],[[64,24],10],[[64,24],10],[[64,24],10],[[64,24],10],[[64,24],10],[[]],[2,[[25,[64]]]],[2,64],[2,64],[23,64],[64],[[64,64]],[[64,64],64],[[64,64],19],[[]],[64,19],[64,19],[[64,64],19],[64,64],[[64,64],[[25,[21]]]],[[64,64]],[[64,64,19]],[[64,64],64],[[64,64]],[[64,64],64],[[]],[[64,64]],[[],5],[[],5],[[],6],[[64,64],64],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[82,82],[[]],[[82,82],19],0,[[]],[[]],[[]],[83,82],[83,80],[66,15],0,[66,[[62,[83]]]],[[]],[[]],[[]],0,[[[12,[74]],15,19],66],0,0,0,0,[[]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],0,0,0,0,0,[[15,[12,[66]]]],[[]],[[]],[[]],[[]],[[]],[[84,84],21],[85,14],[[84,84],19],0,[[]],[[]],[[],15],[[],15],[[]],[[]],[[84,84],[[25,[21]]]],[[[12,[66]]]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],0,[[15,15,15,15,15],80],[[]],[[]],[[80,24],10],[[]],[[]],0,0,0,[[80,15]],0,0,[[],5],[[],5],[[],6],0],"p":[[15,"never"],[15,"u32"],[3,"RISCV64"],[15,"u64"],[4,"Result"],[3,"TypeId"],[3,"Arguments"],[3,"Stdout"],[15,"str"],[6,"Result"],[3,"BLOCK_DEVICE"],[3,"Arc"],[3,"QUEUE_FRAMES"],[3,"UPSafeCell"],[15,"usize"],[15,"i32"],[3,"VirtIOBlock"],[3,"UserBuffer"],[15,"bool"],[3,"OpenFlags"],[4,"Ordering"],[3,"ROOT_INODE"],[8,"IntoIterator"],[3,"Formatter"],[4,"Option"],[3,"Inode"],[3,"OSInode"],[15,"u8"],[3,"Vec"],[3,"PipeRingBuffer"],[4,"RingBufferStatus"],[3,"Pipe"],[3,"Stdin"],[3,"Stdout"],[3,"PanicInfo"],[3,"PhysAddr"],[3,"VirtAddr"],[3,"PhysPageNum"],[3,"VirtPageNum"],[8,"Clone"],[3,"SimpleRange"],[3,"SimpleRangeIterator"],[3,"StackFrameAllocator"],[3,"FRAME_ALLOCATOR"],[3,"FrameTracker"],[3,"Layout"],[3,"MemorySet"],[3,"MapPermission"],[4,"MapType"],[3,"MapArea"],[3,"PageTable"],[3,"KERNEL_SPACE"],[3,"PageTableEntry"],[3,"PTEFlags"],[3,"UserBufferIterator"],[3,"String"],[3,"Condvar"],[8,"Mutex"],[3,"MutexSpin"],[3,"MutexBlocking"],[3,"Semaphore"],[3,"RefMut"],[15,"isize"],[3,"SignalFlags"],[3,"INITPROC"],[3,"TaskControlBlock"],[3,"TaskContext"],[3,"RecycleAllocator"],[3,"TaskUserRes"],[3,"PID_ALLOCATOR"],[3,"KSTACK_ALLOCATOR"],[3,"PidHandle"],[3,"KernelStack"],[3,"ProcessControlBlock"],[3,"TaskManager"],[3,"TASK_MANAGER"],[3,"PID2PCB"],[3,"ProcessControlBlockInner"],[3,"Processor"],[3,"TrapContext"],[3,"PROCESSOR"],[4,"TaskStatus"],[3,"TaskControlBlockInner"],[3,"TimerCondVar"],[3,"TIMERS"],[8,"QEMUExit"],[3,"VirtioHal"],[8,"File"],[3,"OSInodeInner"],[8,"StepByOne"],[8,"FrameAllocator"],[3,"CondvarInner"],[3,"MutexBlockingInner"],[3,"SemaphoreInner"]]}\ +"os":{"doc":"","t":[0,5,0,0,0,0,0,0,14,14,5,0,0,0,0,0,0,6,17,17,17,17,17,17,8,17,3,17,12,11,11,10,11,5,10,11,10,11,11,11,11,11,11,11,2,17,17,17,2,17,17,17,17,17,3,11,11,11,11,5,11,11,11,11,2,2,0,3,2,12,5,11,11,11,11,11,11,11,11,0,12,3,17,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,2,2,2,2,2,0,2,2,2,0,10,10,0,10,10,18,3,3,3,18,18,3,18,18,12,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,5,11,11,11,12,5,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,13,13,13,3,3,17,4,11,12,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,0,2,0,5,2,0,0,2,2,2,2,2,12,12,12,12,17,17,3,3,3,3,8,17,6,17,3,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,8,6,3,3,12,10,11,11,11,11,11,11,11,12,10,11,11,11,12,11,5,5,5,11,11,11,11,5,11,11,11,10,11,11,12,12,11,11,11,11,11,11,11,11,11,7,7,5,5,5,13,13,3,3,3,4,3,18,18,18,18,12,11,11,12,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,5,5,5,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,12,11,12,11,11,11,11,11,12,11,11,11,5,11,11,5,5,11,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,18,18,18,3,3,3,18,18,3,3,18,18,18,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,5,5,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,17,17,17,17,17,17,17,17,5,5,5,5,5,2,2,2,2,2,2,0,0,0,0,3,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,12,8,3,3,3,11,11,11,11,11,11,11,11,11,12,11,11,11,10,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,10,11,11,12,3,3,11,11,11,11,12,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,3,11,11,11,11,12,11,11,11,11,11,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,0,0,0,5,0,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,2,3,2,2,2,2,2,2,12,5,2,5,11,11,5,0,5,2,2,2,2,2,2,11,5,11,0,11,2,0,2,2,0,0,2,5,2,2,2,0,5,0,2,0,11,11,11,3,11,11,11,11,11,12,12,12,11,11,11,11,12,12,17,3,3,3,3,3,3,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,5,11,11,5,12,11,12,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,11,3,3,3,12,12,11,5,11,11,11,11,11,11,11,11,11,5,11,11,11,5,11,11,11,11,5,12,11,5,5,11,11,11,11,11,11,11,11,11,3,3,11,11,11,11,11,11,12,12,11,11,12,12,11,11,11,11,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,12,5,5,5,5,5,5,11,11,11,11,12,11,11,11,5,5,11,5,11,11,11,11,11,11,18,18,18,18,18,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,13,13,13,3,3,4,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,12,11,12,12,12,12,11,12,11,11,11,11,11,11,11,11,11,17,17,3,3,12,5,11,11,11,11,5,11,11,11,12,11,11,5,5,11,11,11,5,5,12,11,11,11,11,11,11,2,0,5,5,5,5,5,5,5,3,11,11,11,11,11,11,12,12,12,11,12,12,11,11,11,12],"n":["board","clear_bss","config","console","drivers","fs","lang_items","mm","print","println","rust_main","sbi","sync","syscall","task","timer","trap","BlockDeviceImpl","CLOCK_FREQ","EXIT_FAILURE","EXIT_FAILURE_FLAG","EXIT_RESET","EXIT_SUCCESS","MMIO","QEMUExit","QEMU_EXIT_HANDLE","RISCV64","VIRT_TEST","addr","borrow","borrow_mut","exit","exit","exit_code_encode","exit_failure","exit_failure","exit_success","exit_success","from","into","new","try_from","try_into","type_id","CLOCK_FREQ","KERNEL_HEAP_SIZE","KERNEL_STACK_SIZE","MEMORY_END","MMIO","PAGE_SIZE","PAGE_SIZE_BITS","TRAMPOLINE","TRAP_CONTEXT_BASE","USER_STACK_SIZE","Stdout","borrow","borrow_mut","from","into","print","try_from","try_into","type_id","write_str","BLOCK_DEVICE","BLOCK_DEVICE","block","BLOCK_DEVICE","VirtIOBlock","__private_field","block_device_test","borrow","borrow_mut","deref","from","into","try_from","try_into","type_id","virtio_blk","0","QUEUE_FRAMES","VIRTIO0","VirtIOBlock","VirtioHal","__private_field","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","dma_alloc","dma_dealloc","from","from","from","into","into","into","new","phys_to_virt","read_block","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","virt_to_phys","write_block","File","OSInode","OpenFlags","Pipe","Stdin","Stdout","inode","list_apps","make_pipe","open_file","pipe","read","readable","stdio","writable","write","CREATE","OSInode","OSInodeInner","OpenFlags","RDONLY","RDWR","ROOT_INODE","TRUNC","WRONLY","__private_field","all","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","cmp","complement","contains","deref","difference","empty","eq","extend","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","hash","inner","inode","insert","intersection","intersects","into","into","into","into","is_all","is_empty","list_apps","ne","new","not","offset","open_file","partial_cmp","read","read_all","read_write","readable","readable","remove","set","sub","sub_assign","symmetric_difference","to_owned","toggle","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","union","writable","writable","write","Empty","Full","Normal","Pipe","PipeRingBuffer","RING_BUFFER_SIZE","RingBufferStatus","all_write_ends_closed","arr","available_read","available_write","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","buffer","clone","clone_into","eq","from","from","from","head","into","into","into","make_pipe","new","read","read_byte","read_end_with_buffer","readable","readable","set_write_end","status","tail","to_owned","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","writable","writable","write","write_byte","write_end","write_end_with_buffer","Stdin","Stdout","borrow","borrow","borrow_mut","borrow_mut","from","from","into","into","read","read","readable","readable","try_from","try_from","try_into","try_into","type_id","type_id","writable","writable","write","write","backtrace","panic","FrameTracker","KERNEL_SPACE","KERNEL_SPACE","MapPermission","MemorySet","PageTable","PageTableEntry","PhysAddr","PhysPageNum","StepByOne","UserBuffer","UserBufferIterator","VirtAddr","VirtPageNum","address","frame_alloc","frame_allocator","frame_dealloc","heap_allocator","init","kernel_token","memory_set","page_table","remap_test","translated_byte_buffer","translated_ref","translated_refmut","translated_str","0","0","0","0","PA_WIDTH_SV39","PPN_WIDTH_SV39","PhysAddr","PhysPageNum","SimpleRange","SimpleRangeIterator","StepByOne","VA_WIDTH_SV39","VPNRange","VPN_WIDTH_SV39","VirtAddr","VirtPageNum","aligned","aligned","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","ceil","ceil","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","current","end","eq","eq","eq","eq","floor","floor","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from","from","from","from","from","from","get_bytes_array","get_end","get_mut","get_mut","get_pte_array","get_ref","get_start","indexes","into","into","into","into","into","into","into_iter","into_iter","l","ne","ne","ne","ne","new","new","next","page_offset","page_offset","partial_cmp","partial_cmp","partial_cmp","partial_cmp","r","step","step","step","to_owned","to_owned","to_owned","to_owned","to_owned","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","FRAME_ALLOCATOR","FrameAllocator","FrameAllocatorImpl","FrameTracker","StackFrameAllocator","__private_field","alloc","alloc","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","current","dealloc","dealloc","deref","drop","end","fmt","frame_alloc","frame_allocator_test","frame_dealloc","from","from","from","init","init_frame_allocator","into","into","into","new","new","new","ppn","recycled","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","HEAP_ALLOCATOR","HEAP_SPACE","handle_alloc_error","heap_test","init_heap","Framed","Identical","KERNEL_SPACE","MapArea","MapPermission","MapType","MemorySet","R","U","W","X","__private_field","activate","all","areas","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","clone","clone","clone_into","clone_into","cmp","complement","contains","copy_data","data_frames","deref","difference","ebss","edata","ekernel","empty","eq","eq","erodata","etext","extend","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from_another","from_bits","from_bits_truncate","from_bits_unchecked","from_elf","from_existed_user","from_iter","hash","insert","insert_framed_area","intersection","intersects","into","into","into","into","into","is_all","is_empty","kernel_token","map","map_one","map_perm","map_trampoline","map_type","ne","new","new_bare","new_kernel","not","page_table","partial_cmp","push","recycle_data_pages","remap_test","remove","remove_area_with_start_vpn","sbss_with_stack","sdata","set","srodata","stext","strampoline","sub","sub_assign","symmetric_difference","to_owned","to_owned","toggle","token","translate","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","union","unmap","unmap_one","vpn_range","A","D","G","PTEFlags","PageTable","PageTableEntry","R","U","UserBuffer","UserBufferIterator","V","W","X","all","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","buffers","buffers","clone","clone","clone_into","clone_into","cmp","complement","contains","current_buffer","current_idx","difference","empty","empty","eq","executable","extend","find_pte","find_pte_create","flags","fmt","fmt","fmt","fmt","fmt","frames","from","from","from","from","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","from_token","hash","insert","intersection","intersects","into","into","into","into","into","into_iter","into_iter","is_all","is_empty","is_valid","len","map","ne","new","new","new","next","not","partial_cmp","ppn","readable","remove","root_ppn","set","sub","sub_assign","symmetric_difference","to_owned","to_owned","toggle","token","translate","translate_va","translated_byte_buffer","translated_ref","translated_refmut","translated_str","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","union","unmap","writable","SBI_CLEAR_IPI","SBI_CONSOLE_GETCHAR","SBI_CONSOLE_PUTCHAR","SBI_REMOTE_FENCE_I","SBI_REMOTE_SFENCE_VMA","SBI_REMOTE_SFENCE_VMA_ASID","SBI_SEND_IPI","SBI_SET_TIMER","SBI_SHUTDOWN","console_getchar","console_putchar","sbi_call","set_timer","shutdown","Condvar","Mutex","MutexBlocking","MutexSpin","Semaphore","UPSafeCell","condvar","mutex","semaphore","up","Condvar","CondvarInner","borrow","borrow","borrow_mut","borrow_mut","from","from","inner","into","into","new","signal","try_from","try_from","try_into","try_into","type_id","type_id","wait","wait_queue","Mutex","MutexBlocking","MutexBlockingInner","MutexSpin","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","from","from","from","inner","into","into","into","lock","lock","lock","locked","locked","new","new","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unlock","unlock","unlock","wait_queue","Semaphore","SemaphoreInner","borrow","borrow","borrow_mut","borrow_mut","count","down","from","from","inner","into","into","new","try_from","try_from","try_into","try_into","type_id","type_id","up","wait_queue","UPSafeCell","borrow","borrow_mut","exclusive_access","from","inner","into","new","try_from","try_into","type_id","SYSCALL_CLOSE","SYSCALL_CONDVAR_CREATE","SYSCALL_CONDVAR_SIGNAL","SYSCALL_CONDVAR_WAIT","SYSCALL_DUP","SYSCALL_EXEC","SYSCALL_EXIT","SYSCALL_FORK","SYSCALL_GETPID","SYSCALL_GETTID","SYSCALL_GET_TIME","SYSCALL_KILL","SYSCALL_MUTEX_CREATE","SYSCALL_MUTEX_LOCK","SYSCALL_MUTEX_UNLOCK","SYSCALL_OPEN","SYSCALL_PIPE","SYSCALL_READ","SYSCALL_SEMAPHORE_CREATE","SYSCALL_SEMAPHORE_DOWN","SYSCALL_SEMAPHORE_UP","SYSCALL_SLEEP","SYSCALL_THREAD_CREATE","SYSCALL_WAITPID","SYSCALL_WAITTID","SYSCALL_WRITE","SYSCALL_YIELD","fs","process","sync","syscall","thread","sys_close","sys_dup","sys_open","sys_pipe","sys_read","sys_write","sys_exec","sys_exit","sys_fork","sys_get_time","sys_getpid","sys_kill","sys_waitpid","sys_yield","sys_condvar_create","sys_condvar_signal","sys_condvar_wait","sys_mutex_create","sys_mutex_lock","sys_mutex_unlock","sys_semaphore_create","sys_semaphore_down","sys_semaphore_up","sys_sleep","sys_gettid","sys_thread_create","sys_waittid","IDLE_PID","INITPROC","KernelStack","PidHandle","SignalFlags","TaskContext","TaskControlBlock","TaskStatus","__private_field","add_initproc","add_task","block_current_and_run_next","borrow","borrow_mut","check_signals_of_current","context","current_add_signal","current_kstack_top","current_process","current_task","current_trap_cx","current_trap_cx_user_va","current_user_token","deref","exit_current_and_run_next","from","id","into","kstack_alloc","manager","pid2process","pid_alloc","process","processor","remove_from_pid2process","remove_inactive_task","remove_task","run_tasks","schedule","signal","suspend_current_and_run_next","switch","take_current_task","task","try_from","try_into","type_id","TaskContext","borrow","borrow_mut","from","goto_trap_return","into","ra","s","sp","try_from","try_into","type_id","zero_init","0","0","IDLE_PID","KSTACK_ALLOCATOR","KernelStack","PID_ALLOCATOR","PidHandle","RecycleAllocator","TaskUserRes","__private_field","__private_field","alloc","alloc_tid","alloc_user_res","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","current","dealloc","dealloc_tid","dealloc_user_res","deref","deref","drop","drop","drop","from","from","from","from","from","from","get_top","into","into","into","into","into","into","kernel_stack_position","kstack_alloc","new","new","pid_alloc","process","push_on_top","recycled","tid","trap_cx_bottom_from_tid","trap_cx_ppn","trap_cx_user_va","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","ustack_base","ustack_base","ustack_bottom_from_tid","ustack_top","PID2PCB","TASK_MANAGER","TaskManager","__private_field","__private_field","add","add_task","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","deref","deref","fetch","fetch_task","from","from","from","insert_into_pid2process","into","into","into","new","pid2process","ready_queue","remove","remove_from_pid2process","remove_task","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","ProcessControlBlock","ProcessControlBlockInner","alloc_fd","alloc_tid","borrow","borrow","borrow_mut","borrow_mut","children","condvar_list","dealloc_tid","exec","exit_code","fd_table","fork","from","from","get_task","get_user_token","getpid","inner","inner_exclusive_access","into","into","is_zombie","memory_set","mutex_list","new","parent","pid","semaphore_list","signals","task_res_allocator","tasks","thread_count","try_from","try_from","try_into","try_into","type_id","type_id","PROCESSOR","Processor","__private_field","borrow","borrow","borrow_mut","borrow_mut","current","current","current_kstack_top","current_process","current_task","current_trap_cx","current_trap_cx_user_va","current_user_token","deref","from","from","get_idle_task_cx_ptr","idle_task_cx","into","into","new","run_tasks","schedule","take_current","take_current_task","try_from","try_from","try_into","try_into","type_id","type_id","SIGABRT","SIGFPE","SIGILL","SIGINT","SIGSEGV","SignalFlags","all","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow_mut","check_error","clone","clone_into","cmp","complement","contains","difference","empty","eq","extend","fmt","fmt","fmt","fmt","fmt","from","from_bits","from_bits_truncate","from_bits_unchecked","from_iter","hash","insert","intersection","intersects","into","is_all","is_empty","ne","not","partial_cmp","remove","set","sub","sub_assign","symmetric_difference","to_owned","toggle","try_from","try_into","type_id","union","__switch","Blocking","Ready","Running","TaskControlBlock","TaskControlBlockInner","TaskStatus","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","clone","clone_into","eq","exit_code","from","from","from","get_status","get_trap_cx","get_user_token","inner","inner_exclusive_access","into","into","into","kstack","new","process","res","task_cx","task_status","to_owned","trap_cx_ppn","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","MSEC_PER_SEC","TICKS_PER_SEC","TIMERS","TimerCondVar","__private_field","add_timer","borrow","borrow","borrow_mut","borrow_mut","check_timer","cmp","deref","eq","expire_ms","from","from","get_time","get_time_ms","into","into","partial_cmp","remove_timer","set_next_trigger","task","try_from","try_from","try_into","try_into","type_id","type_id","TrapContext","context","enable_timer_interrupt","init","set_kernel_trap_entry","set_user_trap_entry","trap_from_kernel","trap_handler","trap_return","TrapContext","app_init_context","borrow","borrow_mut","fmt","from","into","kernel_satp","kernel_sp","sepc","set_sp","sstatus","trap_handler","try_from","try_into","type_id","x"],"q":["os","","","","","","","","","","","","","","","","","os::board","","","","","","","","","","","","","","","","","","","","","","","","","","","os::config","","","","","","","","","","os::console","","","","","","","","","","os::drivers","","","os::drivers::block","","","","","","","","","","","","","os::drivers::block::virtio_blk","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs","","","","","","","","","","","","","","","","os::fs::inode","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs::pipe","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::fs::stdio","","","","","","","","","","","","","","","","","","","","","","","","os::lang_items","","os::mm","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::address","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::frame_allocator","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::heap_allocator","","","","","os::mm::memory_set","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::mm::page_table","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sbi","","","","","","","","","","","","","","os::sync","","","","","","","","","","os::sync::condvar","","","","","","","","","","","","","","","","","","","","","os::sync::mutex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::semaphore","","","","","","","","","","","","","","","","","","","","","","os::sync::up","","","","","","","","","","","os::syscall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall::fs","","","","","","os::syscall::process","","","","","","","","os::syscall::sync","","","","","","","","","","os::syscall::thread","","","os::task","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::context","","","","","","","","","","","","","os::task::id","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::manager","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::process","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::processor","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::signal","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::task::switch","os::task::task","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::timer","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::trap","","","","","","","","","os::trap::context","","","","","","","","","","","","","","","",""],"d":["","","","","","","","","","","","","","","","","","","","","","","","","","","RISCV64 configuration","","Address of the sifive_test mapped device.","","","Exit with specified return code.","Exit qemu with specified exit code.","Encode the exit code using EXIT_FAILURE_FLAG.","Exit QEMU using EXIT_FAILURE, aka 1.","","Exit QEMU using EXIT_SUCCESS, aka 0, if possible.","","Returns the argument unchanged.","Calls U::from(self).","Create an instance.","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","","","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","Returns the complement of this set of flags.","","","","","","Do not check validity for simplicity Return (readable, …","","","Removes the specified flags in-place.","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","Toggles the specified flags in-place.","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Return (read_end, write_end)","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Definitions","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","Returns the argument unchanged.","","","Returns the argument unchanged.","","","","Returns the argument unchanged.","","Returns the argument unchanged.","","","","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","data: start-aligned but maybe with shorter length assume …","","","Returns the difference between the flags in self and other.","","","","Returns an empty set of flags.","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Include sections in elf and trampoline, also returns …","","","","Inserts the specified flags in-place.","Assume that no conflicts.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","","Mention that trampoline is not collected by areas.","","","","","Without kernel stacks.","Returns the complement of this set of flags.","","","","","","Removes the specified flags in-place.","","","","Inserts or removes the specified flags depending on the …","","","","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","","","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","Temporarily used to get arguments from user space.","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","","","","","","","","Returns the complement of this set of flags.","","","","Removes the specified flags in-place.","","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","","Toggles the specified flags in-place.","","","","","","","Load a string from other address spaces into kernel space …","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","Wrap a static data structure inside it so that we are able …","","","Panic if the data has been borrowed.","Returns the argument unchanged.","inner data","Calls U::from(self).","User is responsible to guarantee that inner struct is only …","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","If there is not a child process whose pid is same as …","","","","","","","","","","","","","","thread does not exist, return -1 thread has not exited …","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Return (bottom, top) of a kernel stack in kernel space.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","Only support processes with a single thread.","","","Only support processes with a single thread.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","Returns the set containing all flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","","Returns the left flags, but with all the right flags …","Toggles the set of flags.","","","","","","","Returns the complement of this set of flags.","Returns true if all of the flags in other are contained …","Returns the difference between the flags in self and other.","Returns an empty set of flags.","","","","","","","","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","","","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","","Returns the complement of this set of flags.","","Removes the specified flags in-place.","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","","Toggles the specified flags in-place.","","","","Returns the union of between the flags in self and other.","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","","","","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Returns the argument unchanged.","","","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","Returns the argument unchanged.","Calls U::from(self).","","","","","","","","","",""],"i":[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,86,3,0,86,3,86,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,0,8,8,8,8,0,0,0,0,0,11,0,11,11,11,11,11,11,11,11,0,17,0,0,0,0,13,17,87,13,17,87,13,13,87,87,17,87,13,17,87,13,17,87,17,17,87,13,17,87,13,17,87,13,87,17,0,0,0,0,0,0,0,0,0,0,0,88,88,0,88,88,20,0,0,0,20,20,0,20,20,22,20,20,20,20,20,20,20,20,20,27,89,22,20,27,89,22,20,20,20,20,20,20,22,20,20,20,20,20,20,20,20,20,27,89,22,20,20,20,20,20,20,27,89,20,20,20,27,89,22,20,20,20,0,20,27,20,89,0,20,27,27,20,27,27,20,20,20,20,20,20,20,27,89,22,20,27,89,22,20,27,89,22,20,20,27,27,27,31,31,31,0,0,0,0,30,30,30,30,32,30,31,32,30,31,32,31,31,31,32,30,31,30,32,30,31,0,30,32,30,32,32,32,30,30,30,31,32,30,31,32,30,31,32,30,31,32,32,32,30,30,32,0,0,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,36,37,38,39,0,0,0,0,0,0,0,0,0,0,0,0,36,37,42,36,37,38,39,41,42,36,37,38,39,41,36,37,36,37,38,39,41,36,37,38,39,41,36,37,38,39,42,42,36,37,38,39,36,37,36,37,38,39,42,36,36,36,37,37,37,38,38,38,39,39,39,41,38,41,36,38,38,36,41,39,42,36,37,38,39,41,42,41,41,36,37,38,39,42,41,42,36,37,36,37,38,39,41,90,38,39,36,37,38,39,41,42,36,37,38,39,41,42,36,37,38,39,41,42,36,37,38,39,41,0,0,0,0,0,44,91,43,45,43,44,45,43,44,43,91,43,44,45,43,45,0,0,0,45,43,44,43,0,45,43,44,91,45,43,45,43,45,43,44,45,43,44,45,43,44,0,0,0,0,0,49,49,0,0,0,0,0,48,48,48,48,52,47,48,47,48,48,48,48,48,48,48,48,47,50,52,49,48,47,50,52,49,48,49,48,49,48,48,48,48,50,50,52,48,0,0,0,48,49,48,0,0,48,49,48,48,48,48,48,47,50,52,49,48,50,48,48,48,47,47,48,48,48,47,48,48,47,50,52,49,48,48,48,0,50,50,50,47,50,48,50,47,47,48,47,48,47,47,0,48,47,0,0,48,0,0,0,48,48,48,49,48,48,47,47,47,50,52,49,48,47,50,52,49,48,47,50,52,49,48,48,50,50,50,54,54,54,0,0,0,54,54,0,0,54,54,54,54,54,54,54,54,54,54,53,54,54,51,18,55,54,53,51,18,55,54,53,18,55,54,53,54,53,54,54,54,55,55,54,54,53,54,53,54,51,51,53,54,54,54,54,54,51,51,18,55,54,53,54,54,54,54,51,54,54,54,54,51,18,55,54,53,18,55,54,54,53,18,51,54,51,18,53,55,54,54,53,53,54,51,54,54,54,54,54,53,54,51,51,51,0,0,0,0,51,18,55,54,53,51,18,55,54,53,51,18,55,54,53,54,51,53,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,57,92,57,92,57,92,57,57,92,57,57,57,92,57,92,57,92,57,92,0,0,0,0,59,60,93,59,60,93,59,60,93,60,59,60,93,58,59,60,59,93,59,60,59,60,93,59,60,93,59,60,93,58,59,60,93,0,0,61,94,61,94,94,61,61,94,61,61,94,61,61,94,61,94,61,94,61,94,0,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,65,0,0,0,0,0,0,0,0,0,65,0,65,0,65,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,65,65,0,67,67,67,67,67,67,67,67,67,67,67,67,72,73,0,0,0,0,0,0,0,70,71,68,69,69,68,72,73,69,70,71,68,72,73,69,70,71,68,68,69,69,70,71,72,73,69,68,72,73,69,70,71,73,68,72,73,69,70,71,0,0,68,69,0,69,73,68,69,0,69,69,68,72,73,69,70,71,68,72,73,69,70,71,68,72,73,69,70,71,69,69,0,69,0,0,0,76,77,75,0,75,76,77,75,76,77,76,77,75,0,75,76,77,0,75,76,77,75,0,75,75,0,0,75,76,77,75,76,77,75,76,77,0,0,78,78,74,78,74,78,78,78,78,74,78,78,74,74,78,78,78,74,74,74,74,78,78,78,78,74,78,74,78,78,78,78,78,74,78,74,78,74,78,0,0,81,79,81,79,81,79,79,0,0,0,0,0,0,81,79,81,79,79,79,81,79,0,0,79,0,79,81,79,81,79,81,64,64,64,64,64,0,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,0,82,82,82,0,0,0,66,83,82,66,83,82,82,82,82,83,66,83,82,83,83,66,66,66,66,83,82,66,66,66,83,83,83,82,83,66,83,82,66,83,82,66,83,82,0,0,0,0,85,0,84,85,84,85,0,84,85,84,84,84,85,0,0,84,85,84,0,0,84,84,85,84,85,84,85,0,0,0,0,0,0,0,0,0,0,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80,80],"f":[0,[[]],0,0,0,0,0,0,0,0,[[],1],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[2,1],[[3,2],1],[2,2],[[],1],[3,1],[[],1],[3,1],[[]],[[]],[4,3],[[],5],[[],5],[[],6],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[7],[[],5],[[],5],[[],6],[[8,9],10],0,0,0,0,0,0,[[]],[[]],[[]],[11,12],[[]],[[]],[[],5],[[],5],[[],6],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[13,14],[15,15],[[15,15],16],[[]],[[]],[[]],[[]],[[]],[[]],[[],17],[15,15],[[17,15]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[15,15],[[17,15]],0,0,0,0,0,0,0,0,0,0,0,[18,15],[[],19],0,[[],19],[18,15],0,0,0,0,0,0,0,0,0,0,[[],20],[[20,20],20],[[20,20]],[[20,20],20],[[20,20]],[20,2],0,[[20,20],20],[[20,20]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[20,20],[[]],[[20,20],21],[20,20],[[20,20],19],[22,12],[[20,20],20],[[],20],[[20,20],19],[[20,23]],[[20,24],10],[[20,24],10],[[20,24],10],[[20,24],10],[[20,24],10],[[]],[[]],[[]],[[]],[2,[[25,[20]]]],[2,20],[2,20],[23,20],[20],0,0,[[20,20]],[[20,20],20],[[20,20],19],[[]],[[]],[[]],[[]],[20,19],[20,19],[[]],[[20,20],19],[[19,19,[12,[26]]],27],[20,20],0,[[9,20],[[25,[[12,[27]]]]]],[[20,20],[[25,[21]]]],[[27,18],15],[27,[[29,[28]]]],[20],[27,19],0,[[20,20]],[[20,20,19]],[[20,20],20],[[20,20]],[[20,20],20],[[]],[[20,20]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[20,20],20],[27,19],0,[[27,18],15],0,0,0,0,0,0,0,[30,19],0,[30,15],[30,15],[[]],[[]],[[]],[[]],[[]],[[]],0,[31,31],[[]],[[31,31],19],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],30],[[32,18],15],[30,28],[[[12,[[14,[30]]]]],32],[32,19],0,[[30,12]],0,0,[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[32,19],0,[[32,18],15],[[30,28]],0,[[[12,[[14,[30]]]]],32],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[33,18],15],[[34,18],15],[33,19],[34,19],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[33,19],[34,19],[[33,18],15],[[34,18],15],[[]],[35,1],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[36,19],[37,19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[36,38],[37,39],[36,36],[37,37],[38,38],[39,39],[[[41,[40]]],[[41,[40]]]],[[]],[[]],[[]],[[]],[[]],[[36,36],21],[[37,37],21],[[38,38],21],[[39,39],21],0,0,[[36,36],19],[[37,37],19],[[38,38],19],[[39,39],19],[36,38],[37,39],[[36,24],10],[[37,24],10],[[38,24],10],[[39,24],10],[[]],[15,36],[[]],[38,36],[[]],[39,37],[15,37],[[]],[36,38],[15,38],[15,39],[[]],[37,39],[[]],[38],[41],[36],[38],[38],[36],[41],[39],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[41],0,[[36,36],19],[[37,37],19],[[38,38],19],[[39,39],19],[[],42],[[],41],[42,25],[36,15],[37,15],[[36,36],[[25,[21]]]],[[37,37],[[25,[21]]]],[[38,38],[[25,[21]]]],[[39,39],[[25,[21]]]],0,[[]],[38],[39],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],0,0,0,0,0,0,[[],[[25,[38]]]],[43,[[25,[38]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,[38],[[43,38]],[44,14],[45],0,[[45,24],10],[[],[[25,[45]]]],[[]],[38],[[]],[[]],[[]],[[43,38,38]],[[]],[[]],[[]],[[]],[[]],[38,45],[[],43],0,0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],0,0,[46,1],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,[47],[[],48],0,[[48,48],48],[[48,48]],[[48,48],48],[[48,48]],[48,28],0,[[48,48],48],[[48,48]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[49,49],[48,48],[[]],[[]],[[48,48],21],[48,48],[[48,48],19],[[50,51]],0,[52,12],[[48,48],48],0,0,0,[[],48],[[49,49],19],[[48,48],19],0,0,[[48,23]],[[49,24],10],[[48,24],10],[[48,24],10],[[48,24],10],[[48,24],10],[[48,24],10],[[]],[[]],[[]],[[]],[[]],[50,50],[28,[[25,[48]]]],[28,48],[28,48],[[]],[47,47],[23,48],[48],[[48,48]],[[47,37,37,48]],[[48,48],48],[[48,48],19],[[]],[[]],[[]],[[]],[[]],[48,19],[48,19],[[],15],[[50,51]],[[50,51,39]],0,[47],0,[[48,48],19],[[37,37,49,48],50],[[],47],[[],47],[48,48],0,[[48,48],[[25,[21]]]],[[47,50,25]],[47],[[]],[[48,48]],[[47,39]],0,0,[[48,48,19]],0,0,0,[[48,48],48],[[48,48]],[[48,48],48],[[]],[[]],[[48,48]],[47,15],[[47,39],[[25,[53]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[48,48],48],[[50,51]],[[50,51,39]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],54],[[54,54],54],[[54,54]],[[54,54],54],[[54,54]],[54,28],0,0,[[54,54],54],[[54,54]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[54,54],[53,53],[[]],[[]],[[54,54],21],[54,54],[[54,54],19],0,0,[[54,54],54],[[],54],[[],53],[[54,54],19],[53,19],[[54,23]],[[51,39],[[25,[53]]]],[[51,39],[[25,[53]]]],[53,54],[[54,24],10],[[54,24],10],[[54,24],10],[[54,24],10],[[54,24],10],0,[[]],[[]],[[]],[[]],[[]],[28,[[25,[54]]]],[28,54],[28,54],[23,54],[15,51],[54],[[54,54]],[[54,54],54],[[54,54],19],[[]],[[]],[[]],[[]],[[]],[18],[[]],[54,19],[54,19],[53,19],[18,15],[[51,39,38,54]],[[54,54],19],[[],51],[29,18],[[38,54],53],[55,25],[54,54],[[54,54],[[25,[21]]]],[53,38],[53,19],[[54,54]],0,[[54,54,19]],[[54,54],54],[[54,54]],[[54,54],54],[[]],[[]],[[54,54]],[51,15],[[51,39],[[25,[53]]]],[[51,37],[[25,[36]]]],[[15,28,15],29],[15],[15],[[15,28],56],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[54,54],54],[[51,39]],[53,19],0,0,0,0,0,0,0,0,0,[[],15],[15],[[15,15,15,15],15],[15],[[],1],0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],57],[57],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[57,[12,[58]]]],0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[59],[60],0,0,[[],59],[[],60],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[59],[60],0,0,0,[[]],[[]],[[]],[[]],0,[61],[[]],[[]],0,[[]],[[]],[15,61],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[61],0,0,[[]],[[]],[14,62],[[]],0,[[]],[[],14],[[],5],[[],5],[[],6],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[15,63],0,[15,63],[15,63],[[28,2],63],[15,63],[[15,28,15],63],[[15,28,15],63],[[28,15],63],[16,1],[[],63],[[],63],[[],63],[[15,2],63],[[63,16],63],[[],63],[15,63],[15,63],[[15,15],63],[19,63],[15,63],[15,63],[15,63],[15,63],[15,63],[15,63],[[],63],[[15,15],63],[15,16],0,0,0,0,0,0,0,0,0,[[]],0,[[]],[[]],[[]],[[],25],0,[64],0,0,0,0,0,0,[65,12],[16],[[]],0,[[]],0,0,0,0,0,0,0,[[[12,[66]]]],0,0,0,0,[[]],0,0,0,[[],5],[[],5],[[],6],0,[[]],[[]],[[]],[15,67],[[]],0,0,0,[[],5],[[],5],[[],6],[[],67],0,0,0,0,0,0,0,0,0,0,0,[68,15],[69],[69],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[68,15]],[69],[69],[70,14],[71,14],[72],[73],[69],[[]],[[]],[[]],[[]],[[]],[[]],[73,15],[[]],[[]],[[]],[[]],[[]],[[]],[15],[[],73],[[],68],[[[12,[74]],15,19],69],[[],72],0,[73],0,0,[15,15],[69,38],[69,15],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[69,15],0,[[15,15],15],[69,15],0,0,0,0,0,[[75,[12,[66]]]],[[[12,[66]]]],[[]],[[]],[[]],[[]],[[]],[[]],[76,14],[77,14],[75,[[25,[[12,[66]]]]]],[[],[[25,[[12,[66]]]]]],[[]],[[]],[[]],[[15,[12,[74]]]],[[]],[[]],[[]],[[],75],[15,[[25,[[12,[74]]]]]],0,[[75,[12,[66]]]],[15],[[[12,[66]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],0,0,[78,15],[78,15],[[]],[[]],[[]],[[]],0,0,[[78,15]],[[12,[29,[56]]]],0,0,[12,[[12,[74]]]],[[]],[[]],[[78,15],[[12,[66]]]],[78,15],[74,15],0,[74,[[62,[78]]]],[[]],[[]],0,0,0,[[],[[12,[74]]]],0,0,0,0,0,0,[78,15],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],0,0,0,[[]],[[]],[[]],[[]],[79,[[25,[[12,[66]]]]]],0,[[],15],[[],[[12,[74]]]],[[],[[25,[[12,[66]]]]]],[[],80],[[],15],[[],15],[81,14],[[]],[[]],[79,67],0,[[]],[[]],[[],79],[[]],[67],[79,[[25,[[12,[66]]]]]],[[],[[25,[[12,[66]]]]]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],0,0,0,0,0,0,[[],64],[[64,64],64],[[64,64]],[[64,64],64],[[64,64]],[64,2],0,[[64,64],64],[[64,64]],[[]],[[]],[64,25],[64,64],[[]],[[64,64],21],[64,64],[[64,64],19],[[64,64],64],[[],64],[[64,64],19],[[64,23]],[[64,24],10],[[64,24],10],[[64,24],10],[[64,24],10],[[64,24],10],[[]],[2,[[25,[64]]]],[2,64],[2,64],[23,64],[64],[[64,64]],[[64,64],64],[[64,64],19],[[]],[64,19],[64,19],[[64,64],19],[64,64],[[64,64],[[25,[21]]]],[[64,64]],[[64,64,19]],[[64,64],64],[[64,64]],[[64,64],64],[[]],[[64,64]],[[],5],[[],5],[[],6],[[64,64],64],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[82,82],[[]],[[82,82],19],0,[[]],[[]],[[]],[83,82],[83,80],[66,15],0,[66,[[62,[83]]]],[[]],[[]],[[]],0,[[[12,[74]],15,19],66],0,0,0,0,[[]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],0,0,0,0,0,[[15,[12,[66]]]],[[]],[[]],[[]],[[]],[[]],[[84,84],21],[85,14],[[84,84],19],0,[[]],[[]],[[],15],[[],15],[[]],[[]],[[84,84],[[25,[21]]]],[[[12,[66]]]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],0,[[15,15,15,15,15],80],[[]],[[]],[[80,24],10],[[]],[[]],0,0,0,[[80,15]],0,0,[[],5],[[],5],[[],6],0],"p":[[15,"never"],[15,"u32"],[3,"RISCV64"],[15,"u64"],[4,"Result"],[3,"TypeId"],[3,"Arguments"],[3,"Stdout"],[15,"str"],[6,"Result"],[3,"BLOCK_DEVICE"],[3,"Arc"],[3,"QUEUE_FRAMES"],[3,"UPSafeCell"],[15,"usize"],[15,"i32"],[3,"VirtIOBlock"],[3,"UserBuffer"],[15,"bool"],[3,"OpenFlags"],[4,"Ordering"],[3,"ROOT_INODE"],[8,"IntoIterator"],[3,"Formatter"],[4,"Option"],[3,"Inode"],[3,"OSInode"],[15,"u8"],[3,"Vec"],[3,"PipeRingBuffer"],[4,"RingBufferStatus"],[3,"Pipe"],[3,"Stdin"],[3,"Stdout"],[3,"PanicInfo"],[3,"PhysAddr"],[3,"VirtAddr"],[3,"PhysPageNum"],[3,"VirtPageNum"],[8,"Clone"],[3,"SimpleRange"],[3,"SimpleRangeIterator"],[3,"StackFrameAllocator"],[3,"FRAME_ALLOCATOR"],[3,"FrameTracker"],[3,"Layout"],[3,"MemorySet"],[3,"MapPermission"],[4,"MapType"],[3,"MapArea"],[3,"PageTable"],[3,"KERNEL_SPACE"],[3,"PageTableEntry"],[3,"PTEFlags"],[3,"UserBufferIterator"],[3,"String"],[3,"Condvar"],[8,"Mutex"],[3,"MutexSpin"],[3,"MutexBlocking"],[3,"Semaphore"],[3,"RefMut"],[15,"isize"],[3,"SignalFlags"],[3,"INITPROC"],[3,"TaskControlBlock"],[3,"TaskContext"],[3,"RecycleAllocator"],[3,"TaskUserRes"],[3,"PID_ALLOCATOR"],[3,"KSTACK_ALLOCATOR"],[3,"PidHandle"],[3,"KernelStack"],[3,"ProcessControlBlock"],[3,"TaskManager"],[3,"TASK_MANAGER"],[3,"PID2PCB"],[3,"ProcessControlBlockInner"],[3,"Processor"],[3,"TrapContext"],[3,"PROCESSOR"],[4,"TaskStatus"],[3,"TaskControlBlockInner"],[3,"TimerCondVar"],[3,"TIMERS"],[8,"QEMUExit"],[3,"VirtioHal"],[8,"File"],[3,"OSInodeInner"],[8,"StepByOne"],[8,"FrameAllocator"],[3,"CondvarInner"],[3,"MutexBlockingInner"],[3,"SemaphoreInner"]]}\ }'); if (typeof window !== 'undefined' && window.initSearch) {window.initSearch(searchIndex)}; if (typeof exports !== 'undefined') {exports.searchIndex = searchIndex}; diff --git a/ch8/src/os/boards/qemu.rs.html b/ch8/src/os/boards/qemu.rs.html index de156d4e..39cb27e4 100644 --- a/ch8/src/os/boards/qemu.rs.html +++ b/ch8/src/os/boards/qemu.rs.html @@ -88,7 +88,7 @@ 88 89
pub const CLOCK_FREQ: usize = 12500000;
-pub const MEMORY_END: usize = 0x801000000;
+//pub const MEMORY_END: usize = 0x801000000;
 
 pub const MMIO: &[(usize, usize)] = &[
     (0x0010_0000, 0x00_2000), // VIRT_TEST/RTC  in virt machine