Michael Schnell wrote:
> (Re Futex I do know that the NIOS ISA does not have any "monolithic" 
> memory read/modify/write instructions and thus does not allow for 
> implementing Futex with a full Linux (using the MMU), but without 
> protection a thread just can do di/ei and thus no Kernel action needed.)
> 
> Any more thought ?

It's also possibly to do atomic memory operations the way older
versions of ARM do cmpxchg (they don't have an instruction for it).

They call a routine in the kernel address space (but not a syscall).
Kernel task switching checks if the intruction pointer is inside that
code sequence, and restarts the cmpxchg sequence if it is.  That makes
it effectively atomic without disabling interrupts, and works with
normal userspace protections.  It doesn't work on SMP, but we assume
SMP ARMs will be a newer version which has atomic instructions.

-- Jamie
_______________________________________________
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