Alex Ionescu wrote:
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