From owner-p4-projects@FreeBSD.ORG Mon Jun 19 14:55:20 2006 Return-Path: X-Original-To: p4-projects@freebsd.org Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 3661816A47C; Mon, 19 Jun 2006 14:55:20 +0000 (UTC) X-Original-To: perforce@freebsd.org Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id F409C16A47A for ; Mon, 19 Jun 2006 14:55:19 +0000 (UTC) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id C4C284484E for ; Mon, 19 Jun 2006 14:55:19 +0000 (GMT) (envelope-from piso@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.13.6/8.13.6) with ESMTP id k5JEtJgX074137 for ; Mon, 19 Jun 2006 14:55:19 GMT (envelope-from piso@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.13.6/8.13.4/Submit) id k5JEtJ7r074134 for perforce@freebsd.org; Mon, 19 Jun 2006 14:55:19 GMT (envelope-from piso@freebsd.org) Date: Mon, 19 Jun 2006 14:55:19 GMT Message-Id: <200606191455.k5JEtJ7r074134@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to piso@freebsd.org using -f From: Paolo Pisati To: Perforce Change Reviews Cc: Subject: PERFORCE change 99603 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Jun 2006 14:55:20 -0000 http://perforce.freebsd.org/chv.cgi?CH=99603 Change 99603 by piso@piso_newluxor on 2006/06/19 14:54:34 Convert amd64 to use MI interrupt filter code too. Affected files ... .. //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#2 edit Differences ... ==== //depot/projects/soc2006/intr_filter/amd64/amd64/intr_machdep.c#2 (text+ko) ==== @@ -170,7 +170,6 @@ { struct thread *td; struct intr_event *ie; - struct intr_handler *ih; int error, vector, thread; td = curthread; @@ -219,20 +218,8 @@ td->td_intr_nesting_level++; thread = 0; critical_enter(); - TAILQ_FOREACH(ih, &ie->ie_handlers, ih_next) { - if (!(ih->ih_flags & IH_FAST)) { - thread = 1; - continue; - } - CTR4(KTR_INTR, "%s: exec %p(%p) for %s", __func__, - ih->ih_handler, ih->ih_argument == NULL ? frame : - ih->ih_argument, ih->ih_name); - if (ih->ih_argument == NULL) - ih->ih_handler(frame); - else - ih->ih_handler(ih->ih_argument); - } - + thread = intr_filter_loop(ie, frame); + /* * If there are any threaded handlers that need to run, * mask the source as well as sending it an EOI. Otherwise,