Skip navigation.
Home
The QNX Community Portal

View topic - 64-bits access on a 32-bit x86

64-bits access on a 32-bit x86

Read-only archive of qnx.rtos (Writing resources managers, and general discussion around the QNX Neutrino RTOS) at inn.qnx.com

64-bits access on a 32-bit x86

Postby Davide Ancri » Thu Oct 04, 2007 9:47 am

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 - <davidea at prisma-eng dot it> */
Davide Ancri
 

Re: 64-bits access on a 32-bit x86

Postby Mario Charest » Thu Oct 04, 2007 12:09 pm

"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 - <davidea at prisma-eng dot it> */
Mario Charest
 


Return to qnx.rtos

Who is online

Users browsing this forum: No registered users and 2 guests