From owner-p4-projects@FreeBSD.ORG Tue Apr 22 21:27:13 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C5031065672; Tue, 22 Apr 2008 21:27:13 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1EC31106566C for ; Tue, 22 Apr 2008 21:27:13 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 159128FC16 for ; Tue, 22 Apr 2008 21:27:13 +0000 (UTC) (envelope-from gonzo@FreeBSD.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m3MLRCsD011236 for ; Tue, 22 Apr 2008 21:27:12 GMT (envelope-from gonzo@FreeBSD.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m3MLRCsw011234 for perforce@freebsd.org; Tue, 22 Apr 2008 21:27:12 GMT (envelope-from gonzo@FreeBSD.org) Date: Tue, 22 Apr 2008 21:27:12 GMT Message-Id: <200804222127.m3MLRCsw011234@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to gonzo@FreeBSD.org using -f From: Oleksandr Tymoshenko To: Perforce Change Reviews Cc: Subject: PERFORCE change 140426 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: Tue, 22 Apr 2008 21:27:13 -0000 http://perforce.freebsd.org/chv.cgi?CH=140426 Change 140426 by gonzo@gonzo_jeeves on 2008/04/22 21:26:19 o Remove noisy printf's from mask/unmas functions o Add new parameter (irq) to intr_event_create call o Use intr_event_handle instead of handmade loop Affected files ... .. //depot/projects/mips2-jnpr/src/sys/mips/mips/intr_machdep.c#10 edit Differences ... ==== //depot/projects/mips2-jnpr/src/sys/mips/mips/intr_machdep.c#10 (text+ko) ==== @@ -57,14 +57,12 @@ mips_mask_irq(void) { - printf("Unimplemented: %s\n", __func__); } void mips_unmask_irq(void) { - printf("Unimplemented: %s\n", __func__); } void @@ -84,9 +82,9 @@ event = hardintr_events[irq]; if (event == NULL) { - error = intr_event_create(&event, (void *)irq, 0, + error = intr_event_create(&event, (void *)irq, 0, irq, (mask_fn)mips_mask_irq, (mask_fn)mips_unmask_irq, - (mask_fn)mips_unmask_irq, NULL, "hard intr%d:", irq); + NULL, NULL, "hard intr%d:", irq); if (error) return; hardintr_events[irq] = event; @@ -122,9 +120,9 @@ event = softintr_events[irq]; if (event == NULL) { - error = intr_event_create(&event, (void *)irq, 0, + error = intr_event_create(&event, (void *)irq, 0, irq, (mask_fn)mips_mask_irq, (mask_fn)mips_unmask_irq, - (mask_fn)mips_unmask_irq, NULL, "intr%d:", irq); + NULL, NULL, "intr%d:", irq); if (error) return; softintr_events[irq] = event; @@ -139,13 +137,11 @@ void cpu_intr(struct trapframe *tf) { - struct intr_handler *ih; struct intr_event *event; register_t cause; int hard; int intr; int i; - int thread; critical_enter(); @@ -171,26 +167,16 @@ break; } - if (!event || TAILQ_EMPTY(&event->ie_handlers)) - { - printf("stray %s interrupt %d\n", - hard ? "hard" : "soft", i); - continue; + if (!event || TAILQ_EMPTY(&event->ie_handlers)) { + printf("stray %s interrupt %d\n", + hard ? "hard" : "soft", i); + continue; } - /* Execute fast handlers. */ - thread = 0; - TAILQ_FOREACH(ih, &event->ie_handlers, ih_next) { - if (ih->ih_filter == NULL) - thread = 1; - else - ih->ih_filter(ih->ih_argument ? - ih->ih_argument : tf); + if (intr_event_handle(event, tf) != 0) { + printf("stray %s interrupt %d\n", + hard ? "hard" : "soft", i); } - - /* Schedule thread if needed. */ - if (thread) - intr_event_schedule_thread(event); } KASSERT(i == 0, ("all interrupts handled"));