My Project
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Functions
tzhyp_sched.c File Reference
#include <system_context.h>
#include <sw_debug.h>
#include <sw_timer.h>
#include <tzhyp_global.h>
#include <unused.h>

Functions

void tzhyp_schedule_guest (void)
 Hypervisor scheduler does the job of scheduling between multiple guest OS. More...
 
int tzhyp_schedevent_init (void)
 Trustzone hypervisor schedule event initialization. More...
 

Function Documentation

int tzhyp_schedevent_init ( void  )

Trustzone hypervisor schedule event initialization.

Returns
void tzhyp_schedule_guest ( void  )

Hypervisor scheduler does the job of scheduling between multiple guest OS.

CPU context switching to a new guest OS For every guest OS there is a cpu register context meant for NS world. Secure world is common across all guest OS. CPU register context involves both core registers and system registers(eg. cp15). a. The sytem register context of the 'current' guest OS(NS world) is saved and the same is restored with that of the 'next' guest OS to be scheduled. b. Saving and restoring of core registers(NS world) is handled by the monitor fiq handler entry and exit path. So we just need to adjust he context pointers so that the right core register context gets restored during exit from the exception.