Subject: Re: fallout from 'caddr_t' => 'void *' change
To: None <tech-kern@NetBSD.org>
From: Ignatios Souvatzis <ignatios@cs.uni-bonn.de>
List: tech-kern
Date: 03/09/2007 13:59:13
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.

	-is