Ge van Geldorp wrote:
From:
Alex Buell
[GAS] ntoskrnl/ex/i386/fastinterlck_asm.S
ntoskrnl/ex/i386/fastinterlck_asm.S: Assembler messages:
ntoskrnl/ex/i386/fastinterlck_asm.S:408: Error: suffix or operands
invalid
for `cmpxchg8b'
I believe cmpxchg8b is a Pentium-or-higher instruction, so we
shouldn't be
using it (at least not without testing if it's available).
GvG
Hi,
We already did, so I simply re-used that assumption. Does/should
ReactOS still work on 486? If so, I can add code to test and modify
the assumption (but once again, I note that some of the original code
already used cmpxhcg8b and nobody has complained ever.
Best regards,
Alex Ionescu
cmpxchg8b was introduced by me for ExfpInterlockedExchange64 and
ExfInterlockedCompareExchange64. This two functions are used in page.c
for pae mode functions. Pae mode works only on pentium or newer cpus.
The kernel works also on a 486, because pae mode would be never enabled
on a 486.
- Hartmut