PERFORCE change 132223 for review
Kip Macy
kmacy at FreeBSD.org
Mon Dec 31 22:28:56 PST 2007
http://perforce.freebsd.org/chv.cgi?CH=132223
Change 132223 by kmacy at pandemonium:kmacy:xen31 on 2008/01/01 06:28:11
mark interrupts as masked when not enabled and unmasked when enabled
Affected files ...
.. //depot/projects/xen31/sys/xen/evtchn/evtchn.c#5 edit
Differences ...
==== //depot/projects/xen31/sys/xen/evtchn/evtchn.c#5 (text+ko) ====
@@ -659,7 +659,11 @@
xenpic_dynirq_enable_intr(struct intsrc *isrc)
{
unsigned int irq;
+ struct xenpic_intsrc *xp;
+
+ xp = (struct xenpic_intsrc *)isrc;
mtx_lock_spin(&irq_mapping_update_lock);
+ xp->xp_masked = 0;
irq = xenpic_vector(isrc);
unmask_evtchn(evtchn_from_irq(irq));
mtx_unlock_spin(&irq_mapping_update_lock);
@@ -669,7 +673,11 @@
xenpic_dynirq_disable_intr(struct intsrc *isrc)
{
unsigned int irq;
+ struct xenpic_intsrc *xp;
+
+ xp = (struct xenpic_intsrc *)isrc;
mtx_lock_spin(&irq_mapping_update_lock);
+ xp->xp_masked = 1;
irq = xenpic_vector(isrc);
mask_evtchn(evtchn_from_irq(irq));
mtx_unlock_spin(&irq_mapping_update_lock);
@@ -679,8 +687,11 @@
xenpic_dynirq_eoi_source(struct intsrc *isrc)
{
unsigned int irq;
-
+ struct xenpic_intsrc *xp;
+
+ xp = (struct xenpic_intsrc *)isrc;
mtx_lock_spin(&irq_mapping_update_lock);
+ xp->xp_masked = 0;
irq = xenpic_vector(isrc);
unmask_evtchn(evtchn_from_irq(irq));
mtx_unlock_spin(&irq_mapping_update_lock);
@@ -703,7 +714,8 @@
struct xenpic_intsrc *pin = (struct xenpic_intsrc *)isrc;
/* XXXEN: TODO */
- printf("xenpic_source_pending(): vector=%x,masked=%x\n", pin->xp_vector, pin->xp_masked);
+ printf("xenpic_source_pending(): vector=%x,masked=%x\n",
+ pin->xp_vector, pin->xp_masked);
/* notify_remote_via_evtchn(pin->xp_vector); // XXX RS: Is this correct? */
return 0;
More information about the p4-projects
mailing list