Collaboration diagram for Real-time shadow services.:
![]() |
Files | |
file | shadow.c |
Real-time shadow services. | |
Functions | |
static int | xnshadow_harden (void) |
Migrate a Linux task to the RTAI domain. | |
void | xnshadow_relax (int notify) |
Switch a shadow thread back to the Linux domain. | |
int | xnshadow_map (xnthread_t *thread, xncompletion_t __user *u_completion) |
Create a shadow thread context. |
|
Migrate a Linux task to the RTAI domain.
For internal use only. This service causes the transition of "current" from the Linux domain to RTAI. This is obtained by asking the gatekeeper to resume the shadow mated with "current" then triggering the rescheduling procedure in the RTAI domain. The shadow will resume in the RTAI domain as returning from schedule(). Environments: This service can be called from:
Rescheduling: always. |
|
Create a shadow thread context.
For internal use only. This call maps a nucleus thread to the "current" Linux task.
Environments: This service can be called from:
Rescheduling: always. |
|
Switch a shadow thread back to the Linux domain.
For internal use only. This service yields the control of the running shadow back to Linux. This is obtained by suspending the shadow and scheduling a wake up call for the mated user task inside the Linux domain. The Linux task will resume on return from xnpod_suspend_thread() on behalf of the root thread.
This service can be called from:
Rescheduling: always.
|