summaryrefslogtreecommitdiff
path: root/sys/dev/isa
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>1996-08-15 04:46:50 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>1996-08-15 04:46:50 +0000
commitc343cb69ac7bf8e0e83f037876dd5e244bd6ad64 (patch)
tree4831550779685a4eb4022319787fe7af8bc3e1e6 /sys/dev/isa
parent0ace694c6eca3167abcec3944f9d0484cc508582 (diff)
warn about 0x666 thingy; use correct isa_attach_args for extent maps
Diffstat (limited to 'sys/dev/isa')
-rw-r--r--sys/dev/isa/isa.c23
1 files changed, 14 insertions, 9 deletions
diff --git a/sys/dev/isa/isa.c b/sys/dev/isa/isa.c
index b4789eda854..70492aff148 100644
--- a/sys/dev/isa/isa.c
+++ b/sys/dev/isa/isa.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: isa.c,v 1.13 1996/08/15 01:51:08 shawn Exp $ */
+/* $OpenBSD: isa.c,v 1.14 1996/08/15 04:46:49 deraadt Exp $ */
/* $NetBSD: isa.c,v 1.85 1996/05/14 00:31:04 thorpej Exp $ */
/*-
@@ -157,14 +157,19 @@ isascan(parent, match)
struct isa_attach_args ia2 = ia;
while ((*cf->cf_attach->ca_match)(parent, dev, &ia2) > 0) {
- if (ia.ia_iobase > 0 && ia.ia_iosize > 0)
- add_extent(io_map, ia.ia_iobase, ia.ia_iosize);
- if (ia.ia_maddr > 0 && ia.ia_msize > 0)
- add_extent(mem_map, ia.ia_maddr, ia.ia_msize);
- if (ia.ia_irq > 0)
- add_extent(irq_map, ia.ia_irq, 1);
- if (ia.ia_drq > 0)
- add_extent(drq_map, ia.ia_drq, 1);
+ if (ia2.ia_iosize == 0x666) {
+ printf("%s: iosize not repaired by driver\n",
+ sc->sc_dev.dv_xname);
+ ia2.ia_iosize = 0;
+ }
+ if (ia2.ia_iobase != -1 && ia2.ia_iosize > 0)
+ add_extent(io_map, ia2.ia_iobase, ia2.ia_iosize);
+ if (ia.ia_maddr != -1 && ia.ia_msize > 0)
+ add_extent(mem_map, ia2.ia_maddr, ia2.ia_msize);
+ if (ia2.ia_irq != -1)
+ add_extent(irq_map, ia2.ia_irq, 1);
+ if (ia2.ia_drq != -1)
+ add_extent(drq_map, ia2.ia_drq, 1);
config_attach(parent, dev, &ia2, isaprint);
dev = config_make_softc(parent, cf);
ia2 = ia;