Subject: Re: Configuring a device at address 32meg
To: Bob Felderman <feldy@myri.com>
From: Chris G. Demetriou <cgd@alpha.bostic.com>
List: tech-kern
Date: 06/30/1994 00:44:56
> We're inserting a networking board on a VL-bus machine
> that will repond to addresses in the range >=32meg = 0x2000000.
> The device configure code seems to only understand things in
> the range < 1 meg.
> 
> Anybody got any pointers on how to make this work?

In my (not so humble 8-) opinion, most of the problem is right here:

>                 if (isdp->id_maddr) {
>                         extern u_int atdevbase;
> 
>                         isdp->id_maddr -= 0xa0000; /* XXX should be a define */
>                         isdp->id_maddr += atdevbase;
>                 }

If the drivers were given 'raw' physical addresses, then there wouldn't
be so much of a problem...  Of course, then every driver would
have to DTRT, but i think that's better than kludging up the ISA
code to handle special cases...



chris

------------------------------------------------------------------------------