From owner-svn-src-projects@FreeBSD.ORG Mon May 2 17:04:09 2011 Return-Path: Delivered-To: svn-src-projects@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E97CC106564A; Mon, 2 May 2011 17:04:09 +0000 (UTC) (envelope-from marcel@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id D92348FC13; Mon, 2 May 2011 17:04:09 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.4/8.14.4) with ESMTP id p42H49g8046665; Mon, 2 May 2011 17:04:09 GMT (envelope-from marcel@svn.freebsd.org) Received: (from marcel@localhost) by svn.freebsd.org (8.14.4/8.14.4/Submit) id p42H49vg046663; Mon, 2 May 2011 17:04:09 GMT (envelope-from marcel@svn.freebsd.org) Message-Id: <201105021704.p42H49vg046663@svn.freebsd.org> From: Marcel Moolenaar Date: Mon, 2 May 2011 17:04:09 +0000 (UTC) To: src-committers@freebsd.org, svn-src-projects@freebsd.org X-SVN-Group: projects MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r221330 - projects/altix/sys/ia64/ia64 X-BeenThere: svn-src-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the src " projects" tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 02 May 2011 17:04:10 -0000 Author: marcel Date: Mon May 2 17:04:09 2011 New Revision: 221330 URL: http://svn.freebsd.org/changeset/base/221330 Log: As it happens, interrupts actually do work. The problem is that bge(4) in this case is simply not asserting an interrupt. I suspect that this is due to DMA not working. A non-DMA device that generates interrupts (A 3D graphics card, programmed to interrupt on DDC events in this particular case) proofs that interrupts work. With this out of the way, what's left to do is: 1. IPIs (fairly trivial) 2. DMA (rather involved) Modified: projects/altix/sys/ia64/ia64/interrupt.c Modified: projects/altix/sys/ia64/ia64/interrupt.c ============================================================================== --- projects/altix/sys/ia64/ia64/interrupt.c Mon May 2 16:51:02 2011 (r221329) +++ projects/altix/sys/ia64/ia64/interrupt.c Mon May 2 17:04:09 2011 (r221330) @@ -166,8 +166,6 @@ ia64_intr_eoi(void *arg) KASSERT(i != NULL, ("%s", __func__)); if (i->sapic != NULL) sapic_eoi(i->sapic, xiv); - else - printf("XXX-INTR: %s: XIV=%u\n", __func__, xiv); } static void @@ -181,8 +179,6 @@ ia64_intr_mask(void *arg) if (i->sapic != NULL) { sapic_mask(i->sapic, i->irq); sapic_eoi(i->sapic, xiv); - } else - printf("XXX-INTR: %s: XIV=%u\n", __func__, xiv); } static void @@ -195,8 +191,6 @@ ia64_intr_unmask(void *arg) KASSERT(i != NULL, ("%s", __func__)); if (i->sapic != NULL) sapic_unmask(i->sapic, i->irq); - else - printf("XXX-INTR: %s: XIV=%u\n", __func__, xiv); } static int @@ -423,10 +417,6 @@ ia64_ih_irq(struct thread *td, u_int xiv PCPU_INC(md.stats.pcs_nhwints); - if (bootverbose) - printf("INTR: ITC=%u, XIV=%u\n", (u_int)tf->tf_special.ifa, - xiv); - /* Find the interrupt thread for this XIV. */ i = ia64_intrs[xiv]; KASSERT(i != NULL, ("%s: unassigned XIV", __func__));