Subject: Re: needs MI wdc changes to support macppc's wdc
To: Jason Thorpe <thorpej@nas.nasa.gov>
From: Ignatios Souvatzis <is@jocelyn.rhein.de>
List: tech-kern
Date: 11/04/1998 21:43:31
On Wed, Nov 04, 1998 at 08:50:50AM -0800, Jason Thorpe wrote:
> On Wed, 4 Nov 1998 10:30:37 +0100 
>  Ignatios Souvatzis <ignatios@theory.cs.uni-bonn.de> wrote:
> 
>  > Yes, but ports as the Amiga that need variable strides in bus_space anyway
>  > will get the double overhead.
> 
> Yes, fine...
> 
> But the issue is whether or not the stride is a device thing or a bus
> thing.
> 
> Let's say for example that you have a Cyberdyne Frobnitz workstation.  On
> the mainboard is an IDE controller and a 16550 serial port.  The registers
> on these devices are spaced mod 4... 1 byte, followed by 3 bytes of gap,
> etc.  On this system, it is clearly a stride imposed by the bus they're
> attached to.
> 
> Now, let's say you have the newer 7000 model ... On this system the
> serial port registers are linear (no gap), but the IDE registers are
> spaced mod 16.  On this system, it's an issue of how the individual
> chips are wired up, i.e. the stride is per-device.
> 
> In the first example, it's appropriate to use stride in the bus space
> tag.  In the second example, it's appropriate to add register map
> support in the driver.

Well, for the Amiga port, I have to view each individual zbus slot as a 
bus of its own... or convert each and every MI driver we're sharing, including
com.c, to using register maps.

Its a bit ugly (and could be hidden in better looking helper functions to 
be called by the MD attach function), but is still much better than doing
this.

	-is