Date: Mon, 2 May 2011 17:04:09 +0000 (UTC) From: Marcel Moolenaar <marcel@FreeBSD.org> To: src-committers@freebsd.org, svn-src-projects@freebsd.org Subject: svn commit: r221330 - projects/altix/sys/ia64/ia64 Message-ID: <201105021704.p42H49vg046663@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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__));
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201105021704.p42H49vg046663>