On Sun, 18 Apr 1999, John Hay wrote:
> Hi,
>
> I ave found one more thing that seems to be broken. I have used the
> irq "autodetect" feature of the ed(4) for a long time, but it seems
> that the newbus compatability shim is not doing the right thing
> with it. My kernel config file have a line like this:
>
> device ed0 at isa? port 0x280 net irq ? iomem 0xd8000
>
> The card gets probed but you just get device timeouts and there is no
> mention of an irq for that device in the probe output. Booting with
> -c and specifying the irq there also didn't work. Rebuilding the kernel
> with a config file which specified the irq did work though.
Could you run a test kernel for me with this patch and tell me what it
prints.
Index: isa_compat.c
===================================================================
RCS file: /home/ncvs/src/sys/i386/isa/isa_compat.c,v
retrieving revision 1.3
diff -u -r1.3 isa_compat.c
--- isa_compat.c 1999/04/19 08:42:39 1.3
+++ isa_compat.c 1999/04/19 08:52:29
@@ -171,8 +171,11 @@
isa_set_portsize(dev, portsize);
if (dvp->id_iobase != isa_get_port(dev))
isa_set_port(dev, dvp->id_iobase);
- if (dvp->id_irq != (1 << isa_get_irq(dev)))
+ if (dvp->id_irq != (1 << isa_get_irq(dev))) {
+printf("isa_compat_probe: old irq=%d, new mask=%x, new irq=%d\n",
+ irq_get_irq(dev), dvp->id_irq, ffs(dvp->id_irq) - 1);
isa_set_irq(dev, ffs(dvp->id_irq) - 1);
+ }
if (dvp->id_drq != isa_get_drq(dev))
isa_set_drq(dev, dvp->id_drq);
if (dvp->id_maddr != maddr)
--
Doug Rabson Mail: [email protected]
Nonlinear Systems Ltd. Phone: +44 181 442 9037
To Unsubscribe: send mail to [email protected]
with "unsubscribe freebsd-current" in the body of the message