Subject: Re: fallout from 'caddr_t' => 'void *' change
To: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
From: Ignatios Souvatzis <is@netbsd.org>
List: tech-kern
Date: 03/09/2007 15:46:46
On Fri, Mar 09, 2007 at 01:59:13PM +0100, Ignatios Souvatzis wrote:
> On Thu, Mar 08, 2007 at 07:55:51PM +0000, David Laight wrote:
> > On Thu, Mar 08, 2007 at 01:40:33PM -0500, der Mouse wrote:
> > > >> 'volative caddr_t ptr' is a volatile pointer to characters
> > > >> 'volatile void *ptr' is a pointer to volatile data.
> > > 
> > > Depends on whether caddr_t is a #define or a typedef.  While this isn't
> > > variable for us, it would surprise me if there weren't other systems
> > > that differed - meaning that different people may have written
> > > "volatile caddr_t" declarations expecting different things.
> > 
> > It was a typedef, otherwise 'caddr_t a, b' would not have done the expected
> > thing.
> > 
> > I also suspect that some of the code might have wanted a pointer to
> > volatile data, but many want a volatile pointer.
> > I started trying to 'fix' the code in src/sys/arch/amiga/dev/grf* but
> > I suspect it is all broken though...
> 
> Ahm....
> 
> Unless proven otherwise, I suspect the code needs a pointer to volatile
> data. Those are graphics boards.

Hm, with one possible exception - I think one of the chipsets uses pseudo
bus accesses to clock blitter operations, IIRC.

	-is