Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
return;
d->is_shut_down = 1;
- if ( d->shutdown_code == SHUTDOWN_suspend
- && d->suspend_evtchn > 0 )
- {
+ if ( (d->shutdown_code == SHUTDOWN_suspend) && d->suspend_evtchn )
evtchn_set_pending(dom0->vcpu[0], d->suspend_evtchn);
- }
else
send_guest_global_virq(dom0, VIRQ_DOM_EXC);
}
goto out; \
} while ( 0 )
-static int evtchn_set_pending(struct vcpu *v, int port);
-
static int virq_is_global(int virq)
{
int rc;
}
-static int evtchn_set_pending(struct vcpu *v, int port)
+int evtchn_set_pending(struct vcpu *v, int port)
{
struct domain *d = v->domain;
#include <asm/bitops.h>
#include <asm/event.h>
+/* Returns TRUE if the delivery port was already pending. */
+int evtchn_set_pending(struct vcpu *v, int port);
+
/*
* send_guest_vcpu_virq: Notify guest via a per-VCPU VIRQ.
* @v: VCPU to which virtual IRQ should be sent