initSidebarItems({"fn":[["frame_alloc","allocate a frame"],["frame_dealloc","deallocate a frame"],["init","initiate heap allocator, frame allocator and kernel space"],["kernel_token","Get kernelspace root ppn"],["remap_test","Check PageTable running correctly"],["translated_byte_buffer","Translate a pointer to a mutable u8 Vec through page table"],["translated_ref","Translate a generic through page table and return a reference"],["translated_refmut","Translate a generic through page table and return a mutable reference"],["translated_str","Translate a pointer to a mutable u8 Vec end with `\\0` through page table to a `String`"]],"mod":[["address","Implementation of physical and virtual address and page number."],["frame_allocator","Implementation of [`FrameAllocator`] which  controls all the frames in the operating system."],["heap_allocator","The global allocator"],["memory_set","Implementation of [`MapArea`] and [`MemorySet`]."],["page_table","Implementation of [`PageTableEntry`] and [`PageTable`]."]],"struct":[["FrameTracker","manage a frame which has the same lifecycle as the tracker"],["KERNEL_SPACE","a memory set instance through lazy_static! managing kernel space"],["MapPermission","map permission corresponding to that in pte: `R W X U`"],["MemorySet","memory set structure, controls virtual-memory space"],["PageTable","Record root ppn and has the same lifetime as 1 and 2 level `PageTableEntry`"],["PageTableEntry","page table entry structure"],["PhysAddr","Definitions"],["PhysPageNum","phiscal page number"],["UserBuffer","Array of u8 slice that user communicate with os"],["UserBufferIterator","Iterator of `UserBuffer`"],["VirtAddr","virtual address"],["VirtPageNum","virtual page number"]],"trait":[["StepByOne","Add value by one"]]});