SVC: Difference between revisions
No edit summary |
No edit summary |
||
| Line 327: | Line 327: | ||
Each process can only use SVCs which are enabled in the [[NCCH#CXI|exheader]] for this process. The ARM11 kernel SVC handler checks whether the SVC is enabled in the syscall access control mask stored on the SVC-mode stack. When a process context switch is done, the syscall mask is loaded from the KProcess object and is written to the SVC-mode stack. | Each process can only use SVCs which are enabled in the [[NCCH#CXI|exheader]] for this process. The ARM11 kernel SVC handler checks whether the SVC is enabled in the syscall access control mask stored on the SVC-mode stack. When a process context switch is done, the syscall mask is loaded from the KProcess object and is written to the SVC-mode stack. | ||
Each process has a separate handle-table, the size of this table is stored in the exheader. The handles in a handle-table can't be used in the context of other processes, since those handles don't exist in other handle-tables. | |||
Calling svcBreak on retail will only terminate the process which called this SVC. | Calling svcBreak on retail will only terminate the process which called this SVC. | ||