diff --git a/issue-104/implementors/core/marker/trait.Freeze.js b/issue-104/implementors/core/marker/trait.Freeze.js index 52368e3c..3ae99fe0 100644 --- a/issue-104/implementors/core/marker/trait.Freeze.js +++ b/issue-104/implementors/core/marker/trait.Freeze.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["os"] = [{"text":"impl Freeze for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl Freeze for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl !Freeze for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl Freeze for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl Freeze for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl Freeze for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl Freeze for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl Freeze for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl Freeze for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl Freeze for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl Freeze for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl Freeze for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl Freeze for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> !Freeze for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl Freeze for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl Freeze for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl !Freeze for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl Freeze for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl !Freeze for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl Freeze for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl Freeze for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl Freeze for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl !Freeze for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl Freeze for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl Freeze for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl !Freeze for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl Freeze for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl Freeze for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl Freeze for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl Freeze for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl Freeze for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl Freeze for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl Freeze for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl Freeze for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl Freeze for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl Freeze for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl Freeze for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl Freeze for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> Freeze for SimpleRange<T> where
    T: Freeze
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> Freeze for SimpleRangeIterator<T> where
    T: Freeze
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl Freeze for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl Freeze for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl Freeze for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl Freeze for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl Freeze for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl Freeze for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl Freeze for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl Freeze for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl Freeze for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl Freeze for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl Freeze for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl Freeze for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl Freeze for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl !Freeze for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl Freeze for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl !Freeze for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl !Freeze for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl Freeze for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl !Freeze for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl Freeze for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl<T> !Freeze for UPSafeCellRaw<T>","synthetic":true,"types":["os::sync::up::UPSafeCellRaw"]},{"text":"impl Freeze for IntrMaskingInfo","synthetic":true,"types":["os::sync::up::IntrMaskingInfo"]},{"text":"impl Freeze for INTR_MASKING_INFO","synthetic":true,"types":["os::sync::up::INTR_MASKING_INFO"]},{"text":"impl<T> !Freeze for UPIntrFreeCell<T>","synthetic":true,"types":["os::sync::up::UPIntrFreeCell"]},{"text":"impl<'a, T> Freeze for UPIntrRefMut<'a, T>","synthetic":true,"types":["os::sync::up::UPIntrRefMut"]},{"text":"impl Freeze for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl Freeze for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl Freeze for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl Freeze for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl Freeze for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl Freeze for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl Freeze for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl Freeze for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl Freeze for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl Freeze for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl !Freeze for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl Freeze for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl Freeze for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl Freeze for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl Freeze for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl !Freeze for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl Freeze for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl Freeze for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl Freeze for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl Freeze for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl Freeze for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl Freeze for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl Freeze for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl Freeze for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl Freeze for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl !Freeze for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl Freeze for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl Freeze for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; +implementors["os"] = [{"text":"impl Freeze for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl Freeze for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl !Freeze for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl Freeze for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl Freeze for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl Freeze for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl Freeze for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl Freeze for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl Freeze for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl Freeze for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl Freeze for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl Freeze for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl Freeze for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> !Freeze for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl Freeze for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl Freeze for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl !Freeze for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl Freeze for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl !Freeze for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl Freeze for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl Freeze for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl Freeze for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl !Freeze for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl Freeze for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl Freeze for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl !Freeze for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl Freeze for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl Freeze for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl Freeze for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl Freeze for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl Freeze for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl Freeze for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl Freeze for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl Freeze for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl Freeze for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl Freeze for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl Freeze for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl Freeze for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> Freeze for SimpleRange<T> where
    T: Freeze
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> Freeze for SimpleRangeIterator<T> where
    T: Freeze
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl Freeze for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl Freeze for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl Freeze for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl Freeze for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl Freeze for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl Freeze for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl Freeze for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl Freeze for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl Freeze for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl Freeze for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl Freeze for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl Freeze for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl Freeze for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl !Freeze for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl Freeze for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl !Freeze for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl !Freeze for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl Freeze for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl !Freeze for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl Freeze for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl Freeze for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl Freeze for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl Freeze for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl Freeze for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl Freeze for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl Freeze for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl Freeze for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl Freeze for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl Freeze for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl Freeze for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl !Freeze for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl Freeze for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl Freeze for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl Freeze for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl Freeze for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl !Freeze for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl Freeze for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl Freeze for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl Freeze for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl Freeze for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl Freeze for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl Freeze for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl Freeze for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl Freeze for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl Freeze for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl !Freeze for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl Freeze for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl Freeze for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/issue-104/implementors/core/marker/trait.Send.js b/issue-104/implementors/core/marker/trait.Send.js index 146fc97b..45b0c653 100644 --- a/issue-104/implementors/core/marker/trait.Send.js +++ b/issue-104/implementors/core/marker/trait.Send.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["os"] = [{"text":"impl Send for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl Send for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl Send for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl Send for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl Send for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl Send for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl Send for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl Send for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl Send for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl Send for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl Send for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl Send for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl Send for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> Send for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl Send for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl Send for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl Send for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl Send for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl Send for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl Send for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl Send for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl Send for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl Send for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl Send for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl Send for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl Send for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl Send for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl Send for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl Send for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl Send for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl Send for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl Send for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl Send for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl Send for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl Send for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl Send for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl Send for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl Send for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> Send for SimpleRange<T> where
    T: Send
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> Send for SimpleRangeIterator<T> where
    T: Send
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl Send for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl Send for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl Send for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl Send for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl Send for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl Send for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl Send for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl Send for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl Send for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl Send for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl Send for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl Send for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl Send for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl Send for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl Send for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl Send for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl Send for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl Send for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl Send for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl Send for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl<T> Send for UPSafeCellRaw<T> where
    T: Send
","synthetic":true,"types":["os::sync::up::UPSafeCellRaw"]},{"text":"impl Send for IntrMaskingInfo","synthetic":true,"types":["os::sync::up::IntrMaskingInfo"]},{"text":"impl Send for INTR_MASKING_INFO","synthetic":true,"types":["os::sync::up::INTR_MASKING_INFO"]},{"text":"impl<T> Send for UPIntrFreeCell<T> where
    T: Send
","synthetic":true,"types":["os::sync::up::UPIntrFreeCell"]},{"text":"impl<'a, T> !Send for UPIntrRefMut<'a, T>","synthetic":true,"types":["os::sync::up::UPIntrRefMut"]},{"text":"impl Send for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl Send for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl Send for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl Send for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl Send for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl Send for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl Send for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl Send for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl Send for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl Send for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl Send for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl Send for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl Send for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl Send for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl Send for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl Send for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl Send for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl Send for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl Send for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl Send for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl Send for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl Send for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl Send for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl Send for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl Send for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl Send for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl Send for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl Send for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; +implementors["os"] = [{"text":"impl Send for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl Send for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl Send for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl Send for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl Send for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl Send for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl Send for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl Send for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl Send for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl Send for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl Send for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl Send for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl Send for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> Send for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl Send for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl Send for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl Send for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl Send for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl Send for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl Send for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl Send for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl Send for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl Send for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl Send for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl Send for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl Send for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl Send for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl Send for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl Send for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl Send for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl Send for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl Send for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl Send for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl Send for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl Send for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl Send for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl Send for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl Send for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> Send for SimpleRange<T> where
    T: Send
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> Send for SimpleRangeIterator<T> where
    T: Send
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl Send for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl Send for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl Send for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl Send for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl Send for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl Send for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl Send for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl Send for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl Send for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl Send for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl Send for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl Send for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl Send for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl Send for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl Send for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl Send for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl Send for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl Send for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl Send for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl Send for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl Send for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl Send for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl Send for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl Send for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl Send for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl Send for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl Send for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl Send for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl Send for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl Send for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl Send for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl Send for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl Send for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl Send for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl Send for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl Send for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl Send for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl Send for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl Send for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl Send for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl Send for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl Send for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl Send for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl Send for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl Send for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl Send for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl Send for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl Send for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/issue-104/implementors/core/marker/trait.Sync.js b/issue-104/implementors/core/marker/trait.Sync.js index ee493075..99562165 100644 --- a/issue-104/implementors/core/marker/trait.Sync.js +++ b/issue-104/implementors/core/marker/trait.Sync.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["os"] = [{"text":"impl Sync for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl Sync for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl Sync for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl Sync for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl Sync for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl Sync for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl Sync for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl Sync for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl Sync for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl Sync for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl Sync for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl Sync for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl Sync for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> Sync for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl Sync for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl Sync for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl Sync for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl Sync for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl Sync for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl Sync for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl Sync for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl Sync for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl Sync for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl Sync for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl Sync for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl Sync for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl Sync for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl Sync for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl Sync for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl Sync for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl Sync for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl Sync for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl Sync for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl Sync for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl Sync for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl Sync for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl Sync for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl Sync for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> Sync for SimpleRange<T> where
    T: Sync
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> Sync for SimpleRangeIterator<T> where
    T: Sync
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl Sync for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl Sync for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl Sync for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl Sync for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl Sync for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl Sync for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl Sync for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl Sync for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl Sync for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl Sync for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl Sync for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl Sync for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl Sync for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl Sync for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl Sync for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl Sync for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl Sync for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl Sync for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl Sync for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl Sync for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl Sync for IntrMaskingInfo","synthetic":true,"types":["os::sync::up::IntrMaskingInfo"]},{"text":"impl Sync for INTR_MASKING_INFO","synthetic":true,"types":["os::sync::up::INTR_MASKING_INFO"]},{"text":"impl<'a, T> !Sync for UPIntrRefMut<'a, T>","synthetic":true,"types":["os::sync::up::UPIntrRefMut"]},{"text":"impl Sync for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl Sync for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl Sync for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl Sync for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl Sync for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl Sync for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl Sync for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl Sync for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl Sync for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl Sync for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl Sync for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl Sync for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl Sync for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl Sync for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl Sync for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl Sync for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl Sync for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl Sync for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl Sync for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl Sync for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl Sync for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl Sync for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl Sync for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl Sync for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl Sync for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl Sync for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl Sync for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl Sync for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]},{"text":"impl<T> Sync for UPSafeCellRaw<T>","synthetic":false,"types":["os::sync::up::UPSafeCellRaw"]},{"text":"impl<T> Sync for UPIntrFreeCell<T>","synthetic":false,"types":["os::sync::up::UPIntrFreeCell"]}]; +implementors["os"] = [{"text":"impl Sync for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl Sync for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl Sync for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl Sync for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl Sync for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl Sync for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl Sync for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl Sync for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl Sync for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl Sync for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl Sync for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl Sync for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl Sync for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> Sync for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl Sync for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl Sync for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl Sync for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl Sync for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl Sync for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl Sync for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl Sync for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl Sync for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl Sync for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl Sync for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl Sync for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl Sync for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl Sync for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl Sync for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl Sync for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl Sync for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl Sync for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl Sync for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl Sync for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl Sync for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl Sync for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl Sync for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl Sync for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl Sync for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> Sync for SimpleRange<T> where
    T: Sync
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> Sync for SimpleRangeIterator<T> where
    T: Sync
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl Sync for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl Sync for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl Sync for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl Sync for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl Sync for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl Sync for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl Sync for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl Sync for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl Sync for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl Sync for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl Sync for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl Sync for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl Sync for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl Sync for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl Sync for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl Sync for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl Sync for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl Sync for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl Sync for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl Sync for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl Sync for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl Sync for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl Sync for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl Sync for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl Sync for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl Sync for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl Sync for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl Sync for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl Sync for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl Sync for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl Sync for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl Sync for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl Sync for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl Sync for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl Sync for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl Sync for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl Sync for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl Sync for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl Sync for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl Sync for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl Sync for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl Sync for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl Sync for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl Sync for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl Sync for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl Sync for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl Sync for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl Sync for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/issue-104/implementors/core/marker/trait.Unpin.js b/issue-104/implementors/core/marker/trait.Unpin.js index 46846f3d..eb96bcbe 100644 --- a/issue-104/implementors/core/marker/trait.Unpin.js +++ b/issue-104/implementors/core/marker/trait.Unpin.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["os"] = [{"text":"impl Unpin for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl Unpin for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl Unpin for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl Unpin for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl Unpin for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl Unpin for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl Unpin for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl Unpin for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl Unpin for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl Unpin for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl Unpin for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl Unpin for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl Unpin for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> Unpin for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl Unpin for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl Unpin for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl Unpin for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl Unpin for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl Unpin for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl Unpin for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl Unpin for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl Unpin for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl Unpin for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl Unpin for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl Unpin for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl Unpin for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl Unpin for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl Unpin for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl Unpin for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl Unpin for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl Unpin for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl Unpin for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl Unpin for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl Unpin for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl Unpin for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl Unpin for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl Unpin for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl Unpin for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> Unpin for SimpleRange<T> where
    T: Unpin
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> Unpin for SimpleRangeIterator<T> where
    T: Unpin
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl Unpin for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl Unpin for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl Unpin for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl Unpin for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl Unpin for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl Unpin for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl Unpin for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl Unpin for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl Unpin for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl Unpin for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl Unpin for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl Unpin for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl Unpin for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl Unpin for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl Unpin for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl Unpin for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl Unpin for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl Unpin for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl Unpin for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl Unpin for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl<T> Unpin for UPSafeCellRaw<T> where
    T: Unpin
","synthetic":true,"types":["os::sync::up::UPSafeCellRaw"]},{"text":"impl Unpin for IntrMaskingInfo","synthetic":true,"types":["os::sync::up::IntrMaskingInfo"]},{"text":"impl Unpin for INTR_MASKING_INFO","synthetic":true,"types":["os::sync::up::INTR_MASKING_INFO"]},{"text":"impl<T> Unpin for UPIntrFreeCell<T> where
    T: Unpin
","synthetic":true,"types":["os::sync::up::UPIntrFreeCell"]},{"text":"impl<'a, T> Unpin for UPIntrRefMut<'a, T>","synthetic":true,"types":["os::sync::up::UPIntrRefMut"]},{"text":"impl Unpin for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl Unpin for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl Unpin for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl Unpin for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl Unpin for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl Unpin for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl Unpin for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl Unpin for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl Unpin for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl Unpin for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl Unpin for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl Unpin for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl Unpin for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl Unpin for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl Unpin for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl Unpin for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl Unpin for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl Unpin for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl Unpin for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl Unpin for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl Unpin for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl Unpin for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl Unpin for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl Unpin for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl Unpin for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl Unpin for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl Unpin for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl Unpin for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; +implementors["os"] = [{"text":"impl Unpin for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl Unpin for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl Unpin for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl Unpin for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl Unpin for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl Unpin for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl Unpin for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl Unpin for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl Unpin for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl Unpin for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl Unpin for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl Unpin for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl Unpin for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> Unpin for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl Unpin for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl Unpin for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl Unpin for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl Unpin for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl Unpin for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl Unpin for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl Unpin for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl Unpin for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl Unpin for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl Unpin for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl Unpin for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl Unpin for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl Unpin for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl Unpin for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl Unpin for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl Unpin for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl Unpin for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl Unpin for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl Unpin for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl Unpin for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl Unpin for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl Unpin for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl Unpin for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl Unpin for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> Unpin for SimpleRange<T> where
    T: Unpin
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> Unpin for SimpleRangeIterator<T> where
    T: Unpin
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl Unpin for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl Unpin for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl Unpin for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl Unpin for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl Unpin for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl Unpin for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl Unpin for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl Unpin for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl Unpin for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl Unpin for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl Unpin for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl Unpin for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl Unpin for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl Unpin for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl Unpin for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl Unpin for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl Unpin for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl Unpin for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl Unpin for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl Unpin for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl Unpin for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl Unpin for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl Unpin for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl Unpin for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl Unpin for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl Unpin for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl Unpin for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl Unpin for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl Unpin for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl Unpin for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl Unpin for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl Unpin for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl Unpin for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl Unpin for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl Unpin for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl Unpin for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl Unpin for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl Unpin for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl Unpin for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl Unpin for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl Unpin for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl Unpin for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl Unpin for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl Unpin for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl Unpin for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl Unpin for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl Unpin for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl Unpin for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/issue-104/implementors/core/ops/deref/trait.Deref.js b/issue-104/implementors/core/ops/deref/trait.Deref.js index 85d23d3a..e7e1a037 100644 --- a/issue-104/implementors/core/ops/deref/trait.Deref.js +++ b/issue-104/implementors/core/ops/deref/trait.Deref.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["os"] = [{"text":"impl Deref for BLOCK_DEVICE","synthetic":false,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl Deref for QUEUE_FRAMES","synthetic":false,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl Deref for UART","synthetic":false,"types":["os::drivers::chardev::UART"]},{"text":"impl Deref for GPU_DEVICE","synthetic":false,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl Deref for KEYBOARD_DEVICE","synthetic":false,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl Deref for MOUSE_DEVICE","synthetic":false,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl Deref for NET_DEVICE","synthetic":false,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl Deref for ROOT_INODE","synthetic":false,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl Deref for FRAME_ALLOCATOR","synthetic":false,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl Deref for KERNEL_SPACE","synthetic":false,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl Deref for INTR_MASKING_INFO","synthetic":false,"types":["os::sync::up::INTR_MASKING_INFO"]},{"text":"impl<'a, T> Deref for UPIntrRefMut<'a, T>","synthetic":false,"types":["os::sync::up::UPIntrRefMut"]},{"text":"impl Deref for PID_ALLOCATOR","synthetic":false,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl Deref for KSTACK_ALLOCATOR","synthetic":false,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl Deref for TASK_MANAGER","synthetic":false,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl Deref for PID2PCB","synthetic":false,"types":["os::task::manager::PID2PCB"]},{"text":"impl Deref for PROCESSOR","synthetic":false,"types":["os::task::processor::PROCESSOR"]},{"text":"impl Deref for INITPROC","synthetic":false,"types":["os::task::INITPROC"]},{"text":"impl Deref for TIMERS","synthetic":false,"types":["os::timer::TIMERS"]},{"text":"impl Deref for SOCKET_TABLE","synthetic":false,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl Deref for LOSE_NET_STACK","synthetic":false,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl Deref for DEV_NON_BLOCKING_ACCESS","synthetic":false,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; +implementors["os"] = [{"text":"impl Deref for BLOCK_DEVICE","synthetic":false,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl Deref for QUEUE_FRAMES","synthetic":false,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl Deref for UART","synthetic":false,"types":["os::drivers::chardev::UART"]},{"text":"impl Deref for GPU_DEVICE","synthetic":false,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl Deref for KEYBOARD_DEVICE","synthetic":false,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl Deref for MOUSE_DEVICE","synthetic":false,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl Deref for NET_DEVICE","synthetic":false,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl Deref for ROOT_INODE","synthetic":false,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl Deref for FRAME_ALLOCATOR","synthetic":false,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl Deref for KERNEL_SPACE","synthetic":false,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl Deref for PID_ALLOCATOR","synthetic":false,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl Deref for KSTACK_ALLOCATOR","synthetic":false,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl Deref for TASK_MANAGER","synthetic":false,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl Deref for PID2PCB","synthetic":false,"types":["os::task::manager::PID2PCB"]},{"text":"impl Deref for PROCESSOR","synthetic":false,"types":["os::task::processor::PROCESSOR"]},{"text":"impl Deref for INITPROC","synthetic":false,"types":["os::task::INITPROC"]},{"text":"impl Deref for TIMERS","synthetic":false,"types":["os::timer::TIMERS"]},{"text":"impl Deref for SOCKET_TABLE","synthetic":false,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl Deref for LOSE_NET_STACK","synthetic":false,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl Deref for DEV_NON_BLOCKING_ACCESS","synthetic":false,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/issue-104/implementors/core/ops/deref/trait.DerefMut.js b/issue-104/implementors/core/ops/deref/trait.DerefMut.js deleted file mode 100644 index 764822db..00000000 --- a/issue-104/implementors/core/ops/deref/trait.DerefMut.js +++ /dev/null @@ -1,3 +0,0 @@ -(function() {var implementors = {}; -implementors["os"] = [{"text":"impl<'a, T> DerefMut for UPIntrRefMut<'a, T>","synthetic":false,"types":["os::sync::up::UPIntrRefMut"]}]; -if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/issue-104/implementors/core/ops/drop/trait.Drop.js b/issue-104/implementors/core/ops/drop/trait.Drop.js index 431e032c..e893a0e2 100644 --- a/issue-104/implementors/core/ops/drop/trait.Drop.js +++ b/issue-104/implementors/core/ops/drop/trait.Drop.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["os"] = [{"text":"impl Drop for FrameTracker","synthetic":false,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl<'a, T> Drop for UPIntrRefMut<'a, T>","synthetic":false,"types":["os::sync::up::UPIntrRefMut"]},{"text":"impl Drop for PidHandle","synthetic":false,"types":["os::task::id::PidHandle"]},{"text":"impl Drop for KernelStack","synthetic":false,"types":["os::task::id::KernelStack"]},{"text":"impl Drop for TaskUserRes","synthetic":false,"types":["os::task::id::TaskUserRes"]},{"text":"impl Drop for UDP","synthetic":false,"types":["os::net::udp::UDP"]}]; +implementors["os"] = [{"text":"impl Drop for FrameTracker","synthetic":false,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl Drop for PidHandle","synthetic":false,"types":["os::task::id::PidHandle"]},{"text":"impl Drop for KernelStack","synthetic":false,"types":["os::task::id::KernelStack"]},{"text":"impl Drop for TaskUserRes","synthetic":false,"types":["os::task::id::TaskUserRes"]},{"text":"impl Drop for UDP","synthetic":false,"types":["os::net::udp::UDP"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/issue-104/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js b/issue-104/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js index 4484a872..27967d40 100644 --- a/issue-104/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js +++ b/issue-104/implementors/core/panic/unwind_safe/trait.RefUnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["os"] = [{"text":"impl RefUnwindSafe for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl RefUnwindSafe for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl !RefUnwindSafe for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl RefUnwindSafe for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl RefUnwindSafe for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl RefUnwindSafe for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl RefUnwindSafe for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl RefUnwindSafe for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl RefUnwindSafe for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl RefUnwindSafe for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl RefUnwindSafe for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl RefUnwindSafe for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl RefUnwindSafe for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> !RefUnwindSafe for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl RefUnwindSafe for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl RefUnwindSafe for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl !RefUnwindSafe for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl RefUnwindSafe for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl !RefUnwindSafe for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl RefUnwindSafe for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl RefUnwindSafe for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl RefUnwindSafe for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl !RefUnwindSafe for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl RefUnwindSafe for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl RefUnwindSafe for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl !RefUnwindSafe for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl !RefUnwindSafe for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl RefUnwindSafe for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl RefUnwindSafe for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl !RefUnwindSafe for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl RefUnwindSafe for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl !RefUnwindSafe for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl RefUnwindSafe for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl RefUnwindSafe for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl RefUnwindSafe for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl RefUnwindSafe for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl RefUnwindSafe for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl RefUnwindSafe for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> RefUnwindSafe for SimpleRange<T> where
    T: RefUnwindSafe
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> RefUnwindSafe for SimpleRangeIterator<T> where
    T: RefUnwindSafe
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl RefUnwindSafe for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl RefUnwindSafe for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl RefUnwindSafe for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl RefUnwindSafe for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl RefUnwindSafe for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl RefUnwindSafe for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl RefUnwindSafe for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl RefUnwindSafe for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl RefUnwindSafe for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl RefUnwindSafe for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl RefUnwindSafe for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl RefUnwindSafe for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl RefUnwindSafe for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl !RefUnwindSafe for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl !RefUnwindSafe for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl !RefUnwindSafe for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl !RefUnwindSafe for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl !RefUnwindSafe for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl !RefUnwindSafe for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl !RefUnwindSafe for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl<T> !RefUnwindSafe for UPSafeCellRaw<T>","synthetic":true,"types":["os::sync::up::UPSafeCellRaw"]},{"text":"impl RefUnwindSafe for IntrMaskingInfo","synthetic":true,"types":["os::sync::up::IntrMaskingInfo"]},{"text":"impl RefUnwindSafe for INTR_MASKING_INFO","synthetic":true,"types":["os::sync::up::INTR_MASKING_INFO"]},{"text":"impl<T> !RefUnwindSafe for UPIntrFreeCell<T>","synthetic":true,"types":["os::sync::up::UPIntrFreeCell"]},{"text":"impl<'a, T> !RefUnwindSafe for UPIntrRefMut<'a, T>","synthetic":true,"types":["os::sync::up::UPIntrRefMut"]},{"text":"impl RefUnwindSafe for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl RefUnwindSafe for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl RefUnwindSafe for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl RefUnwindSafe for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl RefUnwindSafe for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl RefUnwindSafe for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl !RefUnwindSafe for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl !RefUnwindSafe for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl RefUnwindSafe for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl RefUnwindSafe for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl !RefUnwindSafe for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl !RefUnwindSafe for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl !RefUnwindSafe for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl RefUnwindSafe for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl RefUnwindSafe for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl !RefUnwindSafe for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl !RefUnwindSafe for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl RefUnwindSafe for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl RefUnwindSafe for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl !RefUnwindSafe for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl RefUnwindSafe for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl RefUnwindSafe for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl RefUnwindSafe for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl RefUnwindSafe for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl RefUnwindSafe for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl !RefUnwindSafe for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl RefUnwindSafe for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl RefUnwindSafe for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; +implementors["os"] = [{"text":"impl RefUnwindSafe for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl RefUnwindSafe for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl !RefUnwindSafe for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl RefUnwindSafe for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl RefUnwindSafe for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl RefUnwindSafe for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl RefUnwindSafe for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl RefUnwindSafe for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl RefUnwindSafe for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl RefUnwindSafe for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl RefUnwindSafe for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl RefUnwindSafe for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl RefUnwindSafe for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> !RefUnwindSafe for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl RefUnwindSafe for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl RefUnwindSafe for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl !RefUnwindSafe for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl RefUnwindSafe for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl !RefUnwindSafe for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl RefUnwindSafe for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl RefUnwindSafe for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl RefUnwindSafe for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl !RefUnwindSafe for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl RefUnwindSafe for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl RefUnwindSafe for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl !RefUnwindSafe for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl !RefUnwindSafe for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl RefUnwindSafe for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl RefUnwindSafe for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl !RefUnwindSafe for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl RefUnwindSafe for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl !RefUnwindSafe for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl RefUnwindSafe for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl RefUnwindSafe for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl RefUnwindSafe for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl RefUnwindSafe for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl RefUnwindSafe for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl RefUnwindSafe for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> RefUnwindSafe for SimpleRange<T> where
    T: RefUnwindSafe
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> RefUnwindSafe for SimpleRangeIterator<T> where
    T: RefUnwindSafe
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl RefUnwindSafe for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl RefUnwindSafe for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl RefUnwindSafe for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl RefUnwindSafe for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl RefUnwindSafe for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl RefUnwindSafe for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl RefUnwindSafe for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl RefUnwindSafe for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl RefUnwindSafe for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl RefUnwindSafe for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl RefUnwindSafe for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl RefUnwindSafe for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl RefUnwindSafe for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl !RefUnwindSafe for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl !RefUnwindSafe for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl !RefUnwindSafe for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl !RefUnwindSafe for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl !RefUnwindSafe for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl !RefUnwindSafe for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl !RefUnwindSafe for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl RefUnwindSafe for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl RefUnwindSafe for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl RefUnwindSafe for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl RefUnwindSafe for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl RefUnwindSafe for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl RefUnwindSafe for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl !RefUnwindSafe for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl !RefUnwindSafe for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl RefUnwindSafe for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl RefUnwindSafe for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl !RefUnwindSafe for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl !RefUnwindSafe for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl !RefUnwindSafe for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl RefUnwindSafe for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl RefUnwindSafe for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl !RefUnwindSafe for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl !RefUnwindSafe for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl RefUnwindSafe for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl RefUnwindSafe for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl !RefUnwindSafe for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl RefUnwindSafe for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl RefUnwindSafe for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl RefUnwindSafe for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl RefUnwindSafe for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl RefUnwindSafe for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl !RefUnwindSafe for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl RefUnwindSafe for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl RefUnwindSafe for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/issue-104/implementors/core/panic/unwind_safe/trait.UnwindSafe.js b/issue-104/implementors/core/panic/unwind_safe/trait.UnwindSafe.js index 56108ab1..5587d53c 100644 --- a/issue-104/implementors/core/panic/unwind_safe/trait.UnwindSafe.js +++ b/issue-104/implementors/core/panic/unwind_safe/trait.UnwindSafe.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["os"] = [{"text":"impl UnwindSafe for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl UnwindSafe for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl !UnwindSafe for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl UnwindSafe for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl UnwindSafe for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl UnwindSafe for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl UnwindSafe for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl UnwindSafe for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl UnwindSafe for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl UnwindSafe for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl UnwindSafe for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl UnwindSafe for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl UnwindSafe for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> !UnwindSafe for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl UnwindSafe for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl UnwindSafe for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl !UnwindSafe for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl !UnwindSafe for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl !UnwindSafe for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl UnwindSafe for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl UnwindSafe for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl UnwindSafe for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl !UnwindSafe for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl UnwindSafe for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl UnwindSafe for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl !UnwindSafe for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl !UnwindSafe for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl UnwindSafe for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl UnwindSafe for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl !UnwindSafe for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl UnwindSafe for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl !UnwindSafe for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl UnwindSafe for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl UnwindSafe for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl UnwindSafe for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl UnwindSafe for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl UnwindSafe for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl UnwindSafe for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> UnwindSafe for SimpleRange<T> where
    T: UnwindSafe
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> UnwindSafe for SimpleRangeIterator<T> where
    T: UnwindSafe
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl UnwindSafe for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl UnwindSafe for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl UnwindSafe for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl UnwindSafe for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl UnwindSafe for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl UnwindSafe for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl UnwindSafe for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl UnwindSafe for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl UnwindSafe for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl UnwindSafe for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl UnwindSafe for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl !UnwindSafe for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl !UnwindSafe for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl !UnwindSafe for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl !UnwindSafe for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl UnwindSafe for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl !UnwindSafe for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl !UnwindSafe for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl !UnwindSafe for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl !UnwindSafe for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl<T> UnwindSafe for UPSafeCellRaw<T> where
    T: UnwindSafe
","synthetic":true,"types":["os::sync::up::UPSafeCellRaw"]},{"text":"impl UnwindSafe for IntrMaskingInfo","synthetic":true,"types":["os::sync::up::IntrMaskingInfo"]},{"text":"impl UnwindSafe for INTR_MASKING_INFO","synthetic":true,"types":["os::sync::up::INTR_MASKING_INFO"]},{"text":"impl<T> UnwindSafe for UPIntrFreeCell<T> where
    T: UnwindSafe
","synthetic":true,"types":["os::sync::up::UPIntrFreeCell"]},{"text":"impl<'a, T> !UnwindSafe for UPIntrRefMut<'a, T>","synthetic":true,"types":["os::sync::up::UPIntrRefMut"]},{"text":"impl UnwindSafe for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl UnwindSafe for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl UnwindSafe for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl UnwindSafe for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl UnwindSafe for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl UnwindSafe for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl !UnwindSafe for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl !UnwindSafe for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl UnwindSafe for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl UnwindSafe for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl !UnwindSafe for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl !UnwindSafe for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl !UnwindSafe for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl UnwindSafe for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl UnwindSafe for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl !UnwindSafe for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl !UnwindSafe for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl UnwindSafe for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl UnwindSafe for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl !UnwindSafe for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl UnwindSafe for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl UnwindSafe for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl UnwindSafe for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl UnwindSafe for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl UnwindSafe for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl UnwindSafe for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl UnwindSafe for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl UnwindSafe for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; +implementors["os"] = [{"text":"impl UnwindSafe for RISCV64","synthetic":true,"types":["os::board::RISCV64"]},{"text":"impl UnwindSafe for Stdout","synthetic":true,"types":["os::console::Stdout"]},{"text":"impl !UnwindSafe for VirtIOBlock","synthetic":true,"types":["os::drivers::block::virtio_blk::VirtIOBlock"]},{"text":"impl UnwindSafe for BLOCK_DEVICE","synthetic":true,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl UnwindSafe for QUEUE_FRAMES","synthetic":true,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl UnwindSafe for VirtioHal","synthetic":true,"types":["os::drivers::bus::virtio::VirtioHal"]},{"text":"impl UnwindSafe for IER","synthetic":true,"types":["os::drivers::chardev::ns16550a::IER"]},{"text":"impl UnwindSafe for LSR","synthetic":true,"types":["os::drivers::chardev::ns16550a::LSR"]},{"text":"impl UnwindSafe for MCR","synthetic":true,"types":["os::drivers::chardev::ns16550a::MCR"]},{"text":"impl UnwindSafe for ReadWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::ReadWithoutDLAB"]},{"text":"impl UnwindSafe for WriteWithoutDLAB","synthetic":true,"types":["os::drivers::chardev::ns16550a::WriteWithoutDLAB"]},{"text":"impl UnwindSafe for NS16550aRaw","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aRaw"]},{"text":"impl UnwindSafe for NS16550aInner","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550aInner"]},{"text":"impl<const BASE_ADDR: usize> !UnwindSafe for NS16550a<BASE_ADDR>","synthetic":true,"types":["os::drivers::chardev::ns16550a::NS16550a"]},{"text":"impl UnwindSafe for UART","synthetic":true,"types":["os::drivers::chardev::UART"]},{"text":"impl UnwindSafe for GPU_DEVICE","synthetic":true,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl !UnwindSafe for VirtIOGpuWrapper","synthetic":true,"types":["os::drivers::gpu::VirtIOGpuWrapper"]},{"text":"impl !UnwindSafe for VirtIOInputInner","synthetic":true,"types":["os::drivers::input::VirtIOInputInner"]},{"text":"impl !UnwindSafe for VirtIOInputWrapper","synthetic":true,"types":["os::drivers::input::VirtIOInputWrapper"]},{"text":"impl UnwindSafe for KEYBOARD_DEVICE","synthetic":true,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl UnwindSafe for MOUSE_DEVICE","synthetic":true,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl UnwindSafe for NET_DEVICE","synthetic":true,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl !UnwindSafe for VirtIONetWrapper","synthetic":true,"types":["os::drivers::net::VirtIONetWrapper"]},{"text":"impl UnwindSafe for PLIC","synthetic":true,"types":["os::drivers::plic::PLIC"]},{"text":"impl UnwindSafe for IntrTargetPriority","synthetic":true,"types":["os::drivers::plic::IntrTargetPriority"]},{"text":"impl !UnwindSafe for OSInode","synthetic":true,"types":["os::fs::inode::OSInode"]},{"text":"impl !UnwindSafe for OSInodeInner","synthetic":true,"types":["os::fs::inode::OSInodeInner"]},{"text":"impl UnwindSafe for ROOT_INODE","synthetic":true,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl UnwindSafe for OpenFlags","synthetic":true,"types":["os::fs::inode::OpenFlags"]},{"text":"impl !UnwindSafe for Pipe","synthetic":true,"types":["os::fs::pipe::Pipe"]},{"text":"impl UnwindSafe for RingBufferStatus","synthetic":true,"types":["os::fs::pipe::RingBufferStatus"]},{"text":"impl !UnwindSafe for PipeRingBuffer","synthetic":true,"types":["os::fs::pipe::PipeRingBuffer"]},{"text":"impl UnwindSafe for Stdin","synthetic":true,"types":["os::fs::stdio::Stdin"]},{"text":"impl UnwindSafe for Stdout","synthetic":true,"types":["os::fs::stdio::Stdout"]},{"text":"impl UnwindSafe for PhysAddr","synthetic":true,"types":["os::mm::address::PhysAddr"]},{"text":"impl UnwindSafe for VirtAddr","synthetic":true,"types":["os::mm::address::VirtAddr"]},{"text":"impl UnwindSafe for PhysPageNum","synthetic":true,"types":["os::mm::address::PhysPageNum"]},{"text":"impl UnwindSafe for VirtPageNum","synthetic":true,"types":["os::mm::address::VirtPageNum"]},{"text":"impl<T> UnwindSafe for SimpleRange<T> where
    T: UnwindSafe
","synthetic":true,"types":["os::mm::address::SimpleRange"]},{"text":"impl<T> UnwindSafe for SimpleRangeIterator<T> where
    T: UnwindSafe
","synthetic":true,"types":["os::mm::address::SimpleRangeIterator"]},{"text":"impl UnwindSafe for FrameTracker","synthetic":true,"types":["os::mm::frame_allocator::FrameTracker"]},{"text":"impl UnwindSafe for StackFrameAllocator","synthetic":true,"types":["os::mm::frame_allocator::StackFrameAllocator"]},{"text":"impl UnwindSafe for FRAME_ALLOCATOR","synthetic":true,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl UnwindSafe for KERNEL_SPACE","synthetic":true,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl UnwindSafe for MemorySet","synthetic":true,"types":["os::mm::memory_set::MemorySet"]},{"text":"impl UnwindSafe for MapArea","synthetic":true,"types":["os::mm::memory_set::MapArea"]},{"text":"impl UnwindSafe for MapType","synthetic":true,"types":["os::mm::memory_set::MapType"]},{"text":"impl UnwindSafe for MapPermission","synthetic":true,"types":["os::mm::memory_set::MapPermission"]},{"text":"impl UnwindSafe for PTEFlags","synthetic":true,"types":["os::mm::page_table::PTEFlags"]},{"text":"impl UnwindSafe for PageTableEntry","synthetic":true,"types":["os::mm::page_table::PageTableEntry"]},{"text":"impl UnwindSafe for PageTable","synthetic":true,"types":["os::mm::page_table::PageTable"]},{"text":"impl !UnwindSafe for UserBuffer","synthetic":true,"types":["os::mm::page_table::UserBuffer"]},{"text":"impl !UnwindSafe for UserBufferIterator","synthetic":true,"types":["os::mm::page_table::UserBufferIterator"]},{"text":"impl !UnwindSafe for Condvar","synthetic":true,"types":["os::sync::condvar::Condvar"]},{"text":"impl !UnwindSafe for CondvarInner","synthetic":true,"types":["os::sync::condvar::CondvarInner"]},{"text":"impl UnwindSafe for MutexSpin","synthetic":true,"types":["os::sync::mutex::MutexSpin"]},{"text":"impl !UnwindSafe for MutexBlocking","synthetic":true,"types":["os::sync::mutex::MutexBlocking"]},{"text":"impl !UnwindSafe for MutexBlockingInner","synthetic":true,"types":["os::sync::mutex::MutexBlockingInner"]},{"text":"impl !UnwindSafe for Semaphore","synthetic":true,"types":["os::sync::semaphore::Semaphore"]},{"text":"impl !UnwindSafe for SemaphoreInner","synthetic":true,"types":["os::sync::semaphore::SemaphoreInner"]},{"text":"impl UnwindSafe for TaskContext","synthetic":true,"types":["os::task::context::TaskContext"]},{"text":"impl UnwindSafe for RecycleAllocator","synthetic":true,"types":["os::task::id::RecycleAllocator"]},{"text":"impl UnwindSafe for PID_ALLOCATOR","synthetic":true,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl UnwindSafe for KSTACK_ALLOCATOR","synthetic":true,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl UnwindSafe for PidHandle","synthetic":true,"types":["os::task::id::PidHandle"]},{"text":"impl UnwindSafe for KernelStack","synthetic":true,"types":["os::task::id::KernelStack"]},{"text":"impl !UnwindSafe for TaskUserRes","synthetic":true,"types":["os::task::id::TaskUserRes"]},{"text":"impl !UnwindSafe for TaskManager","synthetic":true,"types":["os::task::manager::TaskManager"]},{"text":"impl UnwindSafe for TASK_MANAGER","synthetic":true,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl UnwindSafe for PID2PCB","synthetic":true,"types":["os::task::manager::PID2PCB"]},{"text":"impl !UnwindSafe for ProcessControlBlock","synthetic":true,"types":["os::task::process::ProcessControlBlock"]},{"text":"impl !UnwindSafe for ProcessControlBlockInner","synthetic":true,"types":["os::task::process::ProcessControlBlockInner"]},{"text":"impl !UnwindSafe for Processor","synthetic":true,"types":["os::task::processor::Processor"]},{"text":"impl UnwindSafe for PROCESSOR","synthetic":true,"types":["os::task::processor::PROCESSOR"]},{"text":"impl UnwindSafe for SignalFlags","synthetic":true,"types":["os::task::signal::SignalFlags"]},{"text":"impl !UnwindSafe for TaskControlBlock","synthetic":true,"types":["os::task::task::TaskControlBlock"]},{"text":"impl !UnwindSafe for TaskControlBlockInner","synthetic":true,"types":["os::task::task::TaskControlBlockInner"]},{"text":"impl UnwindSafe for TaskStatus","synthetic":true,"types":["os::task::task::TaskStatus"]},{"text":"impl UnwindSafe for INITPROC","synthetic":true,"types":["os::task::INITPROC"]},{"text":"impl !UnwindSafe for TimerCondVar","synthetic":true,"types":["os::timer::TimerCondVar"]},{"text":"impl UnwindSafe for TIMERS","synthetic":true,"types":["os::timer::TIMERS"]},{"text":"impl UnwindSafe for TrapContext","synthetic":true,"types":["os::trap::context::TrapContext"]},{"text":"impl UnwindSafe for UDP","synthetic":true,"types":["os::net::udp::UDP"]},{"text":"impl UnwindSafe for Socket","synthetic":true,"types":["os::net::socket::Socket"]},{"text":"impl UnwindSafe for SOCKET_TABLE","synthetic":true,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl UnwindSafe for NetStack","synthetic":true,"types":["os::net::NetStack"]},{"text":"impl UnwindSafe for LOSE_NET_STACK","synthetic":true,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl UnwindSafe for DEV_NON_BLOCKING_ACCESS","synthetic":true,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/issue-104/implementors/lazy_static/trait.LazyStatic.js b/issue-104/implementors/lazy_static/trait.LazyStatic.js index 4714bb7e..8b66e169 100644 --- a/issue-104/implementors/lazy_static/trait.LazyStatic.js +++ b/issue-104/implementors/lazy_static/trait.LazyStatic.js @@ -1,3 +1,3 @@ (function() {var implementors = {}; -implementors["os"] = [{"text":"impl LazyStatic for BLOCK_DEVICE","synthetic":false,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl LazyStatic for QUEUE_FRAMES","synthetic":false,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl LazyStatic for UART","synthetic":false,"types":["os::drivers::chardev::UART"]},{"text":"impl LazyStatic for GPU_DEVICE","synthetic":false,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl LazyStatic for KEYBOARD_DEVICE","synthetic":false,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl LazyStatic for MOUSE_DEVICE","synthetic":false,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl LazyStatic for NET_DEVICE","synthetic":false,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl LazyStatic for ROOT_INODE","synthetic":false,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl LazyStatic for FRAME_ALLOCATOR","synthetic":false,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl LazyStatic for KERNEL_SPACE","synthetic":false,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl LazyStatic for INTR_MASKING_INFO","synthetic":false,"types":["os::sync::up::INTR_MASKING_INFO"]},{"text":"impl LazyStatic for PID_ALLOCATOR","synthetic":false,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl LazyStatic for KSTACK_ALLOCATOR","synthetic":false,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl LazyStatic for TASK_MANAGER","synthetic":false,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl LazyStatic for PID2PCB","synthetic":false,"types":["os::task::manager::PID2PCB"]},{"text":"impl LazyStatic for PROCESSOR","synthetic":false,"types":["os::task::processor::PROCESSOR"]},{"text":"impl LazyStatic for INITPROC","synthetic":false,"types":["os::task::INITPROC"]},{"text":"impl LazyStatic for TIMERS","synthetic":false,"types":["os::timer::TIMERS"]},{"text":"impl LazyStatic for SOCKET_TABLE","synthetic":false,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl LazyStatic for LOSE_NET_STACK","synthetic":false,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl LazyStatic for DEV_NON_BLOCKING_ACCESS","synthetic":false,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; +implementors["os"] = [{"text":"impl LazyStatic for BLOCK_DEVICE","synthetic":false,"types":["os::drivers::block::BLOCK_DEVICE"]},{"text":"impl LazyStatic for QUEUE_FRAMES","synthetic":false,"types":["os::drivers::bus::virtio::QUEUE_FRAMES"]},{"text":"impl LazyStatic for UART","synthetic":false,"types":["os::drivers::chardev::UART"]},{"text":"impl LazyStatic for GPU_DEVICE","synthetic":false,"types":["os::drivers::gpu::GPU_DEVICE"]},{"text":"impl LazyStatic for KEYBOARD_DEVICE","synthetic":false,"types":["os::drivers::input::KEYBOARD_DEVICE"]},{"text":"impl LazyStatic for MOUSE_DEVICE","synthetic":false,"types":["os::drivers::input::MOUSE_DEVICE"]},{"text":"impl LazyStatic for NET_DEVICE","synthetic":false,"types":["os::drivers::net::NET_DEVICE"]},{"text":"impl LazyStatic for ROOT_INODE","synthetic":false,"types":["os::fs::inode::ROOT_INODE"]},{"text":"impl LazyStatic for FRAME_ALLOCATOR","synthetic":false,"types":["os::mm::frame_allocator::FRAME_ALLOCATOR"]},{"text":"impl LazyStatic for KERNEL_SPACE","synthetic":false,"types":["os::mm::memory_set::KERNEL_SPACE"]},{"text":"impl LazyStatic for PID_ALLOCATOR","synthetic":false,"types":["os::task::id::PID_ALLOCATOR"]},{"text":"impl LazyStatic for KSTACK_ALLOCATOR","synthetic":false,"types":["os::task::id::KSTACK_ALLOCATOR"]},{"text":"impl LazyStatic for TASK_MANAGER","synthetic":false,"types":["os::task::manager::TASK_MANAGER"]},{"text":"impl LazyStatic for PID2PCB","synthetic":false,"types":["os::task::manager::PID2PCB"]},{"text":"impl LazyStatic for PROCESSOR","synthetic":false,"types":["os::task::processor::PROCESSOR"]},{"text":"impl LazyStatic for INITPROC","synthetic":false,"types":["os::task::INITPROC"]},{"text":"impl LazyStatic for TIMERS","synthetic":false,"types":["os::timer::TIMERS"]},{"text":"impl LazyStatic for SOCKET_TABLE","synthetic":false,"types":["os::net::socket::SOCKET_TABLE"]},{"text":"impl LazyStatic for LOSE_NET_STACK","synthetic":false,"types":["os::net::LOSE_NET_STACK"]},{"text":"impl LazyStatic for DEV_NON_BLOCKING_ACCESS","synthetic":false,"types":["os::DEV_NON_BLOCKING_ACCESS"]}]; if (window.register_implementors) {window.register_implementors(implementors);} else {window.pending_implementors = implementors;}})() \ No newline at end of file diff --git a/issue-104/os/all.html b/issue-104/os/all.html index e52abc82..8e52e9dc 100644 --- a/issue-104/os/all.html +++ b/issue-104/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/issue-104/os/drivers/block/virtio_blk/struct.VirtIOBlock.html b/issue-104/os/drivers/block/virtio_blk/struct.VirtIOBlock.html index e1735da4..ecc6c04c 100644 --- a/issue-104/os/drivers/block/virtio_blk/struct.VirtIOBlock.html +++ b/issue-104/os/drivers/block/virtio_blk/struct.VirtIOBlock.html @@ -1,7 +1,7 @@ VirtIOBlock in os::drivers::block::virtio_blk - Rust
pub struct VirtIOBlock {
-    virtio_blk: UPIntrFreeCell<VirtIOBlk<'static, VirtioHal>>,
+    virtio_blk: UPIntrFreeCell<VirtIOBlk<'static, VirtioHal>>,
     condvars: BTreeMap<u16, Condvar>,
-}

Fields

virtio_blk: UPIntrFreeCell<VirtIOBlk<'static, VirtioHal>>condvars: BTreeMap<u16, Condvar>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

virtio_blk: UPIntrFreeCell<VirtIOBlk<'static, VirtioHal>>condvars: BTreeMap<u16, Condvar>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/drivers/bus/virtio/struct.QUEUE_FRAMES.html b/issue-104/os/drivers/bus/virtio/struct.QUEUE_FRAMES.html index 1186ed44..141f357c 100644 --- a/issue-104/os/drivers/bus/virtio/struct.QUEUE_FRAMES.html +++ b/issue-104/os/drivers/bus/virtio/struct.QUEUE_FRAMES.html @@ -1,8 +1,8 @@ QUEUE_FRAMES in os::drivers::bus::virtio - Rust
struct QUEUE_FRAMES {
     __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Vec<FrameTracker>>>

Panic if the data has been borrowed.

-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Vec<FrameTracker>>>

Panic if the data has been borrowed.

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/os/drivers/chardev/ns16550a/struct.NS16550a.html b/issue-104/os/drivers/chardev/ns16550a/struct.NS16550a.html index 92378c91..4e5d5858 100644 --- a/issue-104/os/drivers/chardev/ns16550a/struct.NS16550a.html +++ b/issue-104/os/drivers/chardev/ns16550a/struct.NS16550a.html @@ -1,7 +1,7 @@ NS16550a in os::drivers::chardev::ns16550a - Rust
pub struct NS16550a<const BASE_ADDR: usize> {
-    inner: UPIntrFreeCell<NS16550aInner>,
+    inner: UPIntrFreeCell<NS16550aInner>,
     condvar: Condvar,
-}

Fields

inner: UPIntrFreeCell<NS16550aInner>condvar: Condvar

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

inner: UPIntrFreeCell<NS16550aInner>condvar: Condvar

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/drivers/gpu/struct.VirtIOGpuWrapper.html b/issue-104/os/drivers/gpu/struct.VirtIOGpuWrapper.html index e3123564..3a82507f 100644 --- a/issue-104/os/drivers/gpu/struct.VirtIOGpuWrapper.html +++ b/issue-104/os/drivers/gpu/struct.VirtIOGpuWrapper.html @@ -1,7 +1,7 @@ VirtIOGpuWrapper in os::drivers::gpu - Rust
pub struct VirtIOGpuWrapper {
-    gpu: UPIntrFreeCell<VirtIOGpu<'static, VirtioHal>>,
+    gpu: UPIntrFreeCell<VirtIOGpu<'static, VirtioHal>>,
     fb: &'static [u8],
-}

Fields

gpu: UPIntrFreeCell<VirtIOGpu<'static, VirtioHal>>fb: &'static [u8]

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

gpu: UPIntrFreeCell<VirtIOGpu<'static, VirtioHal>>fb: &'static [u8]

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/drivers/input/struct.VirtIOInputWrapper.html b/issue-104/os/drivers/input/struct.VirtIOInputWrapper.html index 28d7e546..a5be5417 100644 --- a/issue-104/os/drivers/input/struct.VirtIOInputWrapper.html +++ b/issue-104/os/drivers/input/struct.VirtIOInputWrapper.html @@ -1,7 +1,7 @@ VirtIOInputWrapper in os::drivers::input - Rust
struct VirtIOInputWrapper {
-    inner: UPIntrFreeCell<VirtIOInputInner>,
+    inner: UPIntrFreeCell<VirtIOInputInner>,
     condvar: Condvar,
-}

Fields

inner: UPIntrFreeCell<VirtIOInputInner>condvar: Condvar

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+}

Fields

inner: UPIntrFreeCell<VirtIOInputInner>condvar: Condvar

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/drivers/net/struct.VirtIONetWrapper.html b/issue-104/os/drivers/net/struct.VirtIONetWrapper.html index 43b1cd2f..098a630b 100644 --- a/issue-104/os/drivers/net/struct.VirtIONetWrapper.html +++ b/issue-104/os/drivers/net/struct.VirtIONetWrapper.html @@ -1,4 +1,4 @@ -VirtIONetWrapper in os::drivers::net - Rust
pub struct VirtIONetWrapper(UPIntrFreeCell<VirtIONet<'static, VirtioHal>>);

Tuple Fields

0: UPIntrFreeCell<VirtIONet<'static, VirtioHal>>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+VirtIONetWrapper in os::drivers::net - Rust
pub struct VirtIONetWrapper(UPIntrFreeCell<VirtIONet<'static, VirtioHal>>);

Tuple Fields

0: UPIntrFreeCell<VirtIONet<'static, VirtioHal>>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/fs/inode/fn.open_file.html b/issue-104/os/fs/inode/fn.open_file.html index 920c58ae..45258acc 100644 --- a/issue-104/os/fs/inode/fn.open_file.html +++ b/issue-104/os/fs/inode/fn.open_file.html @@ -1 +1 @@ -open_file in os::fs::inode - Rust
pub fn open_file(name: &str, flags: OpenFlags) -> Option<Arc<OSInode>>
\ No newline at end of file +open_file in os::fs::inode - Rust
pub fn open_file(name: &str, flags: OpenFlags) -> Option<Arc<OSInode>>
\ No newline at end of file diff --git a/issue-104/os/fs/inode/index.html b/issue-104/os/fs/inode/index.html index 703da839..d770beaf 100644 --- a/issue-104/os/fs/inode/index.html +++ b/issue-104/os/fs/inode/index.html @@ -1 +1 @@ -os::fs::inode - Rust
\ No newline at end of file +os::fs::inode - Rust
\ No newline at end of file diff --git a/issue-104/os/fs/inode/struct.OSInode.html b/issue-104/os/fs/inode/struct.OSInode.html index fa5c5b1b..0daa85a7 100644 --- a/issue-104/os/fs/inode/struct.OSInode.html +++ b/issue-104/os/fs/inode/struct.OSInode.html @@ -1,8 +1,8 @@ OSInode in os::fs::inode - Rust
pub struct OSInode {
     readable: bool,
     writable: bool,
-    inner: UPIntrFreeCell<OSInodeInner>,
-}

Fields

readable: boolwritable: boolinner: UPIntrFreeCell<OSInodeInner>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+ inner: UPIntrFreeCell<OSInodeInner>, +}

Fields

readable: boolwritable: boolinner: UPIntrFreeCell<OSInodeInner>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/fs/pipe/struct.Pipe.html b/issue-104/os/fs/pipe/struct.Pipe.html index a8c661f9..b56f5558 100644 --- a/issue-104/os/fs/pipe/struct.Pipe.html +++ b/issue-104/os/fs/pipe/struct.Pipe.html @@ -1,8 +1,8 @@ Pipe in os::fs::pipe - Rust

Struct os::fs::pipe::Pipe

source · []
pub struct Pipe {
     readable: bool,
     writable: bool,
-    buffer: Arc<UPIntrFreeCell<PipeRingBuffer>>,
-}

Fields

readable: boolwritable: boolbuffer: Arc<UPIntrFreeCell<PipeRingBuffer>>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+ buffer: Arc<UPIntrFreeCell<PipeRingBuffer>>, +}

Fields

readable: boolwritable: boolbuffer: Arc<UPIntrFreeCell<PipeRingBuffer>>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/fs/trait.File.html b/issue-104/os/fs/trait.File.html index abaa7228..a4f02728 100644 --- a/issue-104/os/fs/trait.File.html +++ b/issue-104/os/fs/trait.File.html @@ -3,4 +3,4 @@ fn writable(&self) -> bool; fn read(&self, buf: UserBuffer) -> usize; fn write(&self, buf: UserBuffer) -> usize; -}

Required Methods

Implementors

\ No newline at end of file +}

Required Methods

Implementors

\ No newline at end of file diff --git a/issue-104/os/mm/frame_allocator/struct.FRAME_ALLOCATOR.html b/issue-104/os/mm/frame_allocator/struct.FRAME_ALLOCATOR.html index 6c3ed9e1..bb1e66b3 100644 --- a/issue-104/os/mm/frame_allocator/struct.FRAME_ALLOCATOR.html +++ b/issue-104/os/mm/frame_allocator/struct.FRAME_ALLOCATOR.html @@ -1,8 +1,8 @@ FRAME_ALLOCATOR in os::mm::frame_allocator - Rust
pub struct FRAME_ALLOCATOR {
     __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<StackFrameAllocator>>

Panic if the data has been borrowed.

-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<StackFrameAllocator>>

Panic if the data has been borrowed.

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/os/mm/memory_set/struct.KERNEL_SPACE.html b/issue-104/os/mm/memory_set/struct.KERNEL_SPACE.html index a7633226..5c8ec793 100644 --- a/issue-104/os/mm/memory_set/struct.KERNEL_SPACE.html +++ b/issue-104/os/mm/memory_set/struct.KERNEL_SPACE.html @@ -1,7 +1,7 @@ KERNEL_SPACE in os::mm::memory_set - Rust
pub struct KERNEL_SPACE {
     __private_field: (),
-}

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/os/net/socket/struct.SOCKET_TABLE.html b/issue-104/os/net/socket/struct.SOCKET_TABLE.html index 81a65afb..1add02fd 100644 --- a/issue-104/os/net/socket/struct.SOCKET_TABLE.html +++ b/issue-104/os/net/socket/struct.SOCKET_TABLE.html @@ -1,8 +1,8 @@ SOCKET_TABLE in os::net::socket - Rust
struct SOCKET_TABLE {
     __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Vec<Option<Socket>>>>

Panic if the data has been borrowed.

-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Vec<Option<Socket>>>>

Panic if the data has been borrowed.

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/os/net/struct.NetStack.html b/issue-104/os/net/struct.NetStack.html index 0f6b0f71..b31e1afd 100644 --- a/issue-104/os/net/struct.NetStack.html +++ b/issue-104/os/net/struct.NetStack.html @@ -1,4 +1,4 @@ -NetStack in os::net - Rust
pub struct NetStack(UPIntrFreeCell<LoseStack>);

Tuple Fields

0: UPIntrFreeCell<LoseStack>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+NetStack in os::net - Rust
pub struct NetStack(UPIntrFreeCell<LoseStack>);

Tuple Fields

0: UPIntrFreeCell<LoseStack>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/struct.DEV_NON_BLOCKING_ACCESS.html b/issue-104/os/struct.DEV_NON_BLOCKING_ACCESS.html index 27bc0514..da223ba9 100644 --- a/issue-104/os/struct.DEV_NON_BLOCKING_ACCESS.html +++ b/issue-104/os/struct.DEV_NON_BLOCKING_ACCESS.html @@ -1,8 +1,8 @@ DEV_NON_BLOCKING_ACCESS in os - Rust
pub struct DEV_NON_BLOCKING_ACCESS {
     pub(crate) __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<bool>>

Panic if the data has been borrowed.

-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<bool>>

Panic if the data has been borrowed.

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/os/sync/condvar/struct.Condvar.html b/issue-104/os/sync/condvar/struct.Condvar.html index 762f845e..3a211a66 100644 --- a/issue-104/os/sync/condvar/struct.Condvar.html +++ b/issue-104/os/sync/condvar/struct.Condvar.html @@ -1,6 +1,6 @@ Condvar in os::sync::condvar - Rust
pub struct Condvar {
-    pub inner: UPIntrFreeCell<CondvarInner>,
-}

Fields

inner: UPIntrFreeCell<CondvarInner>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+ pub inner: UPIntrFreeCell<CondvarInner>, +}

Fields

inner: UPIntrFreeCell<CondvarInner>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/sync/index.html b/issue-104/os/sync/index.html index 4e3008f2..6d2edbc4 100644 --- a/issue-104/os/sync/index.html +++ b/issue-104/os/sync/index.html @@ -1 +1 @@ -os::sync - Rust

Module os::sync

source · []

Re-exports

pub use condvar::Condvar;
pub use mutex::Mutex;
pub use mutex::MutexBlocking;
pub use mutex::MutexSpin;
pub use semaphore::Semaphore;
pub use up::UPIntrFreeCell;
pub use up::UPIntrRefMut;

Modules

condvar 🔒
mutex 🔒
semaphore 🔒
up 🔒
\ No newline at end of file +os::sync - Rust

Module os::sync

source · []

Re-exports

pub use condvar::Condvar;
pub use mutex::Mutex;
pub use mutex::MutexBlocking;
pub use mutex::MutexSpin;
pub use semaphore::Semaphore;

Modules

condvar 🔒
mutex 🔒
semaphore 🔒
up 🔒

Structs

\ No newline at end of file diff --git a/issue-104/os/sync/mutex/struct.MutexBlocking.html b/issue-104/os/sync/mutex/struct.MutexBlocking.html index 21ab8fe3..d05cc976 100644 --- a/issue-104/os/sync/mutex/struct.MutexBlocking.html +++ b/issue-104/os/sync/mutex/struct.MutexBlocking.html @@ -1,6 +1,6 @@ MutexBlocking in os::sync::mutex - Rust
pub struct MutexBlocking {
-    inner: UPIntrFreeCell<MutexBlockingInner>,
-}

Fields

inner: UPIntrFreeCell<MutexBlockingInner>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+ inner: UPIntrFreeCell<MutexBlockingInner>, +}

Fields

inner: UPIntrFreeCell<MutexBlockingInner>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/sync/mutex/struct.MutexSpin.html b/issue-104/os/sync/mutex/struct.MutexSpin.html index c62b9a1d..5ed726a2 100644 --- a/issue-104/os/sync/mutex/struct.MutexSpin.html +++ b/issue-104/os/sync/mutex/struct.MutexSpin.html @@ -1,6 +1,6 @@ MutexSpin in os::sync::mutex - Rust
pub struct MutexSpin {
-    locked: UPIntrFreeCell<bool>,
-}

Fields

locked: UPIntrFreeCell<bool>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+ locked: UPIntrFreeCell<bool>, +}

Fields

locked: UPIntrFreeCell<bool>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/sync/semaphore/struct.Semaphore.html b/issue-104/os/sync/semaphore/struct.Semaphore.html index e1de2fb6..ea19eb43 100644 --- a/issue-104/os/sync/semaphore/struct.Semaphore.html +++ b/issue-104/os/sync/semaphore/struct.Semaphore.html @@ -1,6 +1,6 @@ Semaphore in os::sync::semaphore - Rust
pub struct Semaphore {
-    pub inner: UPIntrFreeCell<SemaphoreInner>,
-}

Fields

inner: UPIntrFreeCell<SemaphoreInner>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+ pub inner: UPIntrFreeCell<SemaphoreInner>, +}

Fields

inner: UPIntrFreeCell<SemaphoreInner>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/sync/sidebar-items.js b/issue-104/os/sync/sidebar-items.js index 1ee8d463..442a3bc3 100644 --- a/issue-104/os/sync/sidebar-items.js +++ b/issue-104/os/sync/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"mod":[["condvar",""],["mutex",""],["semaphore",""],["up",""]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"mod":[["condvar",""],["mutex",""],["semaphore",""],["up",""]],"struct":[["UPIntrFreeCell",""],["UPIntrRefMut",""]]}; \ No newline at end of file diff --git a/issue-104/os/sync/struct.UPIntrFreeCell.html b/issue-104/os/sync/struct.UPIntrFreeCell.html new file mode 100644 index 00000000..fab25d60 --- /dev/null +++ b/issue-104/os/sync/struct.UPIntrFreeCell.html @@ -0,0 +1,28 @@ +UPIntrFreeCell in os::sync - Rust
pub struct UPIntrFreeCell<T> {
+    pub(crate) inner: RefCell<T>,
+}

Fields

inner: RefCell<T>

inner data

+

Implementations

Panic if the data has been borrowed.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Casts the value.

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Casts the value.

+

Casts the value.

+

Casts the value.

+

Returns the argument unchanged.

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Casts the value.

+

Casts the value.

+

Casts the value.

+

Casts the value.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Casts the value.

+

Casts the value.

+

Casts the value.

+

Casts the value.

+
\ No newline at end of file diff --git a/issue-104/os/sync/struct.UPIntrRefMut.html b/issue-104/os/sync/struct.UPIntrRefMut.html new file mode 100644 index 00000000..cd637ceb --- /dev/null +++ b/issue-104/os/sync/struct.UPIntrRefMut.html @@ -0,0 +1,28 @@ +UPIntrRefMut in os::sync - Rust
pub struct UPIntrRefMut<'a, T>(pub(crate) Option<RefMut<'a, T>>);

Tuple Fields

0: Option<RefMut<'a, T>>

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Mutably dereferences the value.

+

Executes the destructor for this type. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Casts the value.

+

Immutably borrows from an owned value. Read more

+

Mutably borrows from an owned value. Read more

+

Casts the value.

+

Casts the value.

+

Casts the value.

+

Returns the argument unchanged.

+

Calls U::from(self).

+

That is, this conversion is whatever the implementation of +From<T> for U chooses to do.

+

Casts the value.

+

Casts the value.

+

Casts the value.

+

Casts the value.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

The type returned in the event of a conversion error.

+

Performs the conversion.

+

Casts the value.

+

Casts the value.

+

Casts the value.

+

Casts the value.

+
\ No newline at end of file diff --git a/issue-104/os/sync/up/fn.enable_intr.html b/issue-104/os/sync/up/fn.enable_intr.html new file mode 100644 index 00000000..b041b2e7 --- /dev/null +++ b/issue-104/os/sync/up/fn.enable_intr.html @@ -0,0 +1,2 @@ +enable_intr in os::sync::up - Rust
#[no_mangle]
+extern "C" fn enable_intr()
\ No newline at end of file diff --git a/issue-104/os/sync/up/fn.swap_and_disable_intr.html b/issue-104/os/sync/up/fn.swap_and_disable_intr.html new file mode 100644 index 00000000..44d83e6f --- /dev/null +++ b/issue-104/os/sync/up/fn.swap_and_disable_intr.html @@ -0,0 +1,2 @@ +swap_and_disable_intr in os::sync::up - Rust
#[no_mangle]
+extern "C" fn swap_and_disable_intr() -> bool
\ No newline at end of file diff --git a/issue-104/os/sync/up/index.html b/issue-104/os/sync/up/index.html index 8f591d47..f23080d9 100644 --- a/issue-104/os/sync/up/index.html +++ b/issue-104/os/sync/up/index.html @@ -1 +1 @@ -os::sync::up - Rust
\ No newline at end of file +os::sync::up - Rust
\ No newline at end of file diff --git a/issue-104/os/sync/up/sidebar-items.js b/issue-104/os/sync/up/sidebar-items.js index 6494946f..782c1d1e 100644 --- a/issue-104/os/sync/up/sidebar-items.js +++ b/issue-104/os/sync/up/sidebar-items.js @@ -1 +1 @@ -window.SIDEBAR_ITEMS = {"struct":[["INTR_MASKING_INFO",""],["IntrMaskingInfo",""],["UPIntrFreeCell",""],["UPIntrRefMut",""],["UPSafeCellRaw",""]]}; \ No newline at end of file +window.SIDEBAR_ITEMS = {"fn":[["enable_intr",""],["swap_and_disable_intr",""]],"struct":[["UPIntrFreeCell",""],["UPIntrRefMut",""]]}; \ No newline at end of file diff --git a/issue-104/os/sync/up/struct.INTR_MASKING_INFO.html b/issue-104/os/sync/up/struct.INTR_MASKING_INFO.html deleted file mode 100644 index 0b5024f1..00000000 --- a/issue-104/os/sync/up/struct.INTR_MASKING_INFO.html +++ /dev/null @@ -1,28 +0,0 @@ -INTR_MASKING_INFO in os::sync::up - Rust
struct INTR_MASKING_INFO {
-    __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPSafeCellRaw<IntrMaskingInfo>>

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Casts the value.

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

Returns the argument unchanged.

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-
\ No newline at end of file diff --git a/issue-104/os/sync/up/struct.IntrMaskingInfo.html b/issue-104/os/sync/up/struct.IntrMaskingInfo.html deleted file mode 100644 index 569888ca..00000000 --- a/issue-104/os/sync/up/struct.IntrMaskingInfo.html +++ /dev/null @@ -1,27 +0,0 @@ -IntrMaskingInfo in os::sync::up - Rust
pub struct IntrMaskingInfo {
-    nested_level: usize,
-    sie_before_masking: bool,
-}

Fields

nested_level: usizesie_before_masking: bool

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Casts the value.

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

Returns the argument unchanged.

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-
\ No newline at end of file diff --git a/issue-104/os/sync/up/struct.UPIntrFreeCell.html b/issue-104/os/sync/up/struct.UPIntrFreeCell.html index dfbd9f3f..f9362601 100644 --- a/issue-104/os/sync/up/struct.UPIntrFreeCell.html +++ b/issue-104/os/sync/up/struct.UPIntrFreeCell.html @@ -1,8 +1,8 @@ -UPIntrFreeCell in os::sync::up - Rust
pub struct UPIntrFreeCell<T> {
-    inner: RefCell<T>,
+UPIntrFreeCell in os::sync::up - Rust
pub struct UPIntrFreeCell<T> {
+    pub(crate) inner: RefCell<T>,
 }

Fields

inner: RefCell<T>

inner data

-

Implementations

Panic if the data has been borrowed.

-

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+

Implementations

Panic if the data has been borrowed.

+

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/sync/up/struct.UPIntrRefMut.html b/issue-104/os/sync/up/struct.UPIntrRefMut.html index 3879a42c..84618f1f 100644 --- a/issue-104/os/sync/up/struct.UPIntrRefMut.html +++ b/issue-104/os/sync/up/struct.UPIntrRefMut.html @@ -1,8 +1,8 @@ -UPIntrRefMut in os::sync::up - Rust
pub struct UPIntrRefMut<'a, T>(Option<RefMut<'a, T>>);

Tuple Fields

0: Option<RefMut<'a, T>>

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

-

Mutably dereferences the value.

-

Executes the destructor for this type. Read more

-

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+UPIntrRefMut in os::sync::up - Rust
pub struct UPIntrRefMut<'a, T>(pub(crate) Option<RefMut<'a, T>>);

Tuple Fields

0: Option<RefMut<'a, T>>

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

+

Mutably dereferences the value.

+

Executes the destructor for this type. Read more

+

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/sync/up/struct.UPSafeCellRaw.html b/issue-104/os/sync/up/struct.UPSafeCellRaw.html deleted file mode 100644 index f53ef2c6..00000000 --- a/issue-104/os/sync/up/struct.UPSafeCellRaw.html +++ /dev/null @@ -1,26 +0,0 @@ -UPSafeCellRaw in os::sync::up - Rust
pub struct UPSafeCellRaw<T> {
-    inner: UnsafeCell<T>,
-}

Fields

inner: UnsafeCell<T>

Implementations

Trait Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

-

Casts the value.

-

Immutably borrows from an owned value. Read more

-

Mutably borrows from an owned value. Read more

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

Returns the argument unchanged.

-

Calls U::from(self).

-

That is, this conversion is whatever the implementation of -From<T> for U chooses to do.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

The type returned in the event of a conversion error.

-

Performs the conversion.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-

Casts the value.

-
\ No newline at end of file diff --git a/issue-104/os/syscall/process/fn.sys_exec.html b/issue-104/os/syscall/process/fn.sys_exec.html index 9fbc67be..6bc35718 100644 --- a/issue-104/os/syscall/process/fn.sys_exec.html +++ b/issue-104/os/syscall/process/fn.sys_exec.html @@ -1 +1 @@ -sys_exec in os::syscall::process - Rust
pub fn sys_exec(path: *const u8, args: *const usize) -> isize
\ No newline at end of file +sys_exec in os::syscall::process - Rust
pub fn sys_exec(path: *const u8, args: *const usize) -> isize
\ No newline at end of file diff --git a/issue-104/os/syscall/process/fn.sys_kill.html b/issue-104/os/syscall/process/fn.sys_kill.html index a4a096e2..a108d940 100644 --- a/issue-104/os/syscall/process/fn.sys_kill.html +++ b/issue-104/os/syscall/process/fn.sys_kill.html @@ -1 +1 @@ -sys_kill in os::syscall::process - Rust
pub fn sys_kill(pid: usize, signal: u32) -> isize
\ No newline at end of file +sys_kill in os::syscall::process - Rust
pub fn sys_kill(pid: usize, signal: u32) -> isize
\ No newline at end of file diff --git a/issue-104/os/syscall/process/fn.sys_waitpid.html b/issue-104/os/syscall/process/fn.sys_waitpid.html index fa2f4357..b2ab3802 100644 --- a/issue-104/os/syscall/process/fn.sys_waitpid.html +++ b/issue-104/os/syscall/process/fn.sys_waitpid.html @@ -1,3 +1,3 @@ -sys_waitpid in os::syscall::process - Rust
pub fn sys_waitpid(pid: isize, exit_code_ptr: *mut i32) -> isize
Expand description

If there is not a child process whose pid is same as given, return -1. +sys_waitpid in os::syscall::process - Rust

pub fn sys_waitpid(pid: isize, exit_code_ptr: *mut i32) -> isize
Expand description

If there is not a child process whose pid is same as given, return -1. Else if there is a child process but it is still running, return -2.

\ No newline at end of file diff --git a/issue-104/os/syscall/process/index.html b/issue-104/os/syscall/process/index.html index 1595a357..db4b63da 100644 --- a/issue-104/os/syscall/process/index.html +++ b/issue-104/os/syscall/process/index.html @@ -1,3 +1,3 @@ -os::syscall::process - Rust

Functions

If there is not a child process whose pid is same as given, return -1. +os::syscall::process - Rust

Functions

If there is not a child process whose pid is same as given, return -1. Else if there is a child process but it is still running, return -2.

\ No newline at end of file diff --git a/issue-104/os/task/id/struct.KSTACK_ALLOCATOR.html b/issue-104/os/task/id/struct.KSTACK_ALLOCATOR.html index c4920702..f707d4cd 100644 --- a/issue-104/os/task/id/struct.KSTACK_ALLOCATOR.html +++ b/issue-104/os/task/id/struct.KSTACK_ALLOCATOR.html @@ -1,8 +1,8 @@ KSTACK_ALLOCATOR in os::task::id - Rust
struct KSTACK_ALLOCATOR {
     __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<RecycleAllocator>>

Panic if the data has been borrowed.

-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<RecycleAllocator>>

Panic if the data has been borrowed.

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/os/task/id/struct.PID_ALLOCATOR.html b/issue-104/os/task/id/struct.PID_ALLOCATOR.html index 5ca7a2dd..0faa60b7 100644 --- a/issue-104/os/task/id/struct.PID_ALLOCATOR.html +++ b/issue-104/os/task/id/struct.PID_ALLOCATOR.html @@ -1,8 +1,8 @@ PID_ALLOCATOR in os::task::id - Rust
struct PID_ALLOCATOR {
     __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<RecycleAllocator>>

Panic if the data has been borrowed.

-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<RecycleAllocator>>

Panic if the data has been borrowed.

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/os/task/manager/struct.PID2PCB.html b/issue-104/os/task/manager/struct.PID2PCB.html index 8172d001..eec2dd1d 100644 --- a/issue-104/os/task/manager/struct.PID2PCB.html +++ b/issue-104/os/task/manager/struct.PID2PCB.html @@ -1,8 +1,8 @@ PID2PCB in os::task::manager - Rust
pub struct PID2PCB {
     __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<BTreeMap<usize, Arc<ProcessControlBlock>>>>

Panic if the data has been borrowed.

-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<BTreeMap<usize, Arc<ProcessControlBlock>>>>

Panic if the data has been borrowed.

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/os/task/manager/struct.TASK_MANAGER.html b/issue-104/os/task/manager/struct.TASK_MANAGER.html index ca231d94..87dfcbb6 100644 --- a/issue-104/os/task/manager/struct.TASK_MANAGER.html +++ b/issue-104/os/task/manager/struct.TASK_MANAGER.html @@ -1,8 +1,8 @@ TASK_MANAGER in os::task::manager - Rust
pub struct TASK_MANAGER {
     __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<TaskManager>>

Panic if the data has been borrowed.

-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<TaskManager>>

Panic if the data has been borrowed.

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/os/task/process/struct.ProcessControlBlock.html b/issue-104/os/task/process/struct.ProcessControlBlock.html index 8f3d20ce..4f18d9fc 100644 --- a/issue-104/os/task/process/struct.ProcessControlBlock.html +++ b/issue-104/os/task/process/struct.ProcessControlBlock.html @@ -1,7 +1,7 @@ ProcessControlBlock in os::task::process - Rust
pub struct ProcessControlBlock {
     pub pid: PidHandle,
-    inner: UPIntrFreeCell<ProcessControlBlockInner>,
-}

Fields

pid: PidHandleinner: UPIntrFreeCell<ProcessControlBlockInner>

Implementations

Only support processes with a single thread.

+ inner: UPIntrFreeCell<ProcessControlBlockInner>, +}

Fields

pid: PidHandleinner: UPIntrFreeCell<ProcessControlBlockInner>

Implementations

Only support processes with a single thread.

Only support processes with a single thread.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

diff --git a/issue-104/os/task/processor/struct.PROCESSOR.html b/issue-104/os/task/processor/struct.PROCESSOR.html index f5e72b0e..b752ba06 100644 --- a/issue-104/os/task/processor/struct.PROCESSOR.html +++ b/issue-104/os/task/processor/struct.PROCESSOR.html @@ -1,8 +1,8 @@ PROCESSOR in os::task::processor - Rust
pub struct PROCESSOR {
     __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Processor>>

Panic if the data has been borrowed.

-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<Processor>>

Panic if the data has been borrowed.

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/os/task/task/struct.TaskControlBlock.html b/issue-104/os/task/task/struct.TaskControlBlock.html index e3dbce7f..77bb99d8 100644 --- a/issue-104/os/task/task/struct.TaskControlBlock.html +++ b/issue-104/os/task/task/struct.TaskControlBlock.html @@ -1,8 +1,8 @@ TaskControlBlock in os::task::task - Rust
pub struct TaskControlBlock {
     pub process: Weak<ProcessControlBlock>,
     pub kstack: KernelStack,
-    pub inner: UPIntrFreeCell<TaskControlBlockInner>,
-}

Fields

process: Weak<ProcessControlBlock>kstack: KernelStackinner: UPIntrFreeCell<TaskControlBlockInner>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

+ pub inner: UPIntrFreeCell<TaskControlBlockInner>, +}

Fields

process: Weak<ProcessControlBlock>kstack: KernelStackinner: UPIntrFreeCell<TaskControlBlockInner>

Implementations

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

diff --git a/issue-104/os/timer/struct.TIMERS.html b/issue-104/os/timer/struct.TIMERS.html index 473a276e..46e5f72e 100644 --- a/issue-104/os/timer/struct.TIMERS.html +++ b/issue-104/os/timer/struct.TIMERS.html @@ -1,8 +1,8 @@ TIMERS in os::timer - Rust
struct TIMERS {
     __private_field: (),
-}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<BinaryHeap<TimerCondVar>>>

Panic if the data has been borrowed.

-

Trait Implementations

The resulting type after dereferencing.

-

Dereferences the value.

+}

Fields

__private_field: ()

Methods from Deref<Target = UPIntrFreeCell<BinaryHeap<TimerCondVar>>>

Panic if the data has been borrowed.

+

Trait Implementations

The resulting type after dereferencing.

+

Dereferences the value.

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Casts the value.

Immutably borrows from an owned value. Read more

diff --git a/issue-104/search-index.js b/issue-104/search-index.js index a7f6469b..1d53f585 100644 --- a/issue-104/search-index.js +++ b/issue-104/search-index.js @@ -1,5 +1,5 @@ var searchIndex = JSON.parse('{\ -"os":{"doc":"","t":[3,12,11,0,11,11,11,11,11,5,0,0,11,0,11,0,11,0,0,0,11,11,14,14,5,11,11,0,0,0,0,0,0,11,11,11,11,11,11,11,6,17,6,17,17,17,17,17,8,17,3,17,17,17,17,17,12,11,11,11,11,11,11,5,10,11,5,10,11,10,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,2,17,17,17,2,17,17,17,17,17,3,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,2,2,2,2,0,0,0,0,0,0,0,3,2,12,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,17,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,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,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,2,3,12,11,11,11,11,11,11,11,11,10,10,11,0,11,11,10,11,11,11,11,11,11,11,11,11,10,18,18,18,18,3,3,3,3,3,3,18,18,3,18,18,3,12,12,12,12,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,12,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,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,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,12,12,12,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,12,12,12,12,12,12,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,12,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,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,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,3,8,17,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,10,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,8,3,3,17,17,3,3,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,12,11,11,12,11,11,11,11,10,11,12,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,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,11,11,11,11,12,11,11,11,11,11,11,11,11,12,3,8,17,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,3,13,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,11,11,11,11,11,11,11,11,11,8,2,2,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,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,11,12,12,11,11,11,11,11,11,11,11,11,5,11,11,11,12,5,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,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,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,12,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,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,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,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,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,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,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,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,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,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,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,12,11,5,5,5,5,5,11,11,11,11,5,11,11,11,10,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,7,7,5,5,5,13,13,3,13,3,3,4,3,18,18,18,18,12,11,11,12,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,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,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,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,11,11,11,11,11,11,11,11,11,11,12,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,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,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,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,11,12,11,11,11,11,11,11,11,11,11,11,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,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,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,5,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,3,3,12,5,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,5,11,11,12,11,11,11,11,5,5,12,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,12,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,2,0,0,0,0,3,3,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,12,11,11,11,11,11,8,3,3,3,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,10,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,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,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,12,11,11,11,11,12,3,3,3,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,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,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,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,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,17,17,17,17,17,0,0,0,0,0,0,5,0,5,5,5,5,5,5,17,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,11,5,5,11,11,11,5,11,11,0,5,2,2,2,2,2,2,11,5,11,0,11,2,0,11,11,2,2,0,0,2,2,11,11,2,0,5,0,2,0,11,11,11,11,11,2,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,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,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,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,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,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,12,12,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,5,11,11,11,11,11,11,11,11,11,11,5,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,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,11,11,11,11,12,12,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,5,5,5,5,5,11,11,11,11,12,11,11,11,11,11,11,11,5,11,11,11,11,5,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,18,18,18,18,18,3,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,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,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,17,3,3,12,5,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2,0,5,5,5,5,5,5,5,5,5,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,12],"n":["DEV_NON_BLOCKING_ACCESS","__private_field","az","board","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clear_bss","config","console","deref","drivers","from","fs","into","lang_items","mm","net","overflowing_as","overflowing_cast_from","print","println","rust_main","saturating_as","saturating_cast_from","sbi","sync","syscall","task","timer","trap","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","BlockDeviceImpl","CLOCK_FREQ","CharDeviceImpl","EXIT_FAILURE","EXIT_FAILURE_FLAG","EXIT_RESET","EXIT_SUCCESS","MMIO","QEMUExit","QEMU_EXIT_HANDLE","RISCV64","VIRTGPU_XRES","VIRTGPU_YRES","VIRT_PLIC","VIRT_TEST","VIRT_UART","addr","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","device_init","exit","exit","exit_code_encode","exit_failure","exit_failure","exit_success","exit_success","from","into","irq_handler","new","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","CLOCK_FREQ","KERNEL_HEAP_SIZE","KERNEL_STACK_SIZE","MEMORY_END","MMIO","PAGE_SIZE","PAGE_SIZE_BITS","TRAMPOLINE","TRAP_CONTEXT_BASE","USER_STACK_SIZE","Stdout","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","from","into","overflowing_as","overflowing_cast_from","print","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","write_str","BLOCK_DEVICE","BLOCK_DEVICE","UART","UART","block","bus","chardev","gpu","input","net","plic","BLOCK_DEVICE","VirtIOBlock","__private_field","az","block_device_test","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","from","into","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","virtio_blk","wrapping_as","wrapping_cast_from","VIRTIO0","VirtIOBlock","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","condvars","from","handle_irq","into","new","overflowing_as","overflowing_cast_from","read_block","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","virtio_blk","wrapping_as","wrapping_cast_from","write_block","virtio","QUEUE_FRAMES","VirtioHal","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","dma_alloc","dma_dealloc","from","from","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","phys_to_virt","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","virt_to_phys","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","CharDevice","NS16550a","UART","__private_field","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","from","handle_irq","init","into","ns16550a","overflowing_as","overflowing_cast_from","read","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","write","AUX_OUTPUT1","AUX_OUTPUT2","DATA_AVAILABLE","DATA_TERMINAL_READY","IER","LSR","MCR","NS16550a","NS16550aInner","NS16550aRaw","REQUEST_TO_SEND","RX_AVAILABLE","ReadWithoutDLAB","THR_EMPTY","TX_EMPTY","WriteWithoutDLAB","_padding0","_padding1","_padding1","_padding2","all","all","all","az","az","az","az","az","az","az","az","base_addr","bitand","bitand","bitand","bitand_assign","bitand_assign","bitand_assign","bitor","bitor","bitor","bitor_assign","bitor_assign","bitor_assign","bits","bits","bits","bits","bits","bits","bitxor","bitxor","bitxor","bitxor_assign","bitxor_assign","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","complement","complement","complement","condvar","contains","contains","contains","difference","difference","difference","empty","empty","empty","eq","eq","eq","extend","extend","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_iter","from_iter","from_iter","handle_irq","hash","hash","hash","ier","ier","iir","init","init","inner","insert","insert","insert","intersection","intersection","intersection","intersects","intersects","intersects","into","into","into","into","into","into","into","into","is_all","is_all","is_all","is_empty","is_empty","is_empty","lcr","lcr","lsr","lsr","mcr","mcr","ne","ne","ne","new","new","not","not","not","ns16550a","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","partial_cmp","partial_cmp","rbr","read","read","read_buffer","read_buffer_is_empty","read_end","remove","remove","remove","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","set","set","set","sub","sub","sub","sub_assign","sub_assign","sub_assign","symmetric_difference","symmetric_difference","symmetric_difference","thr","to_owned","to_owned","to_owned","toggle","toggle","toggle","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","union","union","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","write","write","write_end","BMP_DATA","GPU_DEVICE","GpuDevice","VIRTIO7","VirtIOGpuWrapper","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","fb","flush","flush","from","from","get_framebuffer","get_framebuffer","gpu","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","update_cursor","update_cursor","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","InputDevice","KEYBOARD_DEVICE","MOUSE_DEVICE","VIRTIO5","VIRTIO6","VirtIOInputInner","VirtIOInputWrapper","__private_field","__private_field","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","condvar","deref","deref","events","from","from","from","from","handle_irq","handle_irq","inner","into","into","into","into","is_empty","is_empty","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","read_event","read_event","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","virtio_input","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","0","NET_DEVICE","NetDevice","VIRTIO8","VirtIONetWrapper","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","from","from","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","receive","receive","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","transmit","transmit","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","IntrTargetPriority","Machine","PLIC","Supervisor","az","az","base_addr","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","claim","claim_comp_ptr_of_hart_with_priority","clone","clone_into","complete","disable","enable","enable_ptr","from","from","get_priority","get_threshold","hart_id_with_priority","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","priority_ptr","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","set_priority","set_threshold","supported_number","threshold_ptr_of_hart_with_priority","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","File","OSInode","OpenFlags","Pipe","ROOT_INODE","ROOT_INODE","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","az","az","az","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","read","read_all","read_write","readable","readable","remove","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","writable","write","Empty","Full","Normal","Pipe","PipeRingBuffer","RING_BUFFER_SIZE","RingBufferStatus","all_write_ends_closed","arr","available_read","available_write","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","buffer","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","eq","from","from","from","head","into","into","into","make_pipe","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","read","read_byte","read_end_with_buffer","readable","readable","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","writable","write","write_byte","write_end","write_end_with_buffer","Stdin","Stdout","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","read","read","readable","readable","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","writable","writable","write","write","backtrace","panic","FrameTracker","KERNEL_SPACE","KERNEL_SPACE","MapArea","MapPermission","MapType","MemorySet","PageTable","PageTableEntry","PhysAddr","PhysPageNum","StepByOne","UserBuffer","UserBufferIterator","VPNRange","VirtAddr","VirtPageNum","address","frame_alloc","frame_alloc_more","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","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","ceil","ceil","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","current","draw","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","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","page_offset","page_offset","partial_cmp","partial_cmp","partial_cmp","partial_cmp","r","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","step","step","step","to_owned","to_owned","to_owned","to_owned","to_owned","translated","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","FRAME_ALLOCATOR","FrameAllocator","FrameAllocatorImpl","FrameTracker","StackFrameAllocator","__private_field","alloc","alloc","alloc_more","alloc_more","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","current","dealloc","dealloc","deref","drop","end","fmt","frame_alloc","frame_alloc_more","frame_allocator_alloc_more_test","frame_allocator_test","frame_dealloc","from","from","from","init","init_frame_allocator","into","into","into","new","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","ppn","recycled","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","HEAP_ALLOCATOR","HEAP_SPACE","handle_alloc_error","heap_test","init_heap","Framed","Identical","KERNEL_SPACE","Linear","MapArea","MapPermission","MapType","MemorySet","R","U","W","X","__private_field","activate","all","areas","az","az","az","az","az","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","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","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","ne","new","new_bare","new_kernel","not","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","page_table","partial_cmp","push","recycle_data_pages","remap_test","remove","remove_area_with_start_vpn","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vpn_range","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","0","A","D","G","PTEFlags","PageTable","PageTableEntry","R","U","UserBuffer","UserBufferIterator","V","W","X","all","az","az","az","az","az","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","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","ppn","readable","remove","root_ppn","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","0","0","IPv4","LOSE_NET_STACK","NetStack","__private_field","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","deref","eq","fmt","fmt","from","from","from","from_u32","hexdump","into","into","into","ne","net_interrupt_handler","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","socket","to_owned","to_string","to_string","to_u32","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","udp","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","SOCKET_TABLE","Socket","__private_field","add_socket","az","az","borrow","borrow","borrow_mut","borrow_mut","buffers","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","from","from","get_socket","into","into","lport","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","pop_data","push_data","raddr","remove_socket","rport","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","UDP","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","dport","drop","from","into","new","overflowing_as","overflowing_cast_from","read","readable","saturating_as","saturating_cast_from","socket_index","sport","target","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","writable","write","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","UPIntrFreeCell","UPIntrRefMut","condvar","mutex","semaphore","up","Condvar","CondvarInner","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","signal","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wait_no_sched","wait_queue","wait_with_mutex","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Mutex","MutexBlocking","MutexBlockingInner","MutexSpin","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","from","from","from","inner","into","into","into","lock","lock","lock","locked","locked","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unlock","unlock","unlock","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wait_queue","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","Semaphore","SemaphoreInner","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","count","down","from","from","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","up","wait_queue","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","0","INTR_MASKING_INFO","IntrMaskingInfo","UPIntrFreeCell","UPIntrRefMut","UPSafeCellRaw","__private_field","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","deref","deref","deref_mut","drop","enter","exclusive_access","exclusive_session","exit","from","from","from","from","from","get_mut","inner","inner","into","into","into","into","into","nested_level","new","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","sie_before_masking","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","SYSCALL_CLOSE","SYSCALL_CONDVAR_CREATE","SYSCALL_CONDVAR_SIGNAL","SYSCALL_CONDVAR_WAIT","SYSCALL_CONNECT","SYSCALL_DUP","SYSCALL_EVENT_GET","SYSCALL_EXEC","SYSCALL_EXIT","SYSCALL_FORK","SYSCALL_FRAMEBUFFER","SYSCALL_FRAMEBUFFER_FLUSH","SYSCALL_GETPID","SYSCALL_GETTID","SYSCALL_GET_TIME","SYSCALL_KEY_PRESSED","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","gui","input","net","process","sync","syscall","thread","sys_close","sys_dup","sys_open","sys_pipe","sys_read","sys_write","FB_VADDR","sys_framebuffer","sys_framebuffer_flush","sys_event_get","sys_key_pressed","sys_connect","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","az","block_current_and_run_next","block_current_task","borrow","borrow_mut","cast_from","check_signals_of_current","checked_as","checked_cast_from","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","overflowing_as","overflowing_cast_from","pid2process","pid_alloc","process","processor","remove_from_pid2process","run_tasks","saturating_as","saturating_cast_from","schedule","signal","suspend_current_and_run_next","switch","take_current_task","task","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wakeup_task","wrapping_as","wrapping_cast_from","TaskContext","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","from","goto_trap_return","into","overflowing_as","overflowing_cast_from","ra","s","saturating_as","saturating_cast_from","sp","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","zero_init","0","0","IDLE_PID","KSTACK_ALLOCATOR","KernelStack","PID_ALLOCATOR","PidHandle","RecycleAllocator","TaskUserRes","__private_field","__private_field","alloc","alloc_tid","alloc_user_res","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pid_alloc","process","push_on_top","recycled","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","ustack_base","ustack_base","ustack_bottom_from_tid","ustack_top","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","PID2PCB","TASK_MANAGER","TaskManager","__private_field","__private_field","add","add_task","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","deref","deref","fetch","fetch_task","from","from","from","insert_into_pid2process","into","into","into","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pid2process","ready_queue","remove_from_pid2process","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wakeup_task","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ProcessControlBlock","ProcessControlBlockInner","alloc_fd","alloc_tid","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","parent","pid","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","semaphore_list","signals","task_res_allocator","tasks","thread_count","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","PROCESSOR","Processor","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","run_tasks","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","schedule","take_current","take_current_task","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","SIGABRT","SIGFPE","SIGILL","SIGINT","SIGSEGV","SignalFlags","all","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow_mut","cast_from","check_error","checked_as","checked_cast_from","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","overflowing_as","overflowing_cast_from","partial_cmp","remove","saturating_as","saturating_cast_from","set","sub","sub_assign","symmetric_difference","to_owned","toggle","try_from","try_into","type_id","union","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","__switch","Blocked","Ready","Running","TaskControlBlock","TaskControlBlockInner","TaskStatus","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","process","res","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","MSEC_PER_SEC","TICKS_PER_SEC","TIMERS","TimerCondVar","__private_field","add_timer","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","check_timer","checked_as","checked_as","checked_cast_from","checked_cast_from","cmp","deref","eq","expire_ms","from","from","get_time","get_time_ms","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","partial_cmp","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","set_next_trigger","task","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","TrapContext","context","disable_supervisor_interrupt","enable_supervisor_interrupt","enable_timer_interrupt","init","set_kernel_trap_entry","set_user_trap_entry","trap_from_kernel","trap_handler","trap_return","TrapContext","app_init_context","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","fmt","from","into","kernel_satp","kernel_sp","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","sepc","set_sp","sstatus","trap_handler","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","x"],"q":["os","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::board","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::config","","","","","","","","","","os::console","","","","","","","","","","","","","","","","","","","","","","os::drivers","","","","","","","","","","","os::drivers::block","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::block::virtio_blk","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::bus","os::drivers::bus::virtio","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::chardev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::chardev::ns16550a","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::gpu","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::input","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::net","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::plic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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::memory_set::MapType","os::mm::page_table","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::net","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::net::socket","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::net::udp","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sbi","","","","","","","","","","","","","","os::sync","","","","","","","","","","","os::sync::condvar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::mutex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::semaphore","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::up","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall::fs","","","","","","os::syscall::gui","","","os::syscall::input","","os::syscall::net","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":["","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","","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).","","","","","","","","","","","","","","","","","","","InterruptEnableRegister","LineStatusRegister","Model Control Register","","","","","","","","","","ignore FCR","ignore MSR","ignore other registers","ignore SCR","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","","","","","","","","","","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","","","","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns an empty set of flags.","Returns an empty set of flags.","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.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","","","","","","","","interrupt enable register","interrupt enable register","interrupt identification register","","","","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both 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).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","line control register","line control register","line status register","line status register","model control register","modem control register","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","","","","","","receiver buffer register","","","","","","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","","","","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","transmitter holding register","","","","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","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.","Returns the argument unchanged.","","","","Calls U::from(self).","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.","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.","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","offset of page num","","","","","","","","","","","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.","","","","","","","","","","","","","Add a new MapArea into this MemorySet. Assuming that there …","","","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.","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Panic if the data has been borrowed.","","","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","","","inner data","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","check UART’s read-buffer is empty or not","","","","","","","","If there is not a child process whose pid is same as …","","","","","","","","","","","","","","thread does not exist, return -1 thread has not exited …","","","","","","","","","","","","","","This function must be followed by a schedule","","","","","","","","","","","","","","","","","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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,0,2,0,0,0,2,2,0,0,0,2,2,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,0,116,8,0,116,8,116,8,8,8,0,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,14,14,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,18,117,18,117,18,117,18,117,18,117,18,117,18,18,117,117,117,18,117,18,117,18,117,18,117,117,18,117,18,117,18,117,18,117,18,117,18,117,18,117,117,18,117,18,0,0,0,20,20,20,20,20,20,20,20,20,118,118,20,0,20,20,118,20,20,20,20,20,20,20,20,20,118,24,24,23,24,0,0,0,0,0,0,24,22,0,23,22,0,32,31,32,31,22,23,24,31,32,30,119,29,22,23,24,30,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,29,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,31,32,30,119,29,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,29,22,23,24,31,32,31,30,29,29,22,23,24,22,23,24,22,23,24,31,32,30,119,29,22,23,24,22,23,24,22,23,24,31,32,31,32,31,32,22,23,24,30,29,22,23,24,119,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,22,23,24,31,30,29,119,29,30,22,23,24,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,32,22,23,24,22,23,24,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,22,23,24,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,31,32,30,119,29,22,23,24,30,29,30,0,0,0,0,0,33,34,33,34,33,34,33,34,33,34,33,34,33,33,34,120,34,34,33,120,34,34,34,33,34,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,120,34,34,33,34,33,0,0,0,0,0,0,0,35,36,121,37,35,36,121,37,35,36,121,37,35,36,121,37,35,36,121,37,35,36,121,37,35,36,37,35,36,121,121,37,35,36,122,37,37,121,37,35,36,122,37,37,121,37,35,36,121,37,35,36,122,37,121,37,35,36,121,37,35,36,121,37,35,36,121,37,35,36,121,37,35,36,121,37,35,36,121,37,35,36,121,121,37,35,36,121,37,35,36,39,0,0,0,0,38,39,38,39,38,39,38,39,38,39,38,39,38,38,39,38,39,38,39,39,38,39,38,123,39,39,38,39,38,123,39,39,38,39,38,39,38,39,38,39,38,39,38,39,38,0,41,0,41,40,41,40,40,41,40,41,40,41,40,41,40,41,40,40,41,41,40,40,40,40,40,41,40,40,40,40,41,40,40,41,40,41,40,40,41,40,41,40,40,41,40,41,40,41,40,41,40,41,40,41,40,41,40,41,40,41,0,0,0,0,0,0,0,0,0,0,0,0,0,124,124,0,124,124,43,0,0,0,43,43,0,43,43,44,43,46,125,44,43,43,43,43,43,43,43,43,43,46,125,44,43,46,125,44,43,46,125,44,43,46,125,44,43,46,125,44,43,43,43,43,43,43,44,43,43,43,43,43,43,43,43,43,46,125,44,43,43,43,43,43,43,46,125,43,43,43,46,125,44,43,43,43,0,43,46,43,125,0,46,125,44,43,46,125,44,43,43,46,46,43,46,46,43,46,125,44,43,46,125,44,43,43,43,43,43,43,43,46,125,44,43,46,125,44,43,46,125,44,43,43,46,125,44,43,46,125,44,43,46,125,44,43,46,125,44,43,46,46,46,49,49,49,0,0,0,0,48,48,48,48,50,48,49,50,48,49,50,48,49,50,50,48,49,50,48,49,50,48,49,49,49,49,50,48,49,48,50,48,49,0,48,50,48,49,50,48,49,50,48,50,50,50,50,48,49,50,48,49,48,48,48,49,50,48,49,50,48,49,50,48,49,50,48,49,50,48,49,50,48,49,50,48,49,50,50,50,48,48,50,0,0,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,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,54,55,56,57,0,0,0,0,0,0,0,0,0,0,0,0,54,55,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,54,55,60,54,55,56,57,59,60,54,55,56,57,59,54,55,56,57,59,54,55,56,57,59,54,55,56,57,60,60,60,54,55,56,57,54,55,54,55,56,57,60,54,54,54,55,55,55,56,56,56,57,57,57,59,56,59,54,56,56,54,59,57,60,54,55,56,57,59,60,59,59,54,55,56,57,60,59,60,60,54,55,56,57,59,60,54,55,56,57,59,54,55,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,126,56,57,54,55,56,57,59,60,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,0,0,0,0,0,64,127,63,127,63,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,63,127,63,64,65,63,65,0,0,0,0,0,65,63,64,63,0,65,63,64,127,65,63,65,63,64,65,63,64,65,63,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,0,0,0,0,0,69,69,0,69,0,0,0,0,68,68,68,68,72,67,68,67,67,70,72,69,68,68,68,68,68,68,68,68,68,67,70,72,69,68,67,70,72,69,68,67,70,72,69,68,67,70,72,69,68,67,70,72,69,68,69,68,69,68,68,68,68,70,70,72,68,0,0,0,68,69,68,0,0,68,69,68,68,68,68,68,67,70,72,69,68,70,68,68,68,67,67,68,68,68,67,68,68,67,70,72,69,68,68,68,0,70,70,70,67,70,69,68,70,67,67,68,67,70,72,69,68,67,70,72,69,68,67,68,67,67,0,68,67,67,70,72,69,68,67,70,72,69,68,0,0,68,0,0,0,68,68,68,69,68,68,67,67,67,70,72,69,68,67,70,72,69,68,67,70,72,69,68,68,70,70,67,70,72,69,68,67,70,72,69,68,70,67,70,72,69,68,67,70,72,69,68,128,74,74,74,0,0,0,74,74,0,0,74,74,74,74,71,42,75,74,73,74,74,74,74,74,74,73,74,74,71,42,75,74,73,71,42,75,74,73,42,75,71,42,75,74,73,71,42,75,74,73,71,42,75,74,73,74,73,74,73,74,74,74,75,75,74,74,73,74,73,74,71,71,73,74,74,74,74,74,71,71,42,75,74,73,74,74,74,74,71,74,74,74,74,71,42,75,74,73,42,75,74,74,73,42,71,74,71,42,73,75,74,71,42,75,74,73,71,42,75,74,73,74,73,73,74,71,71,42,75,74,73,71,42,75,74,73,74,74,74,74,74,73,74,71,71,71,0,0,0,0,71,42,75,74,73,71,42,75,74,73,71,42,75,74,73,74,71,71,42,75,74,73,71,42,75,74,73,71,42,75,74,73,71,42,75,74,73,73,77,80,0,0,0,78,77,80,78,77,80,78,77,80,78,77,80,78,77,80,78,77,80,78,77,77,78,77,77,77,77,80,78,77,0,77,80,78,77,0,77,80,77,80,78,77,80,78,77,80,78,77,80,78,0,77,77,77,77,77,80,78,77,80,78,77,80,78,0,77,80,78,77,80,78,77,80,78,77,80,78,0,0,82,0,129,82,129,82,129,82,129,129,82,129,82,129,82,82,129,82,0,129,82,129,129,82,129,82,0,0,129,0,129,129,82,129,82,129,82,129,82,129,82,129,82,129,82,129,82,129,82,0,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,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,84,130,84,130,84,130,84,130,84,130,84,130,84,130,84,84,130,84,84,130,84,130,84,130,84,130,84,84,130,84,130,84,130,84,130,84,130,84,130,84,84,130,84,130,0,0,0,0,87,88,131,87,88,131,87,88,131,87,88,131,87,88,131,87,88,131,87,88,131,88,87,88,131,86,87,88,87,131,87,88,87,88,131,87,88,131,87,88,131,87,88,131,87,88,131,87,88,131,87,88,131,86,87,88,87,88,131,87,88,131,131,87,88,131,87,88,131,0,0,89,132,89,132,89,132,89,132,89,132,89,132,132,89,89,132,89,89,132,89,89,132,89,132,89,132,89,132,89,132,89,132,89,132,89,132,89,132,89,132,89,132,89,132,90,0,0,0,0,0,91,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,90,91,90,90,93,3,3,93,92,93,3,90,91,92,92,3,92,93,3,90,91,93,92,93,3,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,93,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,92,93,3,90,91,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,0,0,96,0,0,96,96,96,0,96,96,0,0,0,0,0,0,0,0,96,0,96,0,96,0,0,96,96,0,0,0,0,0,0,96,96,0,0,0,0,0,0,96,96,96,96,96,0,96,96,0,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,85,101,102,0,0,0,0,0,0,0,99,100,97,98,98,97,101,102,98,99,100,97,101,102,98,99,100,97,101,102,98,99,100,97,101,102,98,99,100,97,101,102,98,99,100,97,101,102,98,99,100,97,97,98,98,99,100,101,102,98,97,101,102,98,99,100,102,97,101,102,98,99,100,0,0,97,98,97,101,102,98,99,100,97,101,102,98,99,100,0,98,102,97,97,101,102,98,99,100,97,101,102,98,99,100,98,0,98,98,97,101,102,98,99,100,97,101,102,98,99,100,97,101,102,98,99,100,97,101,102,98,99,100,97,101,102,98,99,100,98,98,0,98,97,101,102,98,99,100,97,101,102,98,99,100,0,0,0,106,107,104,0,104,106,107,104,106,107,104,106,107,104,106,107,104,106,107,104,106,107,106,107,104,0,104,106,107,0,104,106,107,104,104,106,107,104,106,107,0,104,0,104,106,107,104,106,107,104,106,107,104,106,107,104,106,107,104,106,107,104,106,107,0,104,106,107,104,106,107,0,0,108,108,103,108,103,108,103,108,103,108,103,108,103,108,108,108,108,103,108,108,103,103,108,108,108,103,103,103,103,108,108,108,108,103,103,108,103,108,108,103,103,108,103,108,108,108,108,108,108,103,108,103,108,103,108,103,108,103,108,103,108,103,108,0,0,111,109,111,109,111,109,111,109,111,109,111,109,111,109,109,0,0,0,0,0,0,111,109,111,109,109,109,111,109,109,111,109,111,0,109,111,109,111,0,109,0,109,111,109,111,109,111,109,111,109,111,109,111,109,111,95,95,95,95,95,0,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,95,0,112,112,112,0,0,0,105,113,112,105,113,112,105,113,112,105,113,112,105,113,112,105,113,112,112,112,112,113,105,113,112,113,113,105,105,105,105,113,112,105,105,105,113,112,105,113,112,105,113,105,113,112,105,113,112,113,113,112,113,105,113,112,105,113,112,105,113,112,105,113,112,105,113,112,105,113,112,105,113,112,0,0,0,0,115,0,114,115,114,115,114,115,114,115,0,114,115,114,115,114,115,114,114,114,115,0,0,114,115,114,115,114,115,114,114,115,114,115,0,114,114,115,114,115,114,115,114,115,114,115,114,115,114,115,0,0,0,0,0,0,0,0,0,0,0,0,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110,110],"f":[0,0,[[]],0,[[]],[[]],[[]],[[],1],[[],1],[[]],0,0,[2,3],0,[[]],0,[[]],0,0,0,[[]],[[]],0,0,[[],4],[[]],[[]],0,0,0,0,0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[7,4],[[8,7],4],[7,7],[[],4],[8,4],[[],4],[8,4],[[]],[[]],[[]],[9,8],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[[]],[[]],[[]],[10],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[[11,12],13],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[14,15],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],0,[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],0,[[]],[16],[[]],[[],16],[[]],[[]],[[16,17]],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],0,[[]],[[]],[[16,17]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[18,3],[17,17],[[17,17],19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[17,17],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[17,17],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[20,15],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],21],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[21],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],22],[[],23],[[],24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[22,22],22],[[23,23],23],[[24,24],24],[[22,22]],[[23,23]],[[24,24]],[[22,22],22],[[23,23],23],[[24,24],24],[[22,22]],[[23,23]],[[24,24]],[22,21],[23,21],[24,21],0,0,0,[[22,22],22],[[23,23],23],[[24,24],24],[[22,22]],[[23,23]],[[24,24]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[22,22],[23,23],[24,24],[[]],[[]],[[]],[[22,22],25],[[23,23],25],[[24,24],25],[22,22],[23,23],[24,24],0,[[22,22],26],[[23,23],26],[[24,24],26],[[22,22],22],[[23,23],23],[[24,24],24],[[],22],[[],23],[[],24],[[22,22],26],[[23,23],26],[[24,24],26],[[22,27]],[[23,27]],[[24,27]],[[22,28],13],[[22,28],13],[[22,28],13],[[22,28],13],[[22,28],13],[[23,28],13],[[23,28],13],[[23,28],13],[[23,28],13],[[23,28],13],[[24,28],13],[[24,28],13],[[24,28],13],[[24,28],13],[[24,28],13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[21,[[1,[22]]]],[21,[[1,[23]]]],[21,[[1,[24]]]],[21,22],[21,23],[21,24],[21,22],[21,23],[21,24],[27,22],[27,23],[27,24],[29],[22],[23],[24],0,0,0,[30],[29],0,[[22,22]],[[23,23]],[[24,24]],[[22,22],22],[[23,23],23],[[24,24],24],[[22,22],26],[[23,23],26],[[24,24],26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[22,26],[23,26],[24,26],[22,26],[23,26],[24,26],0,0,0,0,0,0,[[22,22],26],[[23,23],26],[[24,24],26],[17,30],[[],29],[22,22],[23,23],[24,24],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[22,22],[[1,[25]]]],[[23,23],[[1,[25]]]],[[24,24],[[1,[25]]]],0,[30,[[1,[21]]]],[29,21],0,[29,26],[30,31],[[22,22]],[[23,23]],[[24,24]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[22,22,26]],[[23,23,26]],[[24,24,26]],[[22,22],22],[[23,23],23],[[24,24],24],[[22,22]],[[23,23]],[[24,24]],[[22,22],22],[[23,23],23],[[24,24],24],0,[[]],[[]],[[]],[[22,22]],[[23,23]],[[24,24]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[22,22],22],[[23,23],23],[[24,24],24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[30,21]],[[29,21]],[30,32],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[33,15],0,[[]],[34],[[]],[[]],[[]],[34],0,[[]],[[]],[[],34],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[34],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[35,15],[36,15],0,[[]],[[]],[[]],[[]],[[]],[37],0,[[]],[[]],[[]],[[]],[[],26],[37,26],[17,37],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],9],[37,9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[38,15],[[]],[[]],[[]],[[]],[[],39],[[]],[[]],[[]],[[]],[[],17],[39,17],[[]],[[]],[[]],[[]],[[]],[39],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[40,17,41],7],[[40,17,41],7],[41,41],[[]],[[40,17,41,7]],[[40,17,41,17]],[[40,17,41,17]],[[40,17,41,17]],[[]],[[]],[[40,17],7],[[40,17,41],7],[[17,41],17],[[]],[[]],[17,40],[[]],[[]],[[]],[[]],[[40,17],7],[[]],[[]],[[]],[[]],[[40,17,7]],[[40,17,41,7]],[[],17],[[40,17,41],7],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[42,17],[[],26],0,[[],26],[42,17],0,0,0,0,0,0,0,0,0,0,[[],43],[[]],[[]],[[]],[[]],[[43,43],43],[[43,43]],[[43,43],43],[[43,43]],[43,7],0,[[43,43],43],[[43,43]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[43,43],[[]],[[43,43],25],[43,43],[[43,43],26],[44,15],[[43,43],43],[[],43],[[43,43],26],[[43,27]],[[43,28],13],[[43,28],13],[[43,28],13],[[43,28],13],[[43,28],13],[[]],[[]],[[]],[[]],[7,[[1,[43]]]],[7,43],[7,43],[27,43],[43],0,0,[[43,43]],[[43,43],43],[[43,43],26],[[]],[[]],[[]],[[]],[43,26],[43,26],[[]],[[43,43],26],[[26,26,[15,[45]]],46],[43,43],0,[[12,43],[[1,[[15,[46]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[43,43],[[1,[25]]]],[[46,42],17],[46,[[47,[21]]]],[43],[46,26],0,[[43,43]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[43,43,26]],[[43,43],43],[[43,43]],[[43,43],43],[[]],[[43,43]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[43,43],43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[46,26],0,[[46,42],17],0,0,0,0,0,0,0,[48,26],0,[48,17],[48,17],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[49,49],[[]],[[49,49],26],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],48],[[]],[[]],[[]],[[]],[[]],[[]],[[50,42],17],[48,21],[[[15,[[3,[48]]]]],50],[50,26],0,[[]],[[]],[[]],[[]],[[]],[[]],[[48,15]],0,0,[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[50,26],0,[[50,42],17],[[48,21]],0,[[[15,[[3,[48]]]]],50],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[51,42],17],[[52,42],17],[51,26],[52,26],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[51,26],[52,26],[[51,42],17],[[52,42],17],[[]],[53,4],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,[54,26],[55,26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[54,56],[55,57],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[54,54],[55,55],[56,56],[57,57],[[[59,[58]]],[[59,[58]]]],[[]],[[]],[[]],[[]],[[]],[[54,54],25],[[55,55],25],[[56,56],25],[[57,57],25],0,[[],5],0,[[54,54],26],[[55,55],26],[[56,56],26],[[57,57],26],[54,56],[55,57],[[54,28],13],[[55,28],13],[[56,28],13],[[57,28],13],[[]],[56,54],[17,54],[[]],[[]],[17,55],[57,55],[[]],[17,56],[54,56],[[]],[17,57],[55,57],[[]],[56],[59],[54],[56],[56],[54],[59],[57],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[59],0,[[54,54],26],[[55,55],26],[[56,56],26],[[57,57],26],[[],60],[[],59],[60,1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[54,17],[55,17],[[54,54],[[1,[25]]]],[[55,55],[[1,[25]]]],[[56,56],[[1,[25]]]],[[57,57],[[1,[25]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[56],[57],[[]],[[]],[[]],[[]],[[]],[61,62],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[],[[1,[56]]]],[63,[[1,[56]]]],[17,[[1,[[47,[56]]]]]],[[63,17],[[1,[[47,[56]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[56],[[63,56]],[64,3],[65],0,[[65,28],13],[[],[[1,[65]]]],[17,[[1,[[47,[65]]]]]],[[]],[[]],[56],[[]],[[]],[[]],[[63,56,56]],[[]],[[]],[[]],[[]],[[]],[56,65],[[],63],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[66,4],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[67],[[],68],0,[[]],[[]],[[]],[[]],[[]],[[68,68],68],[[68,68]],[[68,68],68],[[68,68]],[68,21],0,[[68,68],68],[[68,68]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[69,69],[68,68],[[]],[[]],[[68,68],25],[68,68],[[68,68],26],[[70,71]],0,[72,15],[[68,68],68],0,0,0,[[],68],[[69,69],26],[[68,68],26],0,0,[[68,27]],[[69,28],13],[[68,28],13],[[68,28],13],[[68,28],13],[[68,28],13],[[68,28],13],[[]],[[]],[[]],[[]],[[]],[70,70],[21,[[1,[68]]]],[21,68],[21,68],[[]],[67,67],[27,68],[68],[[68,68]],[[67,55,55,68]],[[68,68],68],[[68,68],26],[[]],[[]],[[]],[[]],[[]],[68,26],[68,26],[[],17],[[70,71]],[[70,71,57]],0,[67],0,[[69,69],26],[[68,68],26],[[55,55,69,68],70],[[],67],[[],67],[68,68],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[68,68],[[1,[25]]]],[[67,70,1]],[67],[[]],[[68,68]],[[67,57]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[68,68,26]],0,0,0,[[68,68],68],[[68,68]],[[68,68],68],[[]],[[]],[[68,68]],[67,17],[[67,57],[[1,[73]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[68,68],68],[[70,71]],[[70,71,57]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],74],[[]],[[]],[[]],[[]],[[]],[[74,74],74],[[74,74]],[[74,74],74],[[74,74]],[74,21],0,0,[[74,74],74],[[74,74]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[74,74],[73,73],[[]],[[]],[[74,74],25],[74,74],[[74,74],26],0,0,[[74,74],74],[[],74],[[],73],[[74,74],26],[73,26],[[74,27]],[[71,57],[[1,[73]]]],[[71,57],[[1,[73]]]],[73,74],[[74,28],13],[[74,28],13],[[74,28],13],[[74,28],13],[[74,28],13],0,[[]],[[]],[[]],[[]],[[]],[21,[[1,[74]]]],[21,74],[21,74],[27,74],[17,71],[74],[[74,74]],[[74,74],74],[[74,74],26],[[]],[[]],[[]],[[]],[[]],[42],[[]],[74,26],[74,26],[73,26],[42,17],[[71,57,56,74]],[[74,74],26],[[],71],[47,42],[[56,74],73],[75,1],[74,74],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[74,74],[[1,[25]]]],[73,56],[73,26],[[74,74]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[74,74,26]],[[74,74],74],[[74,74]],[[74,74],74],[[]],[[]],[[74,74]],[71,17],[[71,57],[[1,[73]]]],[[71,55],[[1,[54]]]],[[17,21,17],47],[17],[17],[[17,21],76],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[74,74],74],[[71,57]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[73,26],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[77,77],[[]],[78,15],[[77,77],26],[[77,28],[[5,[79]]]],[[77,28],[[5,[79]]]],[[]],[[]],[[]],[7,77],[[]],[[]],[[]],[[]],[[77,77],26],[[]],[[21,21,21,21],77],[[],80],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[77,76],[[],76],[77,7],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[77,81,81],[[1,[17]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],1],[[],1],[[],1],[[],1],[82,3],[[]],[[]],[[77,81,81],[[1,[17]]]],[[]],[[]],0,[[]],[[]],[[]],[[]],[17,[[1,[[47,[21]]]]]],[[17,[47,[21]]]],0,[17],0,[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],1],[[],1],0,[83],[[]],[[]],[[77,81,81],83],[[]],[[]],[[83,42],17],[83,26],[[]],[[]],0,0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[83,26],[[83,42],17],0,0,0,0,0,0,0,0,0,[[],17],[17],[[17,17,17,17],17],[17],[17,4],0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],0,[[]],[[]],[[],84],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[84],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[84,85],0,[[84,[15,[86]]]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[87],[88],0,0,[[],87],[[],88],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[87],[88],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[89],[[]],[[]],0,[[]],[[]],[17,89],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[89],0,[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[90],[91,92],[90],[90],[93],[3,90],[3],[93],[[]],[[]],[[]],[[]],[[]],[92],0,0,[[]],[[]],[[]],[[]],[[]],0,[[],92],[[],93],[[],3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],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,0,0,0,0,0,0,0,0,[17,94],0,[17,94],[17,94],[[21,7],94],[17,94],[[17,21,17],94],[[17,21,17],94],0,[[],94],[[],94],[[],94],[[],94],[[7,81,81],94],[[21,17],94],[19,4],[[],94],[[],94],[[],94],[[17,7],94],[[94,19],94],[[],94],[[],94],[17,94],[[17,17],94],[26,94],[17,94],[17,94],[17,94],[17,94],[17,94],[17,94],[[],94],[[17,17],94],[17,19],0,0,0,0,0,0,0,0,0,[[]],0,[[]],[[]],[[],85],[[]],[[]],[[]],[[],1],[[],1],[[],1],0,[95],0,0,0,0,0,0,[96,15],[19],[[]],0,[[]],0,0,[[]],[[]],0,0,0,0,0,0,[[]],[[]],0,0,[[]],0,0,0,[[],5],[[],5],[[],6],[[]],[[]],0,[[]],[[]],0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[17,85],[[]],[[]],[[]],0,0,[[]],[[]],0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[[],85],0,0,0,0,0,0,0,0,0,0,0,[97,17],[98],[98],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[[97,17]],[98],[98],[99,3],[100,3],[101],[102],[98],[[]],[[]],[[]],[[]],[[]],[[]],[102,17],[[]],[[]],[[]],[[]],[[]],[[]],[17],[[],102],[[],97],[[[15,[103]],17,26],98],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],101],0,[102],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[17,17],[98,56],[98,17],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[98,17],0,[[17,17],17],[98,17],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[104,[15,[105]]]],[[[15,[105]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[106,3],[107,3],[104,[[1,[[15,[105]]]]]],[[],[[1,[[15,[105]]]]]],[[]],[[]],[[]],[[17,[15,[103]]]],[[]],[[]],[[]],[[],104],[[]],[[]],[[]],[[]],[[]],[[]],[17,[[1,[[15,[103]]]]]],0,[17],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[[15,[105]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[108,17],[108,17],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,0,[[108,17]],[[15,[47,[76]]]],0,0,[15,[[15,[103]]]],[[]],[[]],[[108,17],[[15,[105]]]],[108,17],[103,17],0,[103,[[90,[108]]]],[[]],[[]],0,0,0,[[],[[15,[103]]]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],0,0,0,0,[108,17],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[109,[[1,[[15,[105]]]]]],0,[[],17],[[],[[15,[103]]]],[[],[[1,[[15,[105]]]]]],[[],110],[[],17],[[],17],[111,3],[[]],[[]],[109,85],0,[[]],[[]],[[],109],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[85],[109,[[1,[[15,[105]]]]]],[[],[[1,[[15,[105]]]]]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[],95],[[]],[[95,95],95],[[95,95]],[[95,95],95],[[95,95]],[95,7],0,[[95,95],95],[[95,95]],[[]],[[]],[[]],[95,1],[[],1],[[],1],[95,95],[[]],[[95,95],25],[95,95],[[95,95],26],[[95,95],95],[[],95],[[95,95],26],[[95,27]],[[95,28],13],[[95,28],13],[[95,28],13],[[95,28],13],[[95,28],13],[[]],[7,[[1,[95]]]],[7,95],[7,95],[27,95],[95],[[95,95]],[[95,95],95],[[95,95],26],[[]],[95,26],[95,26],[[95,95],26],[95,95],[[]],[[]],[[95,95],[[1,[25]]]],[[95,95]],[[]],[[]],[[95,95,26]],[[95,95],95],[[95,95]],[[95,95],95],[[]],[[95,95]],[[],5],[[],5],[[],6],[[95,95],95],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[112,112],[[]],[[112,112],26],0,[[]],[[]],[[]],[113,112],[113,110],[105,17],0,[105,[[90,[113]]]],[[]],[[]],[[]],0,[[[15,[103]],17,26],105],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[17,[15,[105]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[114,114],25],[115,3],[[114,114],26],0,[[]],[[]],[[],17],[[],17],[[]],[[]],[[]],[[]],[[]],[[]],[[114,114],[[1,[25]]]],[[]],[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[110],[[],4],[[],4],0,[[17,17,17,17,17],110],[[]],[[]],[[]],[[]],[[],1],[[],1],[[110,28],13],[[]],[[]],0,0,[[]],[[]],[[]],[[]],0,[[110,17]],0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0],"p":[[4,"Option"],[3,"DEV_NON_BLOCKING_ACCESS"],[3,"UPIntrFreeCell"],[15,"never"],[4,"Result"],[3,"TypeId"],[15,"u32"],[3,"RISCV64"],[15,"u64"],[3,"Arguments"],[3,"Stdout"],[15,"str"],[6,"Result"],[3,"BLOCK_DEVICE"],[3,"Arc"],[3,"VirtIOBlock"],[15,"usize"],[3,"QUEUE_FRAMES"],[15,"i32"],[3,"UART"],[15,"u8"],[3,"IER"],[3,"LSR"],[3,"MCR"],[4,"Ordering"],[15,"bool"],[8,"IntoIterator"],[3,"Formatter"],[3,"NS16550a"],[3,"NS16550aRaw"],[3,"ReadWithoutDLAB"],[3,"WriteWithoutDLAB"],[3,"GPU_DEVICE"],[3,"VirtIOGpuWrapper"],[3,"KEYBOARD_DEVICE"],[3,"MOUSE_DEVICE"],[3,"VirtIOInputWrapper"],[3,"NET_DEVICE"],[3,"VirtIONetWrapper"],[3,"PLIC"],[4,"IntrTargetPriority"],[3,"UserBuffer"],[3,"OpenFlags"],[3,"ROOT_INODE"],[3,"Inode"],[3,"OSInode"],[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,"Point"],[3,"Translated"],[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,"IPv4"],[3,"LOSE_NET_STACK"],[3,"Error"],[3,"NetStack"],[15,"u16"],[3,"SOCKET_TABLE"],[3,"UDP"],[3,"Condvar"],[3,"TaskContext"],[8,"Mutex"],[3,"MutexSpin"],[3,"MutexBlocking"],[3,"Semaphore"],[3,"UPIntrRefMut"],[3,"INTR_MASKING_INFO"],[3,"UPSafeCellRaw"],[3,"IntrMaskingInfo"],[15,"isize"],[3,"SignalFlags"],[3,"INITPROC"],[3,"RecycleAllocator"],[3,"TaskUserRes"],[3,"PID_ALLOCATOR"],[3,"KSTACK_ALLOCATOR"],[3,"PidHandle"],[3,"KernelStack"],[3,"ProcessControlBlock"],[3,"TaskManager"],[3,"TaskControlBlock"],[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,"CharDevice"],[3,"NS16550aInner"],[8,"GpuDevice"],[3,"VirtIOInputInner"],[8,"InputDevice"],[8,"NetDevice"],[8,"File"],[3,"OSInodeInner"],[8,"StepByOne"],[8,"FrameAllocator"],[13,"Linear"],[3,"Socket"],[3,"CondvarInner"],[3,"MutexBlockingInner"],[3,"SemaphoreInner"]]}\ +"os":{"doc":"","t":[3,12,11,0,11,11,11,11,11,5,0,0,11,0,11,0,11,0,0,0,11,11,14,14,5,11,11,0,0,0,0,0,0,11,11,11,11,11,11,11,6,17,6,17,17,17,17,17,8,17,3,17,17,17,17,17,12,11,11,11,11,11,11,5,10,11,5,10,11,10,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,2,17,17,17,2,17,17,17,17,17,3,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,2,2,2,2,0,0,0,0,0,0,0,3,2,12,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,17,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,0,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,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,2,3,12,11,11,11,11,11,11,11,11,10,10,11,0,11,11,10,11,11,11,11,11,11,11,11,11,10,18,18,18,18,3,3,3,3,3,3,18,18,3,18,18,3,12,12,12,12,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,12,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,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,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,12,12,12,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,12,12,12,12,12,12,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,12,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,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,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,3,8,17,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,10,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,8,3,3,17,17,3,3,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,12,11,11,12,11,11,11,11,10,11,12,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,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,11,11,11,11,12,11,11,11,11,11,11,11,11,12,3,8,17,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,13,3,13,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,11,11,11,11,11,11,11,11,11,8,2,2,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,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,11,12,12,11,11,11,11,11,11,11,11,11,5,11,11,11,12,5,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,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,11,11,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,12,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,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,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,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,2,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,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,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,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,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,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,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,12,11,5,5,5,5,5,11,11,11,11,5,11,11,11,10,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,7,7,5,5,5,13,13,3,13,3,3,4,3,18,18,18,18,12,11,11,12,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,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,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,5,11,11,11,11,11,11,11,11,11,11,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,11,11,11,11,11,11,11,11,11,11,12,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,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,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,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,11,12,11,11,11,11,11,11,11,11,11,11,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,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,3,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,5,11,11,11,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,11,11,3,3,12,5,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,5,11,11,12,11,11,11,11,5,5,12,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,11,11,12,12,12,11,11,11,11,11,11,11,11,11,17,17,17,17,17,17,17,17,17,5,5,5,5,5,12,2,2,2,2,2,3,3,11,11,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,12,11,11,0,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,3,3,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,12,11,11,11,11,11,8,3,3,3,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,10,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,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,11,11,11,11,12,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,12,11,11,11,11,12,3,3,5,12,5,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,17,17,17,17,17,0,0,0,0,0,0,5,0,5,5,5,5,5,5,17,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,11,5,5,11,11,11,5,11,11,0,5,2,2,2,2,2,2,11,5,11,0,11,2,0,11,11,2,2,0,0,2,2,11,11,2,0,5,0,2,0,11,11,11,11,11,2,11,11,3,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,11,11,11,11,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,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,11,11,11,11,11,11,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,12,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,11,11,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,3,12,12,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,5,11,11,11,11,11,11,11,11,11,11,5,12,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,3,3,11,11,11,11,11,11,11,11,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,11,11,11,11,12,12,11,11,11,11,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,3,3,12,11,11,11,11,11,11,11,11,11,11,11,11,11,12,5,5,5,5,5,5,11,11,11,11,12,11,11,11,11,11,11,11,5,11,11,11,11,5,11,5,11,11,11,11,11,11,11,11,11,11,11,11,11,11,18,18,18,18,18,3,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,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,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,12,12,11,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,17,17,3,3,12,5,11,11,11,11,11,11,11,11,5,11,11,11,11,11,11,11,12,11,11,5,5,11,11,11,11,11,11,11,11,11,11,11,5,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,2,0,5,5,5,5,5,5,5,5,5,3,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,11,12,11,12,12,11,11,11,11,11,11,11,12],"n":["DEV_NON_BLOCKING_ACCESS","__private_field","az","board","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","clear_bss","config","console","deref","drivers","from","fs","into","lang_items","mm","net","overflowing_as","overflowing_cast_from","print","println","rust_main","saturating_as","saturating_cast_from","sbi","sync","syscall","task","timer","trap","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","BlockDeviceImpl","CLOCK_FREQ","CharDeviceImpl","EXIT_FAILURE","EXIT_FAILURE_FLAG","EXIT_RESET","EXIT_SUCCESS","MMIO","QEMUExit","QEMU_EXIT_HANDLE","RISCV64","VIRTGPU_XRES","VIRTGPU_YRES","VIRT_PLIC","VIRT_TEST","VIRT_UART","addr","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","device_init","exit","exit","exit_code_encode","exit_failure","exit_failure","exit_success","exit_success","from","into","irq_handler","new","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","CLOCK_FREQ","KERNEL_HEAP_SIZE","KERNEL_STACK_SIZE","MEMORY_END","MMIO","PAGE_SIZE","PAGE_SIZE_BITS","TRAMPOLINE","TRAP_CONTEXT_BASE","USER_STACK_SIZE","Stdout","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","from","into","overflowing_as","overflowing_cast_from","print","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","write_str","BLOCK_DEVICE","BLOCK_DEVICE","UART","UART","block","bus","chardev","gpu","input","net","plic","BLOCK_DEVICE","VirtIOBlock","__private_field","az","block_device_test","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","from","into","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","virtio_blk","wrapping_as","wrapping_cast_from","VIRTIO0","VirtIOBlock","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","condvars","from","handle_irq","into","new","overflowing_as","overflowing_cast_from","read_block","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","virtio_blk","wrapping_as","wrapping_cast_from","write_block","virtio","QUEUE_FRAMES","VirtioHal","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","dma_alloc","dma_dealloc","from","from","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","phys_to_virt","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","virt_to_phys","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","CharDevice","NS16550a","UART","__private_field","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","deref","from","handle_irq","init","into","ns16550a","overflowing_as","overflowing_cast_from","read","saturating_as","saturating_cast_from","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","write","AUX_OUTPUT1","AUX_OUTPUT2","DATA_AVAILABLE","DATA_TERMINAL_READY","IER","LSR","MCR","NS16550a","NS16550aInner","NS16550aRaw","REQUEST_TO_SEND","RX_AVAILABLE","ReadWithoutDLAB","THR_EMPTY","TX_EMPTY","WriteWithoutDLAB","_padding0","_padding1","_padding1","_padding2","all","all","all","az","az","az","az","az","az","az","az","base_addr","bitand","bitand","bitand","bitand_assign","bitand_assign","bitand_assign","bitor","bitor","bitor","bitor_assign","bitor_assign","bitor_assign","bits","bits","bits","bits","bits","bits","bitxor","bitxor","bitxor","bitxor_assign","bitxor_assign","bitxor_assign","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone_into","clone_into","clone_into","cmp","cmp","cmp","complement","complement","complement","condvar","contains","contains","contains","difference","difference","difference","empty","empty","empty","eq","eq","eq","extend","extend","extend","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","fmt","from","from","from","from","from","from","from","from","from_bits","from_bits","from_bits","from_bits_truncate","from_bits_truncate","from_bits_truncate","from_bits_unchecked","from_bits_unchecked","from_bits_unchecked","from_iter","from_iter","from_iter","handle_irq","hash","hash","hash","ier","ier","iir","init","init","inner","insert","insert","insert","intersection","intersection","intersection","intersects","intersects","intersects","into","into","into","into","into","into","into","into","is_all","is_all","is_all","is_empty","is_empty","is_empty","lcr","lcr","lsr","lsr","mcr","mcr","ne","ne","ne","new","new","not","not","not","ns16550a","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","partial_cmp","partial_cmp","rbr","read","read","read_buffer","read_buffer_is_empty","read_end","remove","remove","remove","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","set","set","set","sub","sub","sub","sub_assign","sub_assign","sub_assign","symmetric_difference","symmetric_difference","symmetric_difference","thr","to_owned","to_owned","to_owned","toggle","toggle","toggle","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","type_id","type_id","type_id","type_id","union","union","union","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","write","write","write_end","BMP_DATA","GPU_DEVICE","GpuDevice","VIRTIO7","VirtIOGpuWrapper","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","fb","flush","flush","from","from","get_framebuffer","get_framebuffer","gpu","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","update_cursor","update_cursor","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","InputDevice","KEYBOARD_DEVICE","MOUSE_DEVICE","VIRTIO5","VIRTIO6","VirtIOInputInner","VirtIOInputWrapper","__private_field","__private_field","az","az","az","az","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","condvar","deref","deref","events","from","from","from","from","handle_irq","handle_irq","inner","into","into","into","into","is_empty","is_empty","new","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","read_event","read_event","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_from","try_into","try_into","try_into","try_into","type_id","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","virtio_input","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","0","NET_DEVICE","NetDevice","VIRTIO8","VirtIONetWrapper","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","from","from","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","receive","receive","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","transmit","transmit","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","IntrTargetPriority","Machine","PLIC","Supervisor","az","az","base_addr","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","claim","claim_comp_ptr_of_hart_with_priority","clone","clone_into","complete","disable","enable","enable_ptr","from","from","get_priority","get_threshold","hart_id_with_priority","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","priority_ptr","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","set_priority","set_threshold","supported_number","threshold_ptr_of_hart_with_priority","to_owned","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","File","OSInode","OpenFlags","Pipe","ROOT_INODE","ROOT_INODE","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","az","az","az","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","read","read_all","read_write","readable","readable","remove","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","writable","write","Empty","Full","Normal","Pipe","PipeRingBuffer","RING_BUFFER_SIZE","RingBufferStatus","all_write_ends_closed","arr","available_read","available_write","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","buffer","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","eq","from","from","from","head","into","into","into","make_pipe","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","read","read_byte","read_end_with_buffer","readable","readable","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","writable","write","write_byte","write_end","write_end_with_buffer","Stdin","Stdout","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","read","read","readable","readable","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","writable","writable","write","write","backtrace","panic","FrameTracker","KERNEL_SPACE","KERNEL_SPACE","MapArea","MapPermission","MapType","MemorySet","PageTable","PageTableEntry","PhysAddr","PhysPageNum","StepByOne","UserBuffer","UserBufferIterator","VPNRange","VirtAddr","VirtPageNum","address","frame_alloc","frame_alloc_more","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","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","ceil","ceil","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone","clone","clone","clone","clone_into","clone_into","clone_into","clone_into","clone_into","cmp","cmp","cmp","cmp","current","draw","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","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","page_offset","page_offset","partial_cmp","partial_cmp","partial_cmp","partial_cmp","r","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","step","step","step","to_owned","to_owned","to_owned","to_owned","to_owned","translated","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","FRAME_ALLOCATOR","FrameAllocator","FrameAllocatorImpl","FrameTracker","StackFrameAllocator","__private_field","alloc","alloc","alloc_more","alloc_more","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","current","dealloc","dealloc","deref","drop","end","fmt","frame_alloc","frame_alloc_more","frame_allocator_alloc_more_test","frame_allocator_test","frame_dealloc","from","from","from","init","init_frame_allocator","into","into","into","new","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","ppn","recycled","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","HEAP_ALLOCATOR","HEAP_SPACE","handle_alloc_error","heap_test","init_heap","Framed","Identical","KERNEL_SPACE","Linear","MapArea","MapPermission","MapType","MemorySet","R","U","W","X","__private_field","activate","all","areas","az","az","az","az","az","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","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","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","ne","new","new_bare","new_kernel","not","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","page_table","partial_cmp","push","recycle_data_pages","remap_test","remove","remove_area_with_start_vpn","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","vpn_range","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","0","A","D","G","PTEFlags","PageTable","PageTableEntry","R","U","UserBuffer","UserBufferIterator","V","W","X","all","az","az","az","az","az","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","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","partial_cmp","ppn","readable","remove","root_ppn","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","writable","0","0","IPv4","LOSE_NET_STACK","NetStack","__private_field","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","clone","clone_into","deref","eq","fmt","fmt","from","from","from","from_u32","hexdump","into","into","into","ne","net_interrupt_handler","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","socket","to_owned","to_string","to_string","to_u32","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","udp","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","SOCKET_TABLE","Socket","__private_field","add_socket","az","az","borrow","borrow","borrow_mut","borrow_mut","buffers","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","deref","from","from","get_socket","into","into","lport","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","pop_data","push_data","raddr","remove_socket","rport","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","UDP","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","dport","drop","from","into","new","overflowing_as","overflowing_cast_from","read","readable","saturating_as","saturating_cast_from","socket_index","sport","target","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","writable","write","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","0","Condvar","Mutex","MutexBlocking","MutexSpin","Semaphore","UPIntrFreeCell","UPIntrRefMut","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","condvar","deref","deref_mut","drop","exclusive_access","exclusive_session","from","from","inner","into","into","mutex","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","semaphore","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","up","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Condvar","CondvarInner","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","from","from","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","signal","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wait_no_sched","wait_queue","wait_with_mutex","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","Mutex","MutexBlocking","MutexBlockingInner","MutexSpin","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","from","from","from","inner","into","into","into","lock","lock","lock","locked","locked","new","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unlock","unlock","unlock","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wait_queue","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","Semaphore","SemaphoreInner","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","count","down","from","from","inner","into","into","new","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","up","wait_queue","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","0","UPIntrFreeCell","UPIntrRefMut","enable_intr","inner","swap_and_disable_intr","SYSCALL_CLOSE","SYSCALL_CONDVAR_CREATE","SYSCALL_CONDVAR_SIGNAL","SYSCALL_CONDVAR_WAIT","SYSCALL_CONNECT","SYSCALL_DUP","SYSCALL_EVENT_GET","SYSCALL_EXEC","SYSCALL_EXIT","SYSCALL_FORK","SYSCALL_FRAMEBUFFER","SYSCALL_FRAMEBUFFER_FLUSH","SYSCALL_GETPID","SYSCALL_GETTID","SYSCALL_GET_TIME","SYSCALL_KEY_PRESSED","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","gui","input","net","process","sync","syscall","thread","sys_close","sys_dup","sys_open","sys_pipe","sys_read","sys_write","FB_VADDR","sys_framebuffer","sys_framebuffer_flush","sys_event_get","sys_key_pressed","sys_connect","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","az","block_current_and_run_next","block_current_task","borrow","borrow_mut","cast_from","check_signals_of_current","checked_as","checked_cast_from","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","overflowing_as","overflowing_cast_from","pid2process","pid_alloc","process","processor","remove_from_pid2process","run_tasks","saturating_as","saturating_cast_from","schedule","signal","suspend_current_and_run_next","switch","take_current_task","task","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wakeup_task","wrapping_as","wrapping_cast_from","TaskContext","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","from","goto_trap_return","into","overflowing_as","overflowing_cast_from","ra","s","saturating_as","saturating_cast_from","sp","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","zero_init","0","0","IDLE_PID","KSTACK_ALLOCATOR","KernelStack","PID_ALLOCATOR","PidHandle","RecycleAllocator","TaskUserRes","__private_field","__private_field","alloc","alloc_tid","alloc_user_res","az","az","az","az","az","az","borrow","borrow","borrow","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pid_alloc","process","push_on_top","recycled","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","ustack_base","ustack_base","ustack_bottom_from_tid","ustack_top","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","PID2PCB","TASK_MANAGER","TaskManager","__private_field","__private_field","add","add_task","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","deref","deref","fetch","fetch_task","from","from","from","insert_into_pid2process","into","into","into","new","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","pid2process","ready_queue","remove_from_pid2process","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","try_from","try_from","try_from","try_into","try_into","try_into","type_id","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wakeup_task","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","ProcessControlBlock","ProcessControlBlockInner","alloc_fd","alloc_tid","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","parent","pid","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","semaphore_list","signals","task_res_allocator","tasks","thread_count","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","PROCESSOR","Processor","__private_field","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","checked_as","checked_as","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","run_tasks","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","schedule","take_current","take_current_task","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","SIGABRT","SIGFPE","SIGILL","SIGINT","SIGSEGV","SignalFlags","all","az","bitand","bitand_assign","bitor","bitor_assign","bits","bits","bitxor","bitxor_assign","borrow","borrow_mut","cast_from","check_error","checked_as","checked_cast_from","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","overflowing_as","overflowing_cast_from","partial_cmp","remove","saturating_as","saturating_cast_from","set","sub","sub_assign","symmetric_difference","to_owned","toggle","try_from","try_into","type_id","union","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","__switch","Blocked","Ready","Running","TaskControlBlock","TaskControlBlockInner","TaskStatus","az","az","az","borrow","borrow","borrow","borrow_mut","borrow_mut","borrow_mut","cast_from","cast_from","cast_from","checked_as","checked_as","checked_as","checked_cast_from","checked_cast_from","checked_cast_from","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","overflowing_as","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","overflowing_cast_from","process","res","saturating_as","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","saturating_cast_from","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","unwrapped_as","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","wrapping_cast_from","MSEC_PER_SEC","TICKS_PER_SEC","TIMERS","TimerCondVar","__private_field","add_timer","az","az","borrow","borrow","borrow_mut","borrow_mut","cast_from","cast_from","check_timer","checked_as","checked_as","checked_cast_from","checked_cast_from","cmp","deref","eq","expire_ms","from","from","get_time","get_time_ms","into","into","overflowing_as","overflowing_as","overflowing_cast_from","overflowing_cast_from","partial_cmp","saturating_as","saturating_as","saturating_cast_from","saturating_cast_from","set_next_trigger","task","try_from","try_from","try_into","try_into","type_id","type_id","unwrapped_as","unwrapped_as","unwrapped_cast_from","unwrapped_cast_from","wrapping_as","wrapping_as","wrapping_cast_from","wrapping_cast_from","TrapContext","context","disable_supervisor_interrupt","enable_supervisor_interrupt","enable_timer_interrupt","init","set_kernel_trap_entry","set_user_trap_entry","trap_from_kernel","trap_handler","trap_return","TrapContext","app_init_context","az","borrow","borrow_mut","cast_from","checked_as","checked_cast_from","fmt","from","into","kernel_satp","kernel_sp","overflowing_as","overflowing_cast_from","saturating_as","saturating_cast_from","sepc","set_sp","sstatus","trap_handler","try_from","try_into","type_id","unwrapped_as","unwrapped_cast_from","wrapping_as","wrapping_cast_from","x"],"q":["os","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::board","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::config","","","","","","","","","","os::console","","","","","","","","","","","","","","","","","","","","","","os::drivers","","","","","","","","","","","os::drivers::block","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::block::virtio_blk","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::bus","os::drivers::bus::virtio","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::chardev","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::chardev::ns16550a","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::gpu","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::input","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::net","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::drivers::plic","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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::memory_set::MapType","os::mm::page_table","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::net","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::net::socket","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::net::udp","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sbi","","","","","","","","","","","","","","os::sync","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::condvar","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::mutex","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::semaphore","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::sync::up","","","","","","os::syscall","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","os::syscall::fs","","","","","","os::syscall::gui","","","os::syscall::input","","os::syscall::net","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":["","","","","","","","","","","","","","","Returns the argument unchanged.","","Calls U::from(self).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","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.","","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).","","","","","","","","","","","","","","","","","","","InterruptEnableRegister","LineStatusRegister","Model Control Register","","","","","","","","","","ignore FCR","ignore MSR","ignore other registers","ignore SCR","Returns the set containing all flags.","Returns the set containing all flags.","Returns the set containing all flags.","","","","","","","","","","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Returns the intersection between the two sets of flags.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Disables all flags disabled in the set.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Returns the union of the two sets of flags.","Adds the set of flags.","Adds the set of flags.","Adds the set of flags.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","Returns the raw value of the flags currently stored.","","","","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Returns the left flags, but with all the right flags …","Toggles the set of flags.","Toggles the set of flags.","Toggles the set of flags.","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns true if all of the flags in other are contained …","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns the difference between the flags in self and other.","Returns an empty set of flags.","Returns an empty set of flags.","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.","Returns the argument unchanged.","Returns the argument unchanged.","Returns the argument unchanged.","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, unless that …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, dropping any …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","Convert from underlying bit representation, preserving all …","","","","","","","","interrupt enable register","interrupt enable register","interrupt identification register","","","","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Inserts the specified flags in-place.","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns the intersection between the flags in self and …","Returns true if there are flags common to both self and …","Returns true if there are flags common to both 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).","Calls U::from(self).","Calls U::from(self).","Calls U::from(self).","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if all flags are currently set.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","Returns true if no flags are currently stored.","line control register","line control register","line status register","line status register","model control register","modem control register","","","","","","Returns the complement of this set of flags.","Returns the complement of this set of flags.","Returns the complement of this set of flags.","","","","","","","","","","","","","","","","","","","","","receiver buffer register","","","","","","Removes the specified flags in-place.","Removes the specified flags in-place.","Removes the specified flags in-place.","","","","","","","","","","","","","","","","","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Inserts or removes the specified flags depending on the …","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Returns the set difference of the two sets of flags.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Disables all flags enabled in the set.","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","Returns the symmetric difference between the flags in self …","transmitter holding register","","","","Toggles the specified flags in-place.","Toggles the specified flags in-place.","Toggles the specified flags in-place.","","","","","","","","","","","","","","","","","","","","","","","","","Returns the union of between the flags in self and other.","Returns the union of between the flags in self and other.","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.","Returns the argument unchanged.","","","","Calls U::from(self).","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.","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.","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","offset of page num","","","","","","","","","","","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.","","","","","","","","","","","","","Add a new MapArea into this MemorySet. Assuming that there …","","","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.","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","Panic if the data has been borrowed.","","Returns the argument unchanged.","Returns the argument unchanged.","inner data","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.","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).","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","inner data","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","check UART’s read-buffer is empty or not","","","","","","","","If there is not a child process whose pid is same as …","","","","","","","","","","","","","","thread does not exist, return -1 thread has not exited …","","","","","","","","","","","","","","This function must be followed by a schedule","","","","","","","","","","","","","","","","","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,2,2,0,2,2,2,2,2,0,0,0,2,0,2,0,2,0,0,0,2,2,0,0,0,2,2,0,0,0,0,0,0,2,2,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,8,8,8,8,0,113,8,0,113,8,113,8,8,8,0,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,11,11,11,11,11,11,11,11,11,11,0,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,14,14,0,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,14,14,0,0,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,18,114,18,114,18,114,18,114,18,114,18,114,18,18,114,114,114,18,114,18,114,18,114,18,114,114,18,114,18,114,18,114,18,114,18,114,18,114,18,114,114,18,114,18,0,0,0,20,20,20,20,20,20,20,20,20,115,115,20,0,20,20,115,20,20,20,20,20,20,20,20,20,115,24,24,23,24,0,0,0,0,0,0,24,22,0,23,22,0,32,31,32,31,22,23,24,31,32,30,116,29,22,23,24,30,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,29,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,22,22,22,22,22,23,23,23,23,23,24,24,24,24,24,31,32,30,116,29,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,29,22,23,24,31,32,31,30,29,29,22,23,24,22,23,24,22,23,24,31,32,30,116,29,22,23,24,22,23,24,22,23,24,31,32,31,32,31,32,22,23,24,30,29,22,23,24,116,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,22,23,24,31,30,29,116,29,30,22,23,24,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,22,23,24,22,23,24,22,23,24,22,23,24,32,22,23,24,22,23,24,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,22,23,24,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,31,32,30,116,29,22,23,24,30,29,30,0,0,0,0,0,33,34,33,34,33,34,33,34,33,34,33,34,33,33,34,117,34,34,33,117,34,34,34,33,34,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,34,33,117,34,34,33,34,33,0,0,0,0,0,0,0,35,36,118,37,35,36,118,37,35,36,118,37,35,36,118,37,35,36,118,37,35,36,118,37,35,36,37,35,36,118,118,37,35,36,119,37,37,118,37,35,36,119,37,37,118,37,35,36,118,37,35,36,119,37,118,37,35,36,118,37,35,36,118,37,35,36,118,37,35,36,118,37,35,36,118,37,35,36,118,37,35,36,118,118,37,35,36,118,37,35,36,39,0,0,0,0,38,39,38,39,38,39,38,39,38,39,38,39,38,38,39,38,39,38,39,39,38,39,38,120,39,39,38,39,38,120,39,39,38,39,38,39,38,39,38,39,38,39,38,39,38,0,41,0,41,40,41,40,40,41,40,41,40,41,40,41,40,41,40,40,41,41,40,40,40,40,40,41,40,40,40,40,41,40,40,41,40,41,40,40,41,40,41,40,40,41,40,41,40,41,40,41,40,41,40,41,40,41,40,41,40,41,0,0,0,0,0,0,0,0,0,0,0,0,0,121,121,0,121,121,43,0,0,0,43,43,0,43,43,44,43,46,122,44,43,43,43,43,43,43,43,43,43,46,122,44,43,46,122,44,43,46,122,44,43,46,122,44,43,46,122,44,43,43,43,43,43,43,44,43,43,43,43,43,43,43,43,43,46,122,44,43,43,43,43,43,43,46,122,43,43,43,46,122,44,43,43,43,0,43,46,43,122,0,46,122,44,43,46,122,44,43,43,46,46,43,46,46,43,46,122,44,43,46,122,44,43,43,43,43,43,43,43,46,122,44,43,46,122,44,43,46,122,44,43,43,46,122,44,43,46,122,44,43,46,122,44,43,46,122,44,43,46,46,46,49,49,49,0,0,0,0,48,48,48,48,50,48,49,50,48,49,50,48,49,50,50,48,49,50,48,49,50,48,49,49,49,49,50,48,49,48,50,48,49,0,48,50,48,49,50,48,49,50,48,50,50,50,50,48,49,50,48,49,48,48,48,49,50,48,49,50,48,49,50,48,49,50,48,49,50,48,49,50,48,49,50,48,49,50,50,50,48,48,50,0,0,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,51,52,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,54,55,56,57,0,0,0,0,0,0,0,0,0,0,0,0,54,55,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,54,55,60,54,55,56,57,59,60,54,55,56,57,59,54,55,56,57,59,54,55,56,57,59,54,55,56,57,60,60,60,54,55,56,57,54,55,54,55,56,57,60,54,54,54,55,55,55,56,56,56,57,57,57,59,56,59,54,56,56,54,59,57,60,54,55,56,57,59,60,59,59,54,55,56,57,60,59,60,60,54,55,56,57,59,60,54,55,56,57,59,54,55,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,123,56,57,54,55,56,57,59,60,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,60,54,55,56,57,59,0,0,0,0,0,64,124,63,124,63,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,63,124,63,64,65,63,65,0,0,0,0,0,65,63,64,63,0,65,63,64,124,65,63,65,63,64,65,63,64,65,63,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,65,63,64,0,0,0,0,0,69,69,0,69,0,0,0,0,68,68,68,68,72,67,68,67,67,70,72,69,68,68,68,68,68,68,68,68,68,67,70,72,69,68,67,70,72,69,68,67,70,72,69,68,67,70,72,69,68,67,70,72,69,68,69,68,69,68,68,68,68,70,70,72,68,0,0,0,68,69,68,0,0,68,69,68,68,68,68,68,67,70,72,69,68,70,68,68,68,67,67,68,68,68,67,68,68,67,70,72,69,68,68,68,0,70,70,70,67,70,69,68,70,67,67,68,67,70,72,69,68,67,70,72,69,68,67,68,67,67,0,68,67,67,70,72,69,68,67,70,72,69,68,0,0,68,0,0,0,68,68,68,69,68,68,67,67,67,70,72,69,68,67,70,72,69,68,67,70,72,69,68,68,70,70,67,70,72,69,68,67,70,72,69,68,70,67,70,72,69,68,67,70,72,69,68,125,74,74,74,0,0,0,74,74,0,0,74,74,74,74,71,42,75,74,73,74,74,74,74,74,74,73,74,74,71,42,75,74,73,71,42,75,74,73,42,75,71,42,75,74,73,71,42,75,74,73,71,42,75,74,73,74,73,74,73,74,74,74,75,75,74,74,73,74,73,74,71,71,73,74,74,74,74,74,71,71,42,75,74,73,74,74,74,74,71,74,74,74,74,71,42,75,74,73,42,75,74,74,73,42,71,74,71,42,73,75,74,71,42,75,74,73,71,42,75,74,73,74,73,73,74,71,71,42,75,74,73,71,42,75,74,73,74,74,74,74,74,73,74,71,71,71,0,0,0,0,71,42,75,74,73,71,42,75,74,73,71,42,75,74,73,74,71,71,42,75,74,73,71,42,75,74,73,71,42,75,74,73,71,42,75,74,73,73,77,80,0,0,0,78,77,80,78,77,80,78,77,80,78,77,80,78,77,80,78,77,80,78,77,77,78,77,77,77,77,80,78,77,0,77,80,78,77,0,77,80,77,80,78,77,80,78,77,80,78,77,80,78,0,77,77,77,77,77,80,78,77,80,78,77,80,78,0,77,80,78,77,80,78,77,80,78,77,80,78,0,0,82,0,126,82,126,82,126,82,126,126,82,126,82,126,82,82,126,82,0,126,82,126,126,82,126,82,0,0,126,0,126,126,82,126,82,126,82,126,82,126,82,126,82,126,82,126,82,126,82,0,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,84,0,0,0,0,0,0,0,3,84,3,84,3,84,3,84,3,84,3,84,0,84,84,84,3,3,3,84,3,3,84,0,3,3,84,3,84,3,84,3,84,0,3,84,3,84,3,84,3,84,3,84,0,3,84,3,84,0,0,85,127,85,127,85,127,85,127,85,127,85,127,85,127,85,85,127,85,85,127,85,127,85,127,85,127,85,85,127,85,127,85,127,85,127,85,127,85,127,85,85,127,85,127,0,0,0,0,88,89,128,88,89,128,88,89,128,88,89,128,88,89,128,88,89,128,88,89,128,89,88,89,128,87,88,89,88,128,88,89,88,89,128,88,89,128,88,89,128,88,89,128,88,89,128,88,89,128,88,89,128,87,88,89,88,89,128,88,89,128,128,88,89,128,88,89,128,0,0,90,129,90,129,90,129,90,129,90,129,90,129,129,90,90,129,90,90,129,90,90,129,90,129,90,129,90,129,90,129,90,129,90,129,90,129,90,129,90,129,90,129,90,129,84,0,0,0,3,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,93,0,0,93,0,0,93,93,93,0,93,93,0,0,0,0,0,0,0,0,93,0,93,0,93,0,0,93,93,0,0,0,0,0,0,93,93,0,0,0,0,0,0,93,93,93,93,93,0,93,93,0,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,86,98,99,0,0,0,0,0,0,0,96,97,94,95,95,94,98,99,95,96,97,94,98,99,95,96,97,94,98,99,95,96,97,94,98,99,95,96,97,94,98,99,95,96,97,94,98,99,95,96,97,94,94,95,95,96,97,98,99,95,94,98,99,95,96,97,99,94,98,99,95,96,97,0,0,94,95,94,98,99,95,96,97,94,98,99,95,96,97,0,95,99,94,94,98,99,95,96,97,94,98,99,95,96,97,95,0,95,95,94,98,99,95,96,97,94,98,99,95,96,97,94,98,99,95,96,97,94,98,99,95,96,97,94,98,99,95,96,97,95,95,0,95,94,98,99,95,96,97,94,98,99,95,96,97,0,0,0,103,104,101,0,101,103,104,101,103,104,101,103,104,101,103,104,101,103,104,101,103,104,103,104,101,0,101,103,104,0,101,103,104,101,101,103,104,101,103,104,0,101,0,101,103,104,101,103,104,101,103,104,101,103,104,101,103,104,101,103,104,101,103,104,0,101,103,104,101,103,104,0,0,105,105,100,105,100,105,100,105,100,105,100,105,100,105,105,105,105,100,105,105,100,100,105,105,105,100,100,100,100,105,105,105,105,100,100,105,100,105,105,100,100,105,100,105,105,105,105,105,105,100,105,100,105,100,105,100,105,100,105,100,105,100,105,0,0,108,106,108,106,108,106,108,106,108,106,108,106,108,106,106,0,0,0,0,0,0,108,106,108,106,106,106,108,106,106,108,106,108,0,106,108,106,108,0,106,0,106,108,106,108,106,108,106,108,106,108,106,108,106,108,92,92,92,92,92,0,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,92,0,109,109,109,0,0,0,102,110,109,102,110,109,102,110,109,102,110,109,102,110,109,102,110,109,109,109,109,110,102,110,109,110,110,102,102,102,102,110,109,102,102,102,110,109,102,110,109,102,110,102,110,109,102,110,109,110,110,109,110,102,110,109,102,110,109,102,110,109,102,110,109,102,110,109,102,110,109,102,110,109,0,0,0,0,112,0,111,112,111,112,111,112,111,112,0,111,112,111,112,111,112,111,111,111,112,0,0,111,112,111,112,111,112,111,111,112,111,112,0,111,111,112,111,112,111,112,111,112,111,112,111,112,111,112,0,0,0,0,0,0,0,0,0,0,0,0,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107,107],"f":[0,0,[[]],0,[[]],[[]],[[]],[[],1],[[],1],[[]],0,0,[2,3],0,[[]],0,[[]],0,0,0,[[]],[[]],0,0,[[],4],[[]],[[]],0,0,0,0,0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[7,4],[[8,7],4],[7,7],[[],4],[8,4],[[],4],[8,4],[[]],[[]],[[]],[9,8],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[[]],[[]],[[]],[10],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[[11,12],13],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[14,15],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],0,[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],0,[[]],[16],[[]],[[],16],[[]],[[]],[[16,17]],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],0,[[]],[[]],[[16,17]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[18,3],[17,17],[[17,17],19],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[17,17],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[17,17],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[],1],[[],1],[20,15],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],21],[[]],[[]],[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[21],0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],22],[[],23],[[],24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[22,22],22],[[23,23],23],[[24,24],24],[[22,22]],[[23,23]],[[24,24]],[[22,22],22],[[23,23],23],[[24,24],24],[[22,22]],[[23,23]],[[24,24]],[22,21],[23,21],[24,21],0,0,0,[[22,22],22],[[23,23],23],[[24,24],24],[[22,22]],[[23,23]],[[24,24]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[22,22],[23,23],[24,24],[[]],[[]],[[]],[[22,22],25],[[23,23],25],[[24,24],25],[22,22],[23,23],[24,24],0,[[22,22],26],[[23,23],26],[[24,24],26],[[22,22],22],[[23,23],23],[[24,24],24],[[],22],[[],23],[[],24],[[22,22],26],[[23,23],26],[[24,24],26],[[22,27]],[[23,27]],[[24,27]],[[22,28],13],[[22,28],13],[[22,28],13],[[22,28],13],[[22,28],13],[[23,28],13],[[23,28],13],[[23,28],13],[[23,28],13],[[23,28],13],[[24,28],13],[[24,28],13],[[24,28],13],[[24,28],13],[[24,28],13],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[21,[[1,[22]]]],[21,[[1,[23]]]],[21,[[1,[24]]]],[21,22],[21,23],[21,24],[21,22],[21,23],[21,24],[27,22],[27,23],[27,24],[29],[22],[23],[24],0,0,0,[30],[29],0,[[22,22]],[[23,23]],[[24,24]],[[22,22],22],[[23,23],23],[[24,24],24],[[22,22],26],[[23,23],26],[[24,24],26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[22,26],[23,26],[24,26],[22,26],[23,26],[24,26],0,0,0,0,0,0,[[22,22],26],[[23,23],26],[[24,24],26],[17,30],[[],29],[22,22],[23,23],[24,24],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[22,22],[[1,[25]]]],[[23,23],[[1,[25]]]],[[24,24],[[1,[25]]]],0,[30,[[1,[21]]]],[29,21],0,[29,26],[30,31],[[22,22]],[[23,23]],[[24,24]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[22,22,26]],[[23,23,26]],[[24,24,26]],[[22,22],22],[[23,23],23],[[24,24],24],[[22,22]],[[23,23]],[[24,24]],[[22,22],22],[[23,23],23],[[24,24],24],0,[[]],[[]],[[]],[[22,22]],[[23,23]],[[24,24]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[22,22],22],[[23,23],23],[[24,24],24],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[30,21]],[[29,21]],[30,32],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[33,15],0,[[]],[34],[[]],[[]],[[]],[34],0,[[]],[[]],[[],34],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[34],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[35,15],[36,15],0,[[]],[[]],[[]],[[]],[[]],[37],0,[[]],[[]],[[]],[[]],[[],26],[37,26],[17,37],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],9],[37,9],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[38,15],[[]],[[]],[[]],[[]],[[],39],[[]],[[]],[[]],[[]],[[],17],[39,17],[[]],[[]],[[]],[[]],[[]],[39],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[40,17,41],7],[[40,17,41],7],[41,41],[[]],[[40,17,41,7]],[[40,17,41,17]],[[40,17,41,17]],[[40,17,41,17]],[[]],[[]],[[40,17],7],[[40,17,41],7],[[17,41],17],[[]],[[]],[17,40],[[]],[[]],[[]],[[]],[[40,17],7],[[]],[[]],[[]],[[]],[[40,17,7]],[[40,17,41,7]],[[],17],[[40,17,41],7],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[42,17],[[],26],0,[[],26],[42,17],0,0,0,0,0,0,0,0,0,0,[[],43],[[]],[[]],[[]],[[]],[[43,43],43],[[43,43]],[[43,43],43],[[43,43]],[43,7],0,[[43,43],43],[[43,43]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[43,43],[[]],[[43,43],25],[43,43],[[43,43],26],[44,15],[[43,43],43],[[],43],[[43,43],26],[[43,27]],[[43,28],13],[[43,28],13],[[43,28],13],[[43,28],13],[[43,28],13],[[]],[[]],[[]],[[]],[7,[[1,[43]]]],[7,43],[7,43],[27,43],[43],0,0,[[43,43]],[[43,43],43],[[43,43],26],[[]],[[]],[[]],[[]],[43,26],[43,26],[[]],[[43,43],26],[[26,26,[15,[45]]],46],[43,43],0,[[12,43],[[1,[[15,[46]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[43,43],[[1,[25]]]],[[46,42],17],[46,[[47,[21]]]],[43],[46,26],0,[[43,43]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[43,43,26]],[[43,43],43],[[43,43]],[[43,43],43],[[]],[[43,43]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[43,43],43],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[46,26],0,[[46,42],17],0,0,0,0,0,0,0,[48,26],0,[48,17],[48,17],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[49,49],[[]],[[49,49],26],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],48],[[]],[[]],[[]],[[]],[[]],[[]],[[50,42],17],[48,21],[[[15,[[3,[48]]]]],50],[50,26],0,[[]],[[]],[[]],[[]],[[]],[[]],[[48,15]],0,0,[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[50,26],0,[[50,42],17],[[48,21]],0,[[[15,[[3,[48]]]]],50],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[51,42],17],[[52,42],17],[51,26],[52,26],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[51,26],[52,26],[[51,42],17],[[52,42],17],[[]],[53,4],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,[54,26],[55,26],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[54,56],[55,57],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[54,54],[55,55],[56,56],[57,57],[[[59,[58]]],[[59,[58]]]],[[]],[[]],[[]],[[]],[[]],[[54,54],25],[[55,55],25],[[56,56],25],[[57,57],25],0,[[],5],0,[[54,54],26],[[55,55],26],[[56,56],26],[[57,57],26],[54,56],[55,57],[[54,28],13],[[55,28],13],[[56,28],13],[[57,28],13],[[]],[56,54],[[]],[17,54],[[]],[57,55],[17,55],[54,56],[[]],[17,56],[17,57],[[]],[55,57],[[]],[56],[59],[54],[56],[56],[54],[59],[57],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[59],0,[[54,54],26],[[55,55],26],[[56,56],26],[[57,57],26],[[],60],[[],59],[60,1],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[54,17],[55,17],[[54,54],[[1,[25]]]],[[55,55],[[1,[25]]]],[[56,56],[[1,[25]]]],[[57,57],[[1,[25]]]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[56],[57],[[]],[[]],[[]],[[]],[[]],[61,62],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[],[[1,[56]]]],[63,[[1,[56]]]],[17,[[1,[[47,[56]]]]]],[[63,17],[[1,[[47,[56]]]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[56],[[63,56]],[64,3],[65],0,[[65,28],13],[[],[[1,[65]]]],[17,[[1,[[47,[65]]]]]],[[]],[[]],[56],[[]],[[]],[[]],[[63,56,56]],[[]],[[]],[[]],[[]],[[]],[56,65],[[],63],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[66,4],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,[67],[[],68],0,[[]],[[]],[[]],[[]],[[]],[[68,68],68],[[68,68]],[[68,68],68],[[68,68]],[68,21],0,[[68,68],68],[[68,68]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[69,69],[68,68],[[]],[[]],[[68,68],25],[68,68],[[68,68],26],[[70,71]],0,[72,15],[[68,68],68],0,0,0,[[],68],[[69,69],26],[[68,68],26],0,0,[[68,27]],[[69,28],13],[[68,28],13],[[68,28],13],[[68,28],13],[[68,28],13],[[68,28],13],[[]],[[]],[[]],[[]],[[]],[70,70],[21,[[1,[68]]]],[21,68],[21,68],[[]],[67,67],[27,68],[68],[[68,68]],[[67,55,55,68]],[[68,68],68],[[68,68],26],[[]],[[]],[[]],[[]],[[]],[68,26],[68,26],[[],17],[[70,71]],[[70,71,57]],0,[67],0,[[69,69],26],[[68,68],26],[[55,55,69,68],70],[[],67],[[],67],[68,68],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[68,68],[[1,[25]]]],[[67,70,1]],[67],[[]],[[68,68]],[[67,57]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[68,68,26]],0,0,0,[[68,68],68],[[68,68]],[[68,68],68],[[]],[[]],[[68,68]],[67,17],[[67,57],[[1,[73]]]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[68,68],68],[[70,71]],[[70,71,57]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,0,0,0,0,0,0,0,[[],74],[[]],[[]],[[]],[[]],[[]],[[74,74],74],[[74,74]],[[74,74],74],[[74,74]],[74,21],0,0,[[74,74],74],[[74,74]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[74,74],[73,73],[[]],[[]],[[74,74],25],[74,74],[[74,74],26],0,0,[[74,74],74],[[],74],[[],73],[[74,74],26],[73,26],[[74,27]],[[71,57],[[1,[73]]]],[[71,57],[[1,[73]]]],[73,74],[[74,28],13],[[74,28],13],[[74,28],13],[[74,28],13],[[74,28],13],0,[[]],[[]],[[]],[[]],[[]],[21,[[1,[74]]]],[21,74],[21,74],[27,74],[17,71],[74],[[74,74]],[[74,74],74],[[74,74],26],[[]],[[]],[[]],[[]],[[]],[42],[[]],[74,26],[74,26],[73,26],[42,17],[[71,57,56,74]],[[74,74],26],[[],71],[47,42],[[56,74],73],[75,1],[74,74],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[74,74],[[1,[25]]]],[73,56],[73,26],[[74,74]],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[74,74,26]],[[74,74],74],[[74,74]],[[74,74],74],[[]],[[]],[[74,74]],[71,17],[[71,57],[[1,[73]]]],[[71,55],[[1,[54]]]],[[17,21,17],47],[17],[17],[[17,21],76],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[74,74],74],[[71,57]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[73,26],0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[77,77],[[]],[78,15],[[77,77],26],[[77,28],[[5,[79]]]],[[77,28],[[5,[79]]]],[[]],[[]],[[]],[7,77],[[]],[[]],[[]],[[]],[[77,77],26],[[]],[[21,21,21,21],77],[[],80],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[77,76],[[],76],[77,7],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[77,81,81],[[1,[17]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[],1],[[],1],[[],1],[[],1],[82,3],[[]],[[]],[[77,81,81],[[1,[17]]]],[[]],[[]],0,[[]],[[]],[[]],[[]],[17,[[1,[[47,[21]]]]]],[[17,[47,[21]]]],0,[17],0,[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[],1],[[],1],0,[83],[[]],[[]],[[77,81,81],83],[[]],[[]],[[83,42],17],[83,26],[[]],[[]],0,0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[83,26],[[83,42],17],0,0,0,0,0,0,0,0,0,[[],17],[17],[[17,17,17,17],17],[17],[17,4],0,0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[84],[84],[84],[3,84],[3],[[]],[[]],0,[[]],[[]],0,[[],3],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[]],[[]],0,[[]],[[]],[[],85],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[85],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[85,86],0,[[85,[15,[87]]]],[[]],[[]],[[]],[[]],0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[88],[89],0,0,[[],88],[[],89],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[88],[89],[[]],[[]],[[]],[[]],[[]],[[]],0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,[90],[[]],[[]],0,[[]],[[]],[17,90],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[90],0,[[]],[[]],[[]],[[]],0,0,0,[[]],0,[[],26],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,[17,91],0,[17,91],[17,91],[[21,7],91],[17,91],[[17,21,17],91],[[17,21,17],91],0,[[],91],[[],91],[[],91],[[],91],[[7,81,81],91],[[21,17],91],[19,4],[[],91],[[],91],[[],91],[[17,7],91],[[91,19],91],[[],91],[[],91],[17,91],[[17,17],91],[26,91],[17,91],[17,91],[17,91],[17,91],[17,91],[17,91],[[],91],[[17,17],91],[17,19],0,0,0,0,0,0,0,0,0,[[]],0,[[]],[[]],[[],86],[[]],[[]],[[]],[[],1],[[],1],[[],1],0,[92],0,0,0,0,0,0,[93,15],[19],[[]],0,[[]],0,0,[[]],[[]],0,0,0,0,0,0,[[]],[[]],0,0,[[]],0,0,0,[[],5],[[],5],[[],6],[[]],[[]],0,[[]],[[]],0,[[]],[[]],[[]],[[]],[[],1],[[],1],[[]],[17,86],[[]],[[]],[[]],0,0,[[]],[[]],0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],[[],86],0,0,0,0,0,0,0,0,0,0,0,[94,17],[95],[95],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],0,[[94,17]],[95],[95],[96,3],[97,3],[98],[99],[95],[[]],[[]],[[]],[[]],[[]],[[]],[99,17],[[]],[[]],[[]],[[]],[[]],[[]],[17],[[],99],[[],94],[[[15,[100]],17,26],95],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],98],0,[99],0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,[17,17],[95,56],[95,17],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[95,17],0,[[17,17],17],[95,17],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[101,[15,[102]]]],[[[15,[102]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[103,3],[104,3],[101,[[1,[[15,[102]]]]]],[[],[[1,[[15,[102]]]]]],[[]],[[]],[[]],[[17,[15,[100]]]],[[]],[[]],[[]],[[],101],[[]],[[]],[[]],[[]],[[]],[[]],[17,[[1,[[15,[100]]]]]],0,[17],[[]],[[]],[[]],[[]],[[]],[[]],[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[[15,[102]]]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[105,17],[105,17],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],0,0,[[105,17]],[[15,[47,[76]]]],0,0,[15,[[15,[100]]]],[[]],[[]],[[105,17],[[15,[102]]]],[105,17],[100,17],0,[100,[[84,[105]]]],[[]],[[]],0,0,0,[[],[[15,[100]]]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],0,0,0,0,[105,17],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[106,[[1,[[15,[102]]]]]],0,[[],17],[[],[[15,[100]]]],[[],[[1,[[15,[102]]]]]],[[],107],[[],17],[[],17],[108,3],[[]],[[]],[106,86],0,[[]],[[]],[[],106],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[86],[106,[[1,[[15,[102]]]]]],[[],[[1,[[15,[102]]]]]],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,0,[[],92],[[]],[[92,92],92],[[92,92]],[[92,92],92],[[92,92]],[92,7],0,[[92,92],92],[[92,92]],[[]],[[]],[[]],[92,1],[[],1],[[],1],[92,92],[[]],[[92,92],25],[92,92],[[92,92],26],[[92,92],92],[[],92],[[92,92],26],[[92,27]],[[92,28],13],[[92,28],13],[[92,28],13],[[92,28],13],[[92,28],13],[[]],[7,[[1,[92]]]],[7,92],[7,92],[27,92],[92],[[92,92]],[[92,92],92],[[92,92],26],[[]],[92,26],[92,26],[[92,92],26],[92,92],[[]],[[]],[[92,92],[[1,[25]]]],[[92,92]],[[]],[[]],[[92,92,26]],[[92,92],92],[[92,92]],[[92,92],92],[[]],[[92,92]],[[],5],[[],5],[[],6],[[92,92],92],[[]],[[]],[[]],[[]],0,0,0,0,0,0,0,[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[],1],[[],1],[109,109],[[]],[[109,109],26],0,[[]],[[]],[[]],[110,109],[110,107],[102,17],0,[102,[[84,[110]]]],[[]],[[]],[[]],0,[[[15,[100]],17,26],102],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],0,[[],5],[[],5],[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,0,0,0,[[17,[15,[102]]]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[],1],[[],1],[[],1],[[],1],[[111,111],25],[112,3],[[111,111],26],0,[[]],[[]],[[],17],[[],17],[[]],[[]],[[]],[[]],[[]],[[]],[[111,111],[[1,[25]]]],[[]],[[]],[[]],[[]],[[]],0,[[],5],[[],5],[[],5],[[],5],[[],6],[[],6],[[]],[[]],[[]],[[]],[[]],[[]],[[]],[[]],0,0,[[]],[[]],[[]],[[]],[[]],[[]],[107],[[],4],[[],4],0,[[17,17,17,17,17],107],[[]],[[]],[[]],[[]],[[],1],[[],1],[[107,28],13],[[]],[[]],0,0,[[]],[[]],[[]],[[]],0,[[107,17]],0,0,[[],5],[[],5],[[],6],[[]],[[]],[[]],[[]],0],"p":[[4,"Option"],[3,"DEV_NON_BLOCKING_ACCESS"],[3,"UPIntrFreeCell"],[15,"never"],[4,"Result"],[3,"TypeId"],[15,"u32"],[3,"RISCV64"],[15,"u64"],[3,"Arguments"],[3,"Stdout"],[15,"str"],[6,"Result"],[3,"BLOCK_DEVICE"],[3,"Arc"],[3,"VirtIOBlock"],[15,"usize"],[3,"QUEUE_FRAMES"],[15,"i32"],[3,"UART"],[15,"u8"],[3,"IER"],[3,"LSR"],[3,"MCR"],[4,"Ordering"],[15,"bool"],[8,"IntoIterator"],[3,"Formatter"],[3,"NS16550a"],[3,"NS16550aRaw"],[3,"ReadWithoutDLAB"],[3,"WriteWithoutDLAB"],[3,"GPU_DEVICE"],[3,"VirtIOGpuWrapper"],[3,"KEYBOARD_DEVICE"],[3,"MOUSE_DEVICE"],[3,"VirtIOInputWrapper"],[3,"NET_DEVICE"],[3,"VirtIONetWrapper"],[3,"PLIC"],[4,"IntrTargetPriority"],[3,"UserBuffer"],[3,"OpenFlags"],[3,"ROOT_INODE"],[3,"Inode"],[3,"OSInode"],[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,"Point"],[3,"Translated"],[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,"IPv4"],[3,"LOSE_NET_STACK"],[3,"Error"],[3,"NetStack"],[15,"u16"],[3,"SOCKET_TABLE"],[3,"UDP"],[3,"UPIntrRefMut"],[3,"Condvar"],[3,"TaskContext"],[8,"Mutex"],[3,"MutexSpin"],[3,"MutexBlocking"],[3,"Semaphore"],[15,"isize"],[3,"SignalFlags"],[3,"INITPROC"],[3,"RecycleAllocator"],[3,"TaskUserRes"],[3,"PID_ALLOCATOR"],[3,"KSTACK_ALLOCATOR"],[3,"PidHandle"],[3,"KernelStack"],[3,"ProcessControlBlock"],[3,"TaskManager"],[3,"TaskControlBlock"],[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,"CharDevice"],[3,"NS16550aInner"],[8,"GpuDevice"],[3,"VirtIOInputInner"],[8,"InputDevice"],[8,"NetDevice"],[8,"File"],[3,"OSInodeInner"],[8,"StepByOne"],[8,"FrameAllocator"],[13,"Linear"],[3,"Socket"],[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/issue-104/src/os/fs/inode.rs.html b/issue-104/src/os/fs/inode.rs.html index 3d8fbdf9..aab207b7 100644 --- a/issue-104/src/os/fs/inode.rs.html +++ b/issue-104/src/os/fs/inode.rs.html @@ -137,6 +137,8 @@ 137 138 139 +140 +141
use super::File;
 use crate::drivers::BLOCK_DEVICE;
 use crate::mm::UserBuffer;
@@ -222,9 +224,11 @@
 }
 
 pub fn open_file(name: &str, flags: OpenFlags) -> Option<Arc<OSInode>> {
+    println!("open_file :1");
     let (readable, writable) = flags.read_write();
     if flags.contains(OpenFlags::CREATE) {
         if let Some(inode) = ROOT_INODE.find(name) {
+            println!("open_file :2");
             // clear size
             inode.clear();
             Some(Arc::new(OSInode::new(readable, writable, inode)))
diff --git a/issue-104/src/os/sync/up.rs.html b/issue-104/src/os/sync/up.rs.html
index e6c94cb0..e629763c 100644
--- a/issue-104/src/os/sync/up.rs.html
+++ b/issue-104/src/os/sync/up.rs.html
@@ -21,262 +21,27 @@
 21
 22
 23
-24
-25
-26
-27
-28
-29
-30
-31
-32
-33
-34
-35
-36
-37
-38
-39
-40
-41
-42
-43
-44
-45
-46
-47
-48
-49
-50
-51
-52
-53
-54
-55
-56
-57
-58
-59
-60
-61
-62
-63
-64
-65
-66
-67
-68
-69
-70
-71
-72
-73
-74
-75
-76
-77
-78
-79
-80
-81
-82
-83
-84
-85
-86
-87
-88
-89
-90
-91
-92
-93
-94
-95
-96
-97
-98
-99
-100
-101
-102
-103
-104
-105
-106
-107
-108
-109
-110
-111
-112
-113
-114
-115
-116
-117
-118
-119
-120
-121
-122
-123
-124
-125
-126
-127
-128
-129
-130
-131
-132
-133
-134
-135
-136
-137
-138
-139
-140
-
use core::cell::{RefCell, RefMut, UnsafeCell};
-use core::ops::{Deref, DerefMut};
-use lazy_static::*;
+
pub use ksync::{UPIntrFreeCell, UPIntrRefMut};
 use riscv::register::sstatus;
 
-/*
-/// Wrap a static data structure inside it so that we are
-/// able to access it without any `unsafe`.
-///
-/// We should only use it in uniprocessor.
-///
-/// In order to get mutable reference of inner data, call
-/// `exclusive_access`.
-pub struct UPSafeCell<T> {
-    /// inner data
-    inner: RefCell<T>,
+// extern "C" {
+//     fn swap_and_disable_intr() -> bool;
+//     fn enable_intr();
+// }
+
+#[no_mangle]
+extern "C" fn swap_and_disable_intr() -> bool {
+    let sie = sstatus::read().sie();
+    unsafe {
+        sstatus::clear_sie();
+    }
+    sie
 }
 
-unsafe impl<T> Sync for UPSafeCell<T> {}
-
-impl<T> UPSafeCell<T> {
-    /// User is responsible to guarantee that inner struct is only used in
-    /// uniprocessor.
-    pub unsafe fn new(value: T) -> Self {
-        Self {
-            inner: RefCell::new(value),
-        }
+#[no_mangle]
+extern "C" fn enable_intr() {
+    unsafe {
+        sstatus::set_sie();
     }
-    /// Panic if the data has been borrowed.
-    pub fn exclusive_access(&self) -> RefMut<'_, T> {
-        self.inner.borrow_mut()
-    }
-}
-*/
-
-pub struct UPSafeCellRaw<T> {
-    inner: UnsafeCell<T>,
-}
-
-unsafe impl<T> Sync for UPSafeCellRaw<T> {}
-
-impl<T> UPSafeCellRaw<T> {
-    pub unsafe fn new(value: T) -> Self {
-        Self {
-            inner: UnsafeCell::new(value),
-        }
-    }
-    pub fn get_mut(&self) -> &mut T {
-        unsafe { &mut (*self.inner.get()) }
-    }
-}
-
-pub struct IntrMaskingInfo {
-    nested_level: usize,
-    sie_before_masking: bool,
-}
-
-lazy_static! {
-    static ref INTR_MASKING_INFO: UPSafeCellRaw<IntrMaskingInfo> =
-        unsafe { UPSafeCellRaw::new(IntrMaskingInfo::new()) };
-}
-
-impl IntrMaskingInfo {
-    pub fn new() -> Self {
-        Self {
-            nested_level: 0,
-            sie_before_masking: false,
-        }
-    }
-
-    pub fn enter(&mut self) {
-        let sie = sstatus::read().sie();
-        unsafe {
-            sstatus::clear_sie();
-        }
-        if self.nested_level == 0 {
-            self.sie_before_masking = sie;
-        }
-        self.nested_level += 1;
-    }
-
-    pub fn exit(&mut self) {
-        self.nested_level -= 1;
-        if self.nested_level == 0 && self.sie_before_masking {
-            unsafe {
-                sstatus::set_sie();
-            }
-        }
-    }
-}
-
-pub struct UPIntrFreeCell<T> {
-    /// inner data
-    inner: RefCell<T>,
-}
-
-unsafe impl<T> Sync for UPIntrFreeCell<T> {}
-
-pub struct UPIntrRefMut<'a, T>(Option<RefMut<'a, T>>);
-
-impl<T> UPIntrFreeCell<T> {
-    pub unsafe fn new(value: T) -> Self {
-        Self {
-            inner: RefCell::new(value),
-        }
-    }
-
-    /// Panic if the data has been borrowed.
-    pub fn exclusive_access(&self) -> UPIntrRefMut<'_, T> {
-        INTR_MASKING_INFO.get_mut().enter();
-        UPIntrRefMut(Some(self.inner.borrow_mut()))
-    }
-
-    pub fn exclusive_session<F, V>(&self, f: F) -> V
-    where
-        F: FnOnce(&mut T) -> V,
-    {
-        let mut inner = self.exclusive_access();
-        f(inner.deref_mut())
-    }
-}
-
-impl<'a, T> Drop for UPIntrRefMut<'a, T> {
-    fn drop(&mut self) {
-        self.0 = None;
-        INTR_MASKING_INFO.get_mut().exit();
-    }
-}
-
-impl<'a, T> Deref for UPIntrRefMut<'a, T> {
-    type Target = T;
-    fn deref(&self) -> &Self::Target {
-        self.0.as_ref().unwrap().deref()
-    }
-}
-impl<'a, T> DerefMut for UPIntrRefMut<'a, T> {
-    fn deref_mut(&mut self) -> &mut Self::Target {
-        self.0.as_mut().unwrap().deref_mut()
-    }
-}
-
+}
\ No newline at end of file diff --git a/issue-104/src/os/syscall/process.rs.html b/issue-104/src/os/syscall/process.rs.html index 651bbe77..c9aad475 100644 --- a/issue-104/src/os/syscall/process.rs.html +++ b/issue-104/src/os/syscall/process.rs.html @@ -115,6 +115,9 @@ 115 116 117 +118 +119 +120
use crate::fs::{open_file, OpenFlags};
 use crate::mm::{translated_ref, translated_refmut, translated_str};
 use crate::task::{
@@ -172,8 +175,11 @@
             args = args.add(1);
         }
     }
+    println!("sys_exec :1");
     if let Some(app_inode) = open_file(path.as_str(), OpenFlags::RDONLY) {
+        println!("sys_exec :2");
         let all_data = app_inode.read_all();
+        println!("sys_exec :3");
         let process = current_process();
         let argc = args_vec.len();
         process.exec(all_data.as_slice(), args_vec);