mirror of
https://github.com/rcore-os/rCore-Tutorial-v3.git
synced 2024-11-28 04:13:35 +04:00
1 line
11 KiB
JavaScript
1 line
11 KiB
JavaScript
searchState.loadedDescShard("os", 0, "The main module and entrypoint\nConstants used in rCore for qemu\nclear BSS segment\nConstants used in rCore\nSBI console driver, for text output\nThe panic handler\nLoading user applications into memory\nMemory management implementation\nprint string macro\nprintln string macro\nthe rust entry-point of os\nSBI call wrappers\nSynchronization and interior mutability primitives\nImplementation of syscalls\nTask management implementation\nRISC-V timer-related functionality\nTrap handling functionality\nReturn (bottom, top) of a kernel stack in kernel space.\nReturns the argument unchanged.\nCalls <code>U::from(self)</code>.\npanic handler\nget applications data\nGet the total number of applications.\nImplementation of physical and virtual address and page …\nImplementation of <code>FrameAllocator</code> which controls all the …\nThe global allocator\ninitiate heap allocator, frame allocator and kernel space\nImplementation of <code>MapArea</code> and <code>MemorySet</code>.\nImplementation of <code>PageTableEntry</code> and <code>PageTable</code>.\nphysical address\nDefinitions\nphysical page number\na simple range structure for type T\niterator for the simple range structure\na simple range structure for virtual page number\nvirtual address\nvirtual page number\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nframe allocator instance through lazy_static!\nmanage a frame which has the same lifecycle as the tracker\nan implementation for frame allocator\nallocate a frame\na simple test for frame allocator\ndeallocate a frame\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\ninitiate the frame allocator using <code>ekernel</code> and <code>MEMORY_END</code>\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nheap allocator instance\nheap space ([u8; KERNEL_HEAP_SIZE])\npanic when heap allocation error occurs\ninitiate heap allocator\na memory set instance through lazy_static! managing kernel …\nmap area structure, controls a contiguous piece of virtual …\nmap permission corresponding to that in pte: <code>R W X U</code>\nmap type for memory set: identical or framed\nmemory set structure, controls virtual-memory space\nReturns the set containing all flags.\nReturns the intersection between the two sets of flags.\nDisables all flags disabled in the set.\nReturns the union of the two sets of flags.\nAdds the set of flags.\nReturns the raw value of the flags currently stored.\nReturns the left flags, but with all the right flags …\nToggles the set of flags.\nReturns the complement of this set of flags.\nReturns <code>true</code> if all of the flags in <code>other</code> are contained …\ndata: start-aligned but maybe with shorter length assume …\nReturns the difference between the flags in <code>self</code> and <code>other</code>.\nReturns an empty set of flags.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConvert from underlying bit representation, unless that …\nConvert from underlying bit representation, dropping any …\nConvert from underlying bit representation, preserving all …\nInclude sections in elf and trampoline and TrapContext and …\nInserts the specified flags in-place.\nAssume that no conflicts.\nReturns the intersection between the flags in <code>self</code> and …\nReturns <code>true</code> if there are flags common to both <code>self</code> and …\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nReturns <code>true</code> if all flags are currently set.\nReturns <code>true</code> if no flags are currently stored.\nMention that trampoline is not collected by areas.\nWithout kernel stacks.\nReturns the complement of this set of flags.\nRemoves the specified flags in-place.\nInserts or removes the specified flags depending on the …\nReturns the set difference of the two sets of flags.\nDisables all flags enabled in the set.\nReturns the symmetric difference between the flags in <code>self</code> …\nToggles the specified flags in-place.\nReturns the union of between the flags in <code>self</code> and <code>other</code>.\npage table entry flags\npage table structure\npage table entry structure\nReturns the set containing all flags.\nReturns the intersection between the two sets of flags.\nDisables all flags disabled in the set.\nReturns the union of the two sets of flags.\nAdds the set of flags.\nReturns the raw value of the flags currently stored.\nReturns the left flags, but with all the right flags …\nToggles the set of flags.\nReturns the complement of this set of flags.\nReturns <code>true</code> if all of the flags in <code>other</code> are contained …\nReturns the difference between the flags in <code>self</code> and <code>other</code>.\nReturns an empty set of flags.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nConvert from underlying bit representation, unless that …\nConvert from underlying bit representation, dropping any …\nConvert from underlying bit representation, preserving all …\nTemporarily used to get arguments from user space.\nInserts the specified flags in-place.\nReturns the intersection between the flags in <code>self</code> and …\nReturns <code>true</code> if there are flags common to both <code>self</code> and …\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nReturns <code>true</code> if all flags are currently set.\nReturns <code>true</code> if no flags are currently stored.\nReturns the complement of this set of flags.\nRemoves the specified flags in-place.\nInserts or removes the specified flags depending on the …\nReturns the set difference of the two sets of flags.\nDisables all flags enabled in the set.\nReturns the symmetric difference between the flags in <code>self</code> …\nToggles the specified flags in-place.\ntranslate a pointer to a mutable u8 Vec through page table\nReturns the union of between the flags in <code>self</code> and <code>other</code>.\nuse sbi call to putchar in console (qemu uart handler)\nuse sbi call to set timer\nuse sbi call to shutdown the kernel\nUniprocessor interior mutability primitives\nWrap a static data structure inside it so that we are able …\nExclusive access inner data in UPSafeCell. Panic if the …\nReturns the argument unchanged.\ninner data\nCalls <code>U::from(self)</code>.\nUser is responsible to guarantee that inner struct is only …\nFile and filesystem-related syscalls\nProcess management syscalls\nhandle syscall exception with <code>syscall_id</code> and other …\nwrite buf of length <code>len</code> to a file with <code>fd</code>\ntask exits and submit an exit code\nget current time\nchange data segment size\ncurrent task gives up resources for other tasks\na <code>TaskManager</code> global instance through lazy_static!\ntask context structure containing some registers\nThe task manager, where all the tasks are managed.\nThe task manager inner in ‘UPSafeCell’\nChange the current ‘Running’ task’s program break\nChange the current ‘Running’ task’s program break\nImplementation of <code>TaskContext</code>\nid of current <code>Running</code> task\nGet the current ‘Running’ task’s trap contexts.\nGet the current ‘Running’ task’s token.\nExit the current ‘Running’ task and run the next task …\nFind next task to run and return task id.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet the current ‘Running’ task’s token.\nGet the current ‘Running’ task’s trap contexts.\nuse inner value to get mutable access\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nChange the status of current <code>Running</code> task into <code>Exited</code>.\nChange the status of current <code>Running</code> task into <code>Exited</code>.\nChange the status of current <code>Running</code> task into <code>Ready</code>.\nChange the status of current <code>Running</code> task into <code>Ready</code>.\ntotal number of tasks\nreturn address ( e.g. __restore ) of __switch ASM function\nRun the first task in task list.\nRun the first task in task list.\nSwitch current <code>Running</code> task to the task we have found, or …\nSwitch current <code>Running</code> task to the task we have found, or …\ncallee saved registers: s 0..11\nkernel stack pointer of app\nSuspend the current ‘Running’ task and run the next …\nRust wrapper around <code>__switch</code>.\nTypes related to task management\ntask list\ntask context structure containing some registers\nReturns the argument unchanged.\nset Task Context{__restore ASM funciton: trap_return, sp: …\nCalls <code>U::from(self)</code>.\nreturn address ( e.g. __restore ) of __switch ASM function\ncallee saved registers: s 0..11\nkernel stack pointer of app\ninit task context\nSwitch to the context of <code>next_task_cx_ptr</code>, saving the …\ntask control block structure\ntask status: UnInit, Ready, Running, Exited\nchange the location of the program break. return None if …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nget current time in microseconds\nset the next timer interrupt\ntrap context structure containing sstatus, sepc and …\nImplementation of <code>TrapContext</code>\nenable timer interrupt in sie CSR\ninitialize CSR <code>stvec</code> as the entry of <code>__alltraps</code>\nAddr of Page Table\nkernel stack\nCSR sepc\nCSR sstatus \nUnimplement: traps/interrupts/exceptions from kernel mode …\nhandle an interrupt, exception, or system call from user …\nAddr of trap_handler function\nset the new addr of __restore asm function in TRAMPOLINE …\ngeneral regs[0..31]\ntrap context structure containing sstatus, sepc and …\ninit app context\nReturns the argument unchanged.\nCalls <code>U::from(self)</code>.\nAddr of Page Table\nkernel stack\nCSR sepc\nset stack pointer to x_2 reg (sp)\nCSR sstatus \nAddr of trap_handler function\ngeneral regs[0..31]") |