[Louis ]
Hi L4 hackers, I'm a newbie in L4 and reading L4 X.2 spec. In IA32 interface, KernelInterface is implemented by 'lock: nop'. That really confuses me. Is it not just a placeholder? Any special side-effect? I can not find any clue in IA32 manuals.
"lock nop" is an illegal instruction that will raise an exception. It is used because we need to somehow transfer control to the kernel, and using "lock nop" is very unlikely to be used by anyone else---really neat if you want to support running unmodified binaries (e.g., Linux binaries) on top of the kernel. That is, other kernels will typically *not* use this as a means to enter the kernel for performing syscalls, etc., and using it for *our* purpose is therefore not likely to cause conflicts.
eSk