OK, 64 bit unsigned long was the missing piece.

Still locking up when we make the call, will attack this as a different
issue.

Sincerely -- Mark Salyzyn

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Arjan van de Ven
Sent: Wednesday, March 16, 2005 3:18 PM
To: Salyzyn, Mark
Cc: [email protected]
Subject: Re: memcpy_toio/memcpy_fromio 64 bit safe?

On Wed, 2005-03-16 at 15:08 -0500, Salyzyn, Mark wrote:
> The dpt_i2o driver uses the function memcpy_toio to copy the message
> frame to the adapter. Under arch/x86_64/lib/io.c, it's helper function
> is defined as:
> 
> void __memcpy_toio(unsigned long dst,const void*src,unsigned len)
> {
>         __inline_memcpy((void *) dst,src,len);
> }
> 
> The first argument should be 'volatile void __iomem * dst' I would
have
> expected. As such, the 64 bit virtual address representing the adapter
> address passed in gets truncated (please correct me if I am wrong).

well ioremap returns a void* so the pointer math should be fine...

Also longs are 64 bit (on x86-64)... so what's the big deal ?

-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to