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