Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 27 Aug 2003 07:45:50 +0200
From:      John Hay <jhay@icomtek.csir.co.za>
To:        freebsd-arch@freebsd.org
Subject:   pnp code and irq 2 broken
Message-ID:  <20030827054550.GA53143@zibbi.icomtek.csir.co.za>

next in thread | raw e-mail | index | archive | help
Hi,

Somewhere along the line the code in FreeBSD that maps irq 2 to irq 9 has
gone away and a panic was added if one tries to use irq 2. This is all
well and fine, except that the pnp code was not notified of this. :-) So
if you have a pnp device that have irq 2 in its mask and FreeBSD then
decides that irq 2 is a good irq to use for this device, you have an
instant panic.

I have worked around it with this crude patch below. Crude because:
1) I don't know if it should be an i386 only fix, and
2) I used 0x04 directly, maybe IRQ_SLAVE from i386/isa/icu.h or
some other define should be used?

Any comments from anyone?

John
-- 
John Hay -- John.Hay@icomtek.csir.co.za / jhay@FreeBSD.org


Index: isa/pnpparse.c
===================================================================
RCS file: /home/ncvs/src/sys/isa/pnpparse.c,v
retrieving revision 1.13
diff -u -r1.13 pnpparse.c
--- isa/pnpparse.c	16 Oct 2002 09:07:30 -0000	1.13
+++ isa/pnpparse.c	19 Jun 2003 06:00:02 -0000
@@ -110,7 +110,8 @@
 			if (bootverbose)
 				pnp_printf(id, "adding irq mask %#02x\n",
 					   I16(res));
-			config->ic_irqmask[config->ic_nirq] = I16(res);
+			config->ic_irqmask[config->ic_nirq] = I16(res) &
+			    ~0x04;
 			config->ic_nirq++;
 			break;
 



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