Revision d9f75a4e vl.c
b/vl.c | ||
---|---|---|
1193 | 1193 |
qemu_rearm_alarm_timer(alarm_timer); |
1194 | 1194 |
} |
1195 | 1195 |
/* Interrupt execution to force deadline recalculation. */ |
1196 |
if (use_icount && cpu_single_env) { |
|
1197 |
cpu_exit(cpu_single_env); |
|
1198 |
} |
|
1196 |
if (use_icount) |
|
1197 |
qemu_notify_event(); |
|
1199 | 1198 |
} |
1200 | 1199 |
} |
1201 | 1200 |
|
... | ... | |
1370 | 1369 |
#endif |
1371 | 1370 |
} |
1372 | 1371 |
event_pending = 1; |
1372 |
qemu_notify_event(); |
|
1373 | 1373 |
} |
1374 | 1374 |
} |
1375 | 1375 |
|
... | ... | |
3406 | 3406 |
|
3407 | 3407 |
void qemu_service_io(void) |
3408 | 3408 |
{ |
3409 |
CPUState *env = cpu_single_env; |
|
3410 |
if (env) { |
|
3411 |
cpu_exit(env); |
|
3412 |
#ifdef CONFIG_KQEMU |
|
3413 |
if (env->kqemu_enabled) { |
|
3414 |
kqemu_cpu_interrupt(env); |
|
3415 |
} |
|
3416 |
#endif |
|
3417 |
} |
|
3409 |
qemu_notify_event(); |
|
3418 | 3410 |
} |
3419 | 3411 |
|
3420 | 3412 |
/***********************************************************/ |
... | ... | |
3482 | 3474 |
|
3483 | 3475 |
void qemu_bh_schedule(QEMUBH *bh) |
3484 | 3476 |
{ |
3485 |
CPUState *env = cpu_single_env; |
|
3486 | 3477 |
if (bh->scheduled) |
3487 | 3478 |
return; |
3488 | 3479 |
bh->scheduled = 1; |
3489 | 3480 |
bh->idle = 0; |
3490 | 3481 |
/* stop the currently executing CPU to execute the BH ASAP */ |
3491 |
if (env) { |
|
3492 |
cpu_exit(env); |
|
3493 |
} |
|
3482 |
qemu_notify_event(); |
|
3494 | 3483 |
} |
3495 | 3484 |
|
3496 | 3485 |
void qemu_bh_cancel(QEMUBH *bh) |
... | ... | |
3701 | 3690 |
} else { |
3702 | 3691 |
reset_requested = 1; |
3703 | 3692 |
} |
3704 |
if (cpu_single_env) |
|
3705 |
cpu_exit(cpu_single_env); |
|
3693 |
qemu_notify_event(); |
|
3706 | 3694 |
} |
3707 | 3695 |
|
3708 | 3696 |
void qemu_system_shutdown_request(void) |
3709 | 3697 |
{ |
3710 | 3698 |
shutdown_requested = 1; |
3711 |
if (cpu_single_env) |
|
3712 |
cpu_exit(cpu_single_env); |
|
3699 |
qemu_notify_event(); |
|
3713 | 3700 |
} |
3714 | 3701 |
|
3715 | 3702 |
void qemu_system_powerdown_request(void) |
3716 | 3703 |
{ |
3717 | 3704 |
powerdown_requested = 1; |
3718 |
if (cpu_single_env) |
|
3719 |
cpu_exit(cpu_single_env); |
|
3705 |
qemu_notify_event(); |
|
3706 |
} |
|
3707 |
|
|
3708 |
void qemu_notify_event(void) |
|
3709 |
{ |
|
3710 |
CPUState *env = cpu_single_env; |
|
3711 |
|
|
3712 |
if (env) { |
|
3713 |
cpu_exit(env); |
|
3714 |
#ifdef USE_KQEMU |
|
3715 |
if (env->kqemu_enabled) |
|
3716 |
kqemu_cpu_interrupt(env); |
|
3717 |
#endif |
|
3718 |
} |
|
3720 | 3719 |
} |
3721 | 3720 |
|
3722 | 3721 |
#ifdef _WIN32 |
Also available in: Unified diff