Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 21 Mar 2002 13:48:42 -0500 (EST)
From:      Andrew Gallatin <gallatin@cs.duke.edu>
To:        obrien@FreeBSD.ORG
Cc:        alpha@FreeBSD.ORG
Subject:   Re: Expected compiler error on GENERIC?
Message-ID:  <15514.11018.720868.537643@grasshopper.cs.duke.edu>
In-Reply-To: <20020321103316.A66279@dragon.nuxi.com>
References:  <15513.4041.407099.858575@grasshopper.cs.duke.edu> <20020320.153148.103780390.imp@village.org> <200203202313.g2KND6L12819@harmony.village.org> <20020320154150.A90810@dragon.nuxi.com> <15513.61122.201509.896981@grasshopper.cs.duke.edu> <20020321103316.A66279@dragon.nuxi.com>

next in thread | previous in thread | raw e-mail | index | archive | help

David O'Brien writes:
 > On Thu, Mar 21, 2002 at 09:31:30AM -0500, Andrew Gallatin wrote:
 > > David O'Brien writes:
 > >  > On Wed, Mar 20, 2002 at 04:13:06PM -0700, Warner Losh wrote:
 > >  > > The line in question is
 > >  > >         if (!badaddr((void *)&t2_csr[1]->tlbbr, sizeof(long))) {
 > >  > > but I don't know what the type of tlbbr is, but it is either volatile
 > >  > > or const for some reason...
 > >  > 
 > >  > `tlbbr' is u_long.
 > >  > `t2_csr' is "volatile", and is the source of the warning.
 > > 
 > > Please: what's the proper way to cast away the volatile & shut the
 > > f*ing compiler up?
 > 
 > Why is it marked "volatile" in the first place?  What will happen if we

Because its sitting in hardware & other elemnets of the struct are
accessed in ways where I want to preserve ordering.

 > make a 'u_long ltmp = t2_csr[1]->tlbbr;' and then pass in the address of
 > that?  Will we potentially be using a stale value that could cause us a
 > problem?


__DEVOLATILE is what I was looking for.

Drew


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?15514.11018.720868.537643>