Mail Archives: djgpp/2006/09/13/11:47:36
Martin, thank you for your information.
The cmpxchg8 looks like it would do what I need. I was hoping to avoid
OS dependent messiness by going direct to assembly level code under DOS,
but it does seem tricky.
I found a couple of useful web pages:
From Microsoft:
http://msdn2.microsoft.com/en-us/library/ttk2z1ws.aspx
(information about Win32 Platform SDK InterlockedCompareExchange function).
From AMD:
http://www.amd.com/us-en/Processors/TechnicalResources/0,,30_182_739_7044,00.html
(AMD64 Architecture Tech Docs, including Programmers' Reference Manuals)
An alternate approach I have been considering for my specific situation,
which is doing hardware testing covering the upper 32 bits of the PCI-64
bus, is to introduce another hardware board which is capable of doing 64
bit wide DMA, then using the DMA controller to access the Device Under
Test in 64 bit mode.
I'd prefer a purely software solution, so I'm still interested in any
potential solutions of that type.
Thanks,
Ivor
I was hoping to get down to assembly level and bypass the
on 9/12/2006 11:40 AM PDT Martin Str|mberg wrote:
> Ivor Bowden <ivorlist AT peritek DOT com> wrote:
>> I could use something like _farpeekll / _farpokell (long long). I'm not
>> sure what else I would need to do to set up the system for these kind of
>> accesses.
>
> I'm not sure if there are any 64-bit wide x86 instructions but the
> cmpxchg8.
>
>> The other thought I had was to set up some assembly routines to use the
>> AMD64 instructions.
>
> Unfortunately AMD64 instructions are only available in long 64-bit
> (non-compatibility) mode and in long mode vm86 mode isn't supported,
> so this won't happen.
>
>> Any ideas or tips??
>
> You're probably are out of luck.
>
>
> Right,
>
> MartinS
--
Posted via a free Usenet account from http://www.teranews.com
- Raw text -