mirror of
https://github.com/xen-project/xen.git
synced 2026-10-29 18:50:05 +01:00
bitkeeper revision 1.1713.2.6 (42b305b9mdLLzenpwCqtnZeLKLPMXw)
Check to ensure no interrupts to deliver before allowing a guest to "pause" itself
This commit is contained in:
1 parent
2f7af7ea22
commit
2abc242e40
1 file changed
+11
@@ -40,6 +40,17 @@ ia64_hypercall (struct pt_regs *regs)
|
||||
#endif
|
||||
x = pal_emulator_static(regs->r28);
|
||||
if (regs->r28 == PAL_HALT_LIGHT) {
|
||||
#if 1
|
||||
#define SPURIOUS_VECTOR 15
|
||||
if (vcpu_check_pending_interrupts(v)!=SPURIOUS_VECTOR) {
|
||||
//printf("Domain trying to go idle when interrupt pending!\n");
|
||||
//this shouldn't happen, but it apparently does quite a bit! so don't
|
||||
//allow it to happen... i.e. if a domain has an interrupt pending and
|
||||
//it tries to halt itself because it thinks it is idle, just return here
|
||||
//as deliver_pending_interrupt is called on the way out and will deliver it
|
||||
}
|
||||
else
|
||||
#endif
|
||||
do_sched_op(SCHEDOP_yield);
|
||||
//break;
|
||||
}
|
||||
|
||||