mirror of
https://github.com/rcore-os/rCore-Tutorial-v3.git
synced 2024-11-28 04:13:35 +04:00
1 line
3.7 KiB
JavaScript
1 line
3.7 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\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\nReturns the argument unchanged.\nCalls <code>U::from(self)</code>.\nReturns the argument unchanged.\nReturns the argument unchanged.\nGet base address of app i.\nGet the total number of applications.\nget app info with entry and sp and save <code>TrapContext</code> in …\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nLoad nth user app at [APP_BASE_ADDRESS + n * …\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 time in milliseconds\ncurrent task gives up resources for other tasks\nGlobal variable: TASK_MANAGER\nTask Context\nThe task manager, where all the tasks are managed.\nInner of Task Manager\nImplementation of <code>TaskContext</code>\nid of current <code>Running</code> task\nexit current task, then run next task\nFind next task to run and return task id.\nReturns the argument unchanged.\nReturns the argument unchanged.\nReturns the argument unchanged.\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>.\nexit current task\nChange the status of current <code>Running</code> task into <code>Exited</code>.\nsuspend current task\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 first task\nRun the first task in task list.\nrust next task\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 current task, then run next task\nRust wrapper around <code>__switch</code>.\nTypes related to task management\ntask list\nTask Context\nReturns the argument unchanged.\nset task context {__restore ASM funciton, kernel stack, …\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 …\nReturns the argument unchanged.\nReturns the argument unchanged.\nCalls <code>U::from(self)</code>.\nCalls <code>U::from(self)</code>.\nread the <code>mtime</code> register\nget current time in milliseconds\nset the next timer interrupt\nTrap Context\ntimer interrupt enabled\ninitialize CSR <code>stvec</code> as the entry of <code>__alltraps</code>\nCSR sepc\nCSR sstatus \nhandle an interrupt, exception, or system call from user …\ngeneral regs[0..31]\nTrap Context\ninit app context\nReturns the argument unchanged.\nCalls <code>U::from(self)</code>.\nCSR sepc\nset stack pointer to x_2 reg (sp)\nCSR sstatus \ngeneral regs[0..31]") |