It looks like sometime after test5 the MIPS_ATOMIC_SET case in sys_sysmips()
function in the CVS tree is changed. The new code now uses ll/sc instructions
and handles syscall trace, etc..
This change does not make sense to me. The userland typically uses
MIPS_ATOMIC_SET when ll/sc instructions are not available. But the new code
itself uses ll/sc, which pretty much forfeit the purpose. Or do I miss
something else?
What do we offer to machines without ll/sc?
BTW, what is the wrong with previous code? I understand it may be broken in
SMP case, but I think that is fixable. Comments?
Jun
|