pnp code and irq 2 broken

John Hay jhay at icomtek.csir.co.za
Wed Aug 27 23:15:47 PDT 2003


On Wed, Aug 27, 2003 at 10:40:45PM -0600, M. Warner Losh wrote:
> In message: <20030827054550.GA53143 at zibbi.icomtek.csir.co.za>
>             John Hay <jhay at icomtek.csir.co.za> writes:
> : 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?
> 
> I'd change 0x04 to 1 << IRQ_SLAVE.  Other than that, it looks good to
> me.  I'm not sure of a better place to do this, as it doesn't looke
> like a good idea to do the translation in pnp.c.

One reason that I'm hessitant about it is that up to now isa/pnpparse.c
seems pretty machine independant and from sys/conf/files* it looks
like more than just the i386 arch use it. So to include i386/isa/icu.h
doesn't seem right. Or should I put it all in #ifdefs?

> : 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;

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


More information about the freebsd-arch mailing list