|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] Check to ensure no interrupts to deliver before allowing
ChangeSet 1.1713.2.6, 2005/06/17 11:17:45-06:00, djm@xxxxxxxxxxxxxxx
Check to ensure no interrupts to deliver before allowing
a guest to "pause" itself
hypercall.c | 11 +++++++++++
1 files changed, 11 insertions(+)
diff -Nru a/xen/arch/ia64/hypercall.c b/xen/arch/ia64/hypercall.c
--- a/xen/arch/ia64/hypercall.c 2005-06-23 07:03:19 -04:00
+++ b/xen/arch/ia64/hypercall.c 2005-06-23 07:03:19 -04:00
@@ -40,6 +40,17 @@
#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;
}
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] Check to ensure no interrupts to deliver before allowing,
BitKeeper Bot <=
|
|
|
|
|