[ros-dev] Different problem with fastinterlck_asm.S ;-(

Hartmut Birr osexpert at googlemail.com
Mon Jan 2 17:55:50 CET 2006


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


More information about the Ros-dev mailing list