5.2 Address Space Management Functions
Memory access privilege is held as access privilege information for each task. Essentially access privilege information indicates the right to access at the protection level immediately before an extended SVC is called. If, for example, a task is running at protection level 3 when it calls an extended SVC, its access privilege information indicates the right to access at protection level 3. Since the protection level when an extended SVC is executing is protection level 0, in the case of nested calling of an extended SVC from another extended SVC, access privilege information in the extended SVC for which a nested call was made indicates the right to access at protection level 0.
Memory access privilege information is set as follows.
- Immediately after a task is started, its access privilege is that specified when the task was created.
- When an extended SVC is called, the access privilege at the protection level at which it was running at the time of the call is set.
- Upon return from the extended SVC, the access privilege reverts to that at the time the extended SVC was called.
- Executing SetTaskSpace() copies the current access privilege of the target task to the invoking task.

Comments