static void continue_new_vcpu(struct vcpu *prev){ schedule_tail(prev); if ( is_idle_vcpu(current) ) reset_stack_and_jump(idle_loop); else /* check_wakeup_from_wait(); */ reset_stack_and_jump(return_to_new_vcpu); return_to_new_vcpu -> return_to_hypervisor ENTRY(return_to_hypervisor) cpsid i ldr lr, [sp, #UREGS_lr] ldr r11, [sp, #UREGS_pc] msr ELR_hyp, r11 ldr r11, [sp, #UREGS_cpsr] msr SPSR_hyp, ..