Not much assembly is need. All we need to do is to make SYSCALL_LOCK a nop,
and handle the locking in syscall() the C function.
Don't even do it here; put the lock acquisitions/releases in the
syscall implementation functions themselves.
Last time I looked, portions of the trap code and the signal
trampoline were not process reentrant. This should not be
done until they are, since a user space call conversion
scheduler or use of async system calls (e.g. aioread) that
occurred simultaneously with a subsequent call could result
in a kernel stack corruption of the already pending async