Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Apr 1999 19:38:31 +0200 (SAT)
From:      John Hay <jhay@mikom.csir.co.za>
To:        dfr@nlsystems.com (Doug Rabson)
Cc:        current@freebsd.org
Subject:   Re: newbus and isa auto irq
Message-ID:  <199904191738.TAA97791@zibbi.mikom.csir.co.za>
In-Reply-To: <Pine.BSF.4.05.9904190940240.85882-100000@herring.nlsystems.com> from Doug Rabson at "Apr 19, 1999 09:53:20 am"

next in thread | previous in thread | raw e-mail | index | archive | help
> > 
> > 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.
> 

It doesn't print anything for the ed0 device. It does print 2 lines though,
one for wdc0 and one for the printer port:

-------
Apr 19 19:22:27 orca /kernel.doug: fdc0: FIFO enabled, 8 bytes threshold
Apr 19 19:22:27 orca /kernel.doug: fd0: <1440-KB 3.5" drive> at fdc0 drive 0
Apr 19 19:22:27 orca /kernel.doug: isa_compat_probe: old irq=-1, new mask=4000, 
new irq=14
Apr 19 19:22:27 orca /kernel.doug: wdc0 at port 0x1f0-0x1f7 irq 14 on isa0
Apr 19 19:22:27 orca /kernel.doug: wdc0: unit 0 (wd0): <WDC AC2635F>
Apr 19 19:22:27 orca /kernel.doug: wd0: 610MB (1249920 sectors), 1240 cyls, 16 h
eads, 63 S/T, 512 B/S
Apr 19 19:22:27 orca /kernel.doug: wdc0: interrupting at irq 14
...
Apr 19 19:22:28 orca /kernel.doug: isa_compat_probe: old irq=-1, new mask=80, new irq=7
Apr 19 19:22:28 orca /kernel.doug: ppc0 at port 0x378 irq 7 on isa0
Apr 19 19:22:28 orca /kernel.doug: ppc0: SMC FDC37C665GT chipset (PS2/NIBBLE) in COMPATIBLE mode
Apr 19 19:22:28 orca /kernel.doug: ppb0: IEEE1284 device found 
Apr 19 19:22:28 orca /kernel.doug: Probing for PnP devices on ppbus0:
Apr 19 19:22:28 orca /kernel.doug: lpt0: <generic printer> on ppbus 0
Apr 19 19:22:28 orca /kernel.doug: lpt0: Interrupt-driven port
Apr 19 19:22:28 orca /kernel.doug: ppc0: interrupting at irq 7
Apr 19 19:22:28 orca /kernel.doug: ed0 at port 0x280-0x29f on isa0
Apr 19 19:22:28 orca /kernel.doug: ed0: address 00:00:c0:1d:43:db, type SMC8216/
SMC8216C (16 bit) 
Apr 19 19:22:28 orca /kernel.doug: Intel Pentium detected, installing workaround
 for F00F bug
--------

> -			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);
> +			}

I assume the irq_get_irq() should be isa_get_irq().

I have tried the patch that Luoqi posted and that works for me. Although
even with that the the userconfig by booting with -c don't work. It just
plain ignores what you do there.

John
-- 
John Hay -- John.Hay@mikom.csir.co.za


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




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