From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=49550 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PoFMy-0005Av-6i for qemu-devel@nongnu.org; Sat, 12 Feb 2011 08:18:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PoFMx-0002uD-3S for qemu-devel@nongnu.org; Sat, 12 Feb 2011 08:18:35 -0500 Received: from mail.serverraum.org ([78.47.150.89]:51741) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PoFMw-0002sq-SU for qemu-devel@nongnu.org; Sat, 12 Feb 2011 08:18:34 -0500 From: Michael Walle Subject: Re: [Qemu-devel] [PATCH 02/17] lm32: translation routines Date: Sat, 12 Feb 2011 14:18:27 +0100 References: <1297379530-23487-1-git-send-email-michael@walle.cc> <1297379530-23487-3-git-send-email-michael@walle.cc> In-Reply-To: MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201102121418.27999.michael@walle.cc> List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Blue Swirl Cc: "Edgar E. Iglesias" , Richard Henderson , qemu-devel@nongnu.org, Alexander Graf Am Freitag 11 Februar 2011, 22:42:28 schrieb Blue Swirl: > > +/* Convenient binary macros */ > > +#define HEX__(n) 0x##n##LU > > +#define B8__(x) (((x&0x0000000FLU) ? 1 : 0) \ > > + + ((x&0x000000F0LU) ? 2 : 0) \ > > + + ((x&0x00000F00LU) ? 4 : 0) \ > > + + ((x&0x0000F000LU) ? 8 : 0) \ > > + + ((x&0x000F0000LU) ? 16 : 0) \ > > + + ((x&0x00F00000LU) ? 32 : 0) \ > > + + ((x&0x0F000000LU) ? 64 : 0) \ > > + + ((x&0xF0000000LU) ? 128 : 0)) > > +#define B8(d) ((unsigned char)B8__(HEX__(d))) > > These could be handy elsewhere too. This is copied from microblaze/cris. Should it be moved to qemu-common.h? Replacing #define B8(d) ((unsigned char)B8__(HEX__(d))) with #define B8(d) ((unsigned char)B8_(0x##n##LU)) to avoid poisoning the default namespace too much? -- Michael