PERFORCE change 101347 for review

Paolo Pisati piso at FreeBSD.org
Wed Jul 12 10:26:38 UTC 2006


http://perforce.freebsd.org/chv.cgi?CH=101347

Change 101347 by piso at piso_newluxor on 2006/07/12 10:25:54

	Slightly updates MD code to correcly use filters and place a comment 
	about interrupts EOIing & masking that was not updated (and should 
	be consequently checked).

Affected files ...

.. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#4 edit
.. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#5 edit
.. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#5 edit
.. //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#5 edit

Differences ...

==== //depot/projects/soc2006/intr_filter/arm/arm/intr.c#4 (text+ko) ====

@@ -116,8 +116,9 @@
 		/* Execute fast handlers. */
 		thread = intr_filter_loop(event, frame);
 
+		// XXX eoi & mask intr not verified.
 		/* Schedule thread if needed. */
-		if (thread)
+		if (thread & FILTER_SCHEDULE_THREAD)
 			intr_event_schedule_thread(event);
 		else
 			arm_unmask_irq(i);

==== //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#5 (text+ko) ====

@@ -383,7 +383,8 @@
 	thread = intr_filter_loop(ie, NULL);
 	critical_exit();
 
-	if (thread) {
+	// XXX eoi & mask intr not verified.
+	if (thread & FILTER_SCHEDULE_THREAD) {
 		error = intr_event_schedule_thread(ie);
 		KASSERT(error == 0, ("got an impossible stray interrupt"));
 	} else

==== //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#5 (text+ko) ====

@@ -239,8 +239,9 @@
 	thread = intr_filter_loop(ie, NULL);
 	critical_exit();
 	
+	// XXX eoi & mask intr not verified.
 	/* Schedule a heavyweight interrupt process. */
-	if (thread)
+	if (thread & FILTER_SCHEDULE_THREAD)
 		error = intr_event_schedule_thread(ie);
 
 	if (error == EINVAL)

==== //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#5 (text+ko) ====

@@ -247,8 +247,9 @@
 	/* Execute fast interrupt handlers directly. */
 	thread = intr_filter_loop(ie, NULL);
 
+	// XXX eoi & mask intr not verified.
 	/* Schedule a heavyweight interrupt process. */
-	if (thread)
+	if (thread & FILTER_SCHEDULE_THREAD)
 		error = intr_event_schedule_thread(ie);
 
 	if (error == EINVAL)


More information about the p4-projects mailing list