64-bits access on a 32-bit x86

Hi all

I’m writing the driver for a 64-bit PCI device, and in particular cases
I need to ensure 64-bits accesses to the memory-mapped device region.

Accesses to memory through (volatile unsigned long long*) produce two
“movl” asm instructions, that is not what I want.

Is there a way to be sure the underlying mem access is 64-bits wide,
using x86 assembly? Should I use the MMX “movq” opcode embedded in some
inline asm?

Thanks in advance!
Davide


/* Ancri Davide - */

“Davide Ancri” <falsemail@nospam.xx> wrote in message
news:fe2cdh$gap$1@inn.qnx.com

Hi all

I’m writing the driver for a 64-bit PCI device, and in particular cases
I need to ensure 64-bits accesses to the memory-mapped device region.

Accesses to memory through (volatile unsigned long long*) produce two
“movl” asm instructions, that is not what I want.

x86 doesn’t have 64 bit integer operation

Is there a way to be sure the underlying mem access is 64-bits wide,
using x86 assembly? Should I use the MMX “movq” opcode embedded in some
inline asm?

Maybe that would work depends on a lot of factor. Usually with 64 bit PCI
devices, the 64 bit part becomes usefull for DMA operation.

Thanks in advance!
Davide


/* Ancri Davide - */