Subject: Minor change in isapnp
To: None <tech-kern@netbsd.org>
From: Martin J. Laubach <mjl@emsi.priv.at>
List: tech-kern
Date: 04/10/1999 00:23:33
  Does anybody see a problem with the patch below? It is needed
in my system to get a usable soundblaster configuration...

  The problem is that the current isapnp implementation will always
try to share interrupts as long as they are of compatible types. That
way, my SB will try to use the same interrupt as com2, and lose badly.

: com2 at isa0 port 0x3e8-0x3ef irq 5: ns16550a, working fifo
: ...
: sb0 at isapnp0 port 0x220/16,0x330/2,0x388/4 irq 5 drq 1,5

  So I'd like to make this change so one can define which interrupts
to exclude in the kernel config file in a "options" line. It's probably
not the right thing per se (which would be to have isapnp do TRT), but
at least it allows me to tweak the system to usable state.

	mjl


Index: sys/dev/isapnp/isapnp.c
===================================================================
RCS file: /cvsroot/src/sys/dev/isapnp/isapnp.c,v
retrieving revision 1.33
diff -a -b -u -r1.33 isapnp.c
--- isapnp.c	1999/03/22 09:38:58	1.33
+++ isapnp.c	1999/04/09 20:25:44
@@ -259,7 +259,12 @@
 		return 0;
 	}
 
-	if (isa_intr_alloc(ic, i->bits, i->type, &irq) == 0) {
+#ifndef ISAPNP_ALLOC_INTR_MASK
+#define ISAPNP_ALLOC_INTR_MASK (~0)
+#endif
+
+	if (isa_intr_alloc(ic, ISAPNP_ALLOC_INTR_MASK & i->bits,
+			   i->type, &irq) == 0) {
 		i->num = irq;
 		return 0;
 	}