----- Original Message ----- From: "Geert Uytterhoeven" <geert@linux-m68k.org> To: "Bradley D. LaRonde" <brad@ltc.com> Cc: "Jun Sun" <jsun@mvista.com>; "Jim Paris" <jim@jtan.com>; "Alan Cox" <alan@lxorguk.ukuu.org.uk>; "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>; "Linux/MIPS Development" <linux-mips@oss.sgi.com> Sent: Wednesday, January 02, 2002 4:41 AM Subject: Re: ISA > On Tue, 1 Jan 2002, Bradley D. LaRonde wrote: > > ----- Original Message ----- > > From: "Jun Sun" <jsun@mvista.com> > > To: "Jim Paris" <jim@jtan.com> > > Cc: "Alan Cox" <alan@lxorguk.ukuu.org.uk>; "Geert Uytterhoeven" > > <Geert.Uytterhoeven@sonycom.com>; "Maciej W. Rozycki" <macro@ds2.pg.gda.pl>; > > "Linux/MIPS Development" <linux-mips@oss.sgi.com> > > Sent: Tuesday, January 01, 2002 2:22 PM > > Subject: Re: ISA > > > > > > > 1. each address space has an id. > > > 2. kernel pre-defines a couple of well-known ones, 0 for CPU physical, > > > 1 for virtual, etc. > > > 3. When drivers discover the devices, they get the address and also > > > the address space id where the address resides. > > > 4. there are a set of macro's that converts/maps an address or an > > > address region from one space to another. > > > > The first thing that jumps out at me is that now every bus access has an > > added switch in it. > > > > Either that or drivers would get back access function pointers, but that > > eliminates the chance to inline trivial bus accesses. > > Not completely. ioremap() and friends can handle the address space ID and > return an appropriate pointer. That pointer can still be handled by readl() and > friends. Yup. I forgot about having to run all bus addresses through ioremap. Regards, Brad