Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 5 Jan 2007 15:52:02 GMT
From:      Paolo Pisati <piso@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 112545 for review
Message-ID:  <200701051552.l05Fq267050059@repoman.freebsd.org>

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

Change 112545 by piso@piso_newluxor on 2007/01/05 15:51:53

	Consolidate all the archs on the same behaviour:
	
	in case intr_event_schedule_thread() fails, panic!
	So far, sparc64 was the only arch that didn't panic in this case.

Affected files ...

.. //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#13 edit
.. //depot/projects/soc2006/intr_filter/arm/arm/intr.c#12 edit
.. //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#20 edit
.. //depot/projects/soc2006/intr_filter/ia64/ia64/interrupt.c#11 edit
.. //depot/projects/soc2006/intr_filter/kern/kern_intr.c#23 edit
.. //depot/projects/soc2006/intr_filter/powerpc/powerpc/intr_machdep.c#17 edit
.. //depot/projects/soc2006/intr_filter/sparc64/sparc64/intr_machdep.c#12 edit

Differences ...

==== //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#13 (text+ko) ====

@@ -280,9 +280,6 @@
 		/* FALLTHROUGH */
 	case ECHILD:
 		break;
-	case EFAULT:
-		panic("Bad stray interrupt\n");
-		break;		
 	case EINVAL:
 		/*
 		 * For stray interrupts, mask and EOI the source, bump the

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

@@ -148,8 +148,6 @@
 			break;
 		case ECHILD:
 			break;
-		case EFAULT:
-			/* FALLTHROUGH */
 		case EINVAL:
 			break;
 		default:

==== //depot/projects/soc2006/intr_filter/i386/i386/intr_machdep.c#20 (text+ko) ====

@@ -268,9 +268,6 @@
 		/* FALLTHROUGH */
 	case ECHILD:
 		break;
-	case EFAULT:
-		panic("Bad stray interrupt\n");
-		break;		
 	case EINVAL:
 		/*
 		 * For stray interrupts, mask and EOI the source, bump the

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

@@ -404,9 +404,6 @@
 	case ECHILD:
 		ia64_send_eoi(vector);
 		break;
-	case EFAULT:
-		panic("Got an impossible stray interrupt\n");
-		break;
 	case EINVAL:
 		panic("Interrupt vector without an event\n");
 		break;

==== //depot/projects/soc2006/intr_filter/kern/kern_intr.c#23 (text+ko) ====

@@ -1005,7 +1005,6 @@
  * o 0:                         everything ok.
  * o EINVAL:                    stray interrupt.
  * o ECHILD:                    no ithread scheduled.
- * o EFAULT:                    something went wrong with ithread scheduling.
  */
 int
 mi_handle_intr(struct intr_event *ie, struct trapframe *frame, 
@@ -1055,7 +1054,8 @@
 	/* Schedule an ithread if needed. */
 	if (thread & FILTER_SCHEDULE_THREAD) {
 		error = intr_event_schedule_thread(ie, ithd);
-		res = (error == 0) ? 0 : EFAULT;
+		if (error != 0)
+			panic("%s: impossible stray interrupt", __func__);
 	} else
 		res = ECHILD;
 	td->td_intr_nesting_level--;

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

@@ -288,9 +288,6 @@
 	case ECHILD:
 		irq_enable(irq);
 		break;
-	case EFAULT:
-		panic("%s: impossible stray interrupt", __func__);
-		break;
 	case EINVAL:
 		stray_int(irq);
 		break;

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

@@ -279,8 +279,6 @@
 		/* FALLTHROUGH */
 	case ECHILD:
 		break;
-	case EFAULT:
-		/* FALLTHROUGH */
 	case EINVAL:
 		intr_stray_vector(iv);
 		break;



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