Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 28 Jun 2006 12:22:22 -0700
From:      Julian Elischer <julian@elischer.org>
To:        "Andrew R. Reiter" <arr@watson.org>
Cc:        Yar Tikhiy <yar@comp.chem.msu.su>, Poul-Henning Kamp <phk@phk.freebsd.dk>, arch@freebsd.org
Subject:   Re: SET, CLR, ISSET in types.h for _KERNEL builds
Message-ID:  <44A2D6EE.8080902@elischer.org>
In-Reply-To: <20060628150227.R75801@fledge.watson.org>
References:  <20060628094221.GA50978@comp.chem.msu.su>	<75461.1151488426@critter.freebsd.dk>	<20060628100824.GA1326@duncan.reilly.home>	<20060628174725.GA57252@comp.chem.msu.su> <20060628150227.R75801@fledge.watson.org>

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

Andrew R. Reiter wrote:

>I apologize for top posting, but I lost the email that I think my 
>point/question pertains to.
>
>Part of this seems to be for compatibility / merging from drivers of other 
>OSes, no?  If I am wrong, ignore me :-).  If this is the case, would it be 
>better to create some common other area for things of this nature so that 
>it suffices to allow builds, but does not infect other areas of our own 
>code base?
>  
>

how about just making a /sys/sys/netbsd_compat.h
and  /sys/sys/openbsd_compat.h

put this sort of thing in there..

>Could be a poor idea, but just throwing it out there for the fsck of it.
>
>Cheers,
>Andrew
>
>On Wed, 28 Jun 2006, Yar Tikhiy wrote:
>
>:On Wed, Jun 28, 2006 at 08:08:24PM +1000, Andrew Reilly wrote:
>:> On Wed, Jun 28, 2006 at 09:53:46AM +0000, Poul-Henning Kamp wrote:
>:> > In message <20060628094221.GA50978@comp.chem.msu.su>, Yar Tikhiy writes:
>:> > >On Tue, Jun 27, 2006 at 01:58:17PM -0600, M. Warner Losh wrote:
>:> > 
>:> > >> NetBSD recently added SET, CLR, ISSET to sys/types.h (only if _KERNEL
>:> > >> is defined).
>:> > 
>:> > As one of the people who have worked with the original /bin/sh source
>:> > code, I have a slight alergic reaction to attempts to paste over
>:> > the implementation language with macros like these.
>:> > 
>:> > Setting a bit in 'C' is spelled 
>:> > 	variable |= bit;
>:> > not
>:> > 	SET(variable, bit);
>:> 
>:> To my eye, if you're going to use "bit" to describe which bit is
>:> being operated on, then you should *really* be doing:
>:> 	variable |= (1 << bit)
>:> and, obviously, SET(variable, bit) should do that, rather than
>:> what has been proposed.
>:
>:That would require converting our device .h files from defining bit
>:masks to defining bit numbers.  I don't mind you doing that as long
>:as SET is expanded to:
>:
>:	((variable) |= (1 << (bit)))
>:
>:-- note the bunch of roughly balanced parentheses ;-)
>:
>:-- 
>:Yar
>:_______________________________________________
>:freebsd-arch@freebsd.org mailing list
>:http://lists.freebsd.org/mailman/listinfo/freebsd-arch
>:To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
>:
>:
>
>--
>arr@watson.org
>_______________________________________________
>freebsd-arch@freebsd.org mailing list
>http://lists.freebsd.org/mailman/listinfo/freebsd-arch
>To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"
>  
>



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