Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 1 Jan 2008 06:28:55 GMT
From:      Kip Macy <kmacy@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 132223 for review
Message-ID:  <200801010628.m016Stcv013509@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=132223

Change 132223 by kmacy@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;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200801010628.m016Stcv013509>