Beispiel #1
0
static void qemu_wait_io_event_common(CPUState *env)
{
    if (env->stop) {
	env->stop = 0;
        env->stopped = 1;
    
	if(cpu_break_switch == 1){	    
	    // Correctness: cpu_break_switch is set (in brtm) 
	    // before env->stop is set (in pause_all_vcpus).
	    // Get current affinity, priority, etc. and print out
	    //print_current_vcpu_info(env->cpu_index);
	    
	    if(sched_setaffinity(0, sizeof(cpu_set_t), &adjusted_cpu_set) == -1){
    	        printf(" cpu %d: sched_setaffinity() error\n", env->cpu_index);
    	    }		
	    // TLC show new vcpu info
	    //print_current_vcpu_info(env->cpu_index);
	}
	// make sure the above slowdown is done (if the break was set) 
	// before telling the io-thread to continue.
	qemu_cond_signal(&qemu_pause_cond);
    }
    flush_queued_work(env);
    env->thread_kicked = false;
}
Beispiel #2
0
static void qemu_wait_io_event_common(CPUState *env)
{
    if (env->stop) {
        env->stop = 0;
        env->stopped = 1;
        qemu_cond_signal(&qemu_pause_cond);
    }
    flush_queued_work(env);
}
Beispiel #3
0
static void qemu_wait_io_event_common(CPUState *cpu)
{
    if (cpu->stop) {
        cpu->stop = false;
        cpu->stopped = true;
        qemu_cond_signal(&qemu_pause_cond);
    }
    flush_queued_work(cpu);
    cpu->thread_kicked = false;
}
Beispiel #4
0
static void qemu_wait_io_event_common(CPUArchState *env)
{
    if (env->stop) {
#if defined(CONFIG_S2E_DEBUG)
        s2e_debug_print("CPU: qemu_wait_io_event_common stop\n");
#endif
        env->stop = 0;
        env->stopped = 1;
        qemu_cond_signal(&qemu_pause_cond);
    }
    flush_queued_work(env);
    env->thread_kicked = false;
}