Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 22 May 2001 05:54:18 +0200
From:      Tor.Egge@fast.no
To:        madsen@akamba.com
Cc:        freebsd-smp@FreeBSD.ORG
Subject:   Re: Supporting old-style SMP in drivers
Message-ID:  <200105220354.FAA73467@midten.fast.no>
In-Reply-To: Your message of "Mon, 21 May 2001 16:32:31 -0700"
References:  <B5F5C0FDF648D311A9D700508B322DFD3C46A8@mailhost.akamba.com>

next in thread | previous in thread | raw e-mail | index | archive | help
> The problem I'm seeing is that occasionally, the kernel will cease
> delivering interrupts to my handler.  I can poke the NIC and generate an
> interrupt, but the handler is never invoked.  I can examine the PCI
> registers from a user-space application and see that the interrupt was
> generated (and is not masked by the card).  It just never gets handled and
> cleared.

Your problem might be caused by a workaround for a broken MP table on
Micronics W6Li machines.  The IOAPIC is programmed for the default ISA
interrupt type (active-high edge-triggered) for entries in the MP
table described as active-high level-triggered ISA interrupts.

To disable the workaround, apply this patch.

If the machine hangs during boot then you can revert the patch and
change the workaround to switch polarity instead of trigger mode.


Index: mpapic.c
===================================================================
RCS file: /usr/ncvs/src/sys/i386/i386/mpapic.c,v
retrieving revision 1.37.2.4
diff -u -r1.37.2.4 mpapic.c
--- mpapic.c	2000/09/30 02:49:32	1.37.2.4
+++ mpapic.c	2001/05/22 03:15:01
@@ -234,7 +234,7 @@
 		    (pin < IOAPIC_ISA_INTS) && 
 		    (irq == pin) &&
 		    (apic_polarity(apic, pin) == 0x1) &&
-		    (apic_trigger(apic, pin) == 0x3)) {
+		    (apic_trigger(apic, pin) == 0x3) && 0) {
 			/* 
 			 * A broken BIOS might describe some ISA 
 			 * interrupts as active-high level-triggered.



- Tor Egge

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-smp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200105220354.FAA73467>