Jamie Lokier wrote:

> 
>    - Do you have atomic instructions.
>    - Do you have one CPU or multiple CPUs.

Of course you are right.

> 
> Let's assume you have a single CPU and no special atomic instructions.
> 
>    - Copy the trick used on ARM to implement atomic-compare-exchange
>      in the vsyscall page, without disabling interrupts.

Modern ARM variants have "load-Link / Store-Conditional" instructions.
NIOS does not have those and I don't suppose Microblaze has.

> 
> The vsyscall trick is a good one, and works with/without MMU, and
> with/without permission to disable interrupts in userspace.  It's fast
> too.  I recommend reading the code.  It's only a few instructions.
> 

I'll do so.

Does the "vsyscall trick" not force a trap and thus Kernel interaction ?

Thanks !
-Michael
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to