Date: Wed, 12 Jul 2006 10:26:29 GMT From: Paolo Pisati <piso@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 101347 for review Message-ID: <200607121026.k6CAQTdF014497@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=101347 Change 101347 by piso@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)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607121026.k6CAQTdF014497>