Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Sep 1995 11:44:19 -0500
From:      "Daniel M. Eischen" <deischen@iworks.InterWorks.org>
To:        bde@zeta.org.au, current@freebsd.org
Subject:   Getting around conflicts for a driver w/out base address
Message-ID:  <9509081644.AA19385@iworks.InterWorks.org>

next in thread | raw e-mail | index | archive | help

>I don't want to change config very much now.  It can already sort of
>handle lists of ports by duplicating entries, e.g.:
>
>device sc0 at isa? port "IO_KBD" tty irq 1 vector scintr # usual
>device sc0 at isa? port 0x3b4 iomem 0xb0000 iosiz  0x8000 # portsize  0xc # mda
>device sc0 at isa? port 0x3c0 iomem 0xa0000 iosiz 0x10000 # portsize 0x10 # vga
>device sc0 at isa? port 0x3d4 iomem 0xb8000 iosiz  0x8000 # portsize  0xc # cga
>
>This gives 4 fairly usable entries in ioconf.c.   An array format is
>probably better than a linked list format in all stages until the
>tables are actually used.  There are a couple of external representations
>and the linked list would have to be linearized for each.  It would be
>useful to have some routines for hanging all the info for each device
>off a single isa_device structure (so that every driver doesn't have
>to search all the devtabs for info about itself).

Where would these be defined, in isa_device.h?  I think Rod Grimes had
said earlier that he thought a proposed define for the NO_PORT_ADDRESS
(or something like that) might belong somewhere else.

>There might be complications for overlapped ranges.  E.g., vga memory
>isn't as shown above - it overlaps mda and cga memory.  Ports such as
>the PPI only have conflicts at the bit level.

If you allowed different bits of the same port address to be claimed
by different drivers, would you have to worry about read/write hazards?

Dan Eischen
deischen@iworks.InterWorks.org



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