Date: Sat, 9 Sep 1995 03:59:25 +1000 From: Bruce Evans <bde@zeta.org.au> To: bde@zeta.org.au, current@freebsd.org, deischen@iworks.InterWorks.org Subject: Re: Getting around conflicts for a driver w/out base address Message-ID: <199509081759.DAA24707@godzilla.zeta.org.au>
next in thread | raw e-mail | index | archive | help
>>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. They don't exist yet. NO_PORT_ADDRESS is sort of defined by scattered literal -1's in the config sources :-(. The config.new sources are better and define STAR (-1) for sd* and WILD (-2) for sd?. NetBSD has something involving (-2). We may as well copy the constants. >>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? Yes, there would need to be some locks. The PPI and the TIMER_MODE ports are hazards now. They are implicitly locked by aquire_timer_2() and acquire_timer_0(). I'm not convinced that the locking is adequate. It doesn't attempt to handle non-speaker bits in the PPI, but none are used. Bruce
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199509081759.DAA24707>