> Setting the NO_LOCK bit in CCR1 will prevent the deadlock caused by the
> above code sequence. Here is a short call to set6x86 that does this:
>
> set6x86 -p 0xc1 -s 0x10.
>
> Page table accesses and interrupt acknowledge cycles will still be
> executed in locked cycles, but the xchgl instruction will *not* generate
> locked cycles anymore.
>
> I don't know if setting the NO_LOCK bit will cause problems when running
> Linux. I don't think so...
It doesn't. I don't think explicit locks can be relied on to be
visible to anything that isn't sitting directly on the memory/CPU
bus. The only time Linux cares whether explicit locks are honoured
or not is when they are used to synchronize SMP systems. As far as
I know there isn't yet a Cyrix based SMP design available.
Mike
-- .----------------------------------------------------------------------. | Mike Jagdis | Internet: mailto:mike@roan.co.uk | | Roan Technology Ltd. | | | 54A Peach Street, Wokingham | Telephone: +44 118 989 0403 | | RG40 1XG, ENGLAND | Fax: +44 118 989 1195 | `----------------------------------------------------------------------'