Re: writing portable code based on BITS_PER_LONG?

From: Jan-Benedict Glaw
Date: Sun Aug 06 2006 - 06:42:16 EST


On Sat, 2006-08-05 23:16:29 -0700, Om N. <xhandle@xxxxxxxxx> wrote:
> I am trying to port a driver written for IA32. This is a pci driver
> and has a chipset doing PCI <-> local bus data transfer, where local
> bus is 16 bit. So a number of values are converted by right/left
> shifting by 16 bits.
>
> Now that I am doing porting, I would like to make it fully portable
> across AMD64 and IA32. What is the best method for this? Should I do
> something like,
>
> #if BITS_PER_LONG = 64
> shiftwidth = 48
> #else if BITS_PER_LONG = 32
> shiftwidth = 16
> #endif

I'd probably write some macros that access the parts of the longs you
want to have/set and put these into some header file.

MfG, JBG

--
Jan-Benedict Glaw jbglaw@xxxxxxxxxx +49-172-7608481
Signature of: TrÃume nicht von Dein Leben: Lebe Deinen Traum!
the second :

Attachment: signature.asc
Description: Digital signature