Subject: Re: MI bus ops(Re: 16bit aligned NS16550 variant)
To: None <thorpej@wasabisystems.com>
From: None <cgd@broadcom.com>
List: tech-kern
Date: 11/09/2001 10:59:46
thorpej@wasabisystems.com ("Jason R Thorpe") writes:
> I think what I'd really like to see here is for <machine/bus.h> to be
> replaced by:

I pretty much agree completely.


> 	<sys/bus.h>
> 		Included as <machine/bus.h> is now.  Defines the
> 		bus_space_tag_t, bus_dma_tag_t.  Each has the
> 		ops pointers and a void *cookie.  If <machine/bus_types.h>
> 		does not define __BUS_SPACE_MD_CALLS, then it defines
> 		the macros that actually call the bus_space methods.
> 		This allows MD code to simply use pointer derefs for
> 		certain types of space, if it wants to.
> 
> 	<machine/bus_types.h>
> 		Included by <sys/bus.h>, defines various types that
> 		<sys/bus.h> needs.  Also optionally defines things
> 		like __BUS_SPACE_FAST_ABI (which might e.g. define
> 		a faster ABI to be used for bus space methods, such
> 		as regparm on the x86).

Why should the latter by anything but <machine/bus.h>?

It'll be a bit more of a hassle for conversion, but not that much...



cgd