[coyotos-dev] Major change to IPC specification

Jonathan S. Shapiro shap at eros-os.com
Fri May 25 08:55:19 EDT 2007


A small further point of clarification:

8 direct data words means 6 available for payload. DW0 is used as the
operation control word. This word contains, among other things, the
system call number. DW1 contains the request code.

If you are interested, you can see the current layout and use of the
various words at


http://www.opencm.org/opencm/~/PUBLIC/coyotos/DEV/sys/top/coyotos/syscall.h


A response to Charlie Landau concerning parameters:

The IA-32 SYSCALL/SYSENTER instruction does not make provision for a
system call number as part of the opcode, nor does it save the SP or the
user EIP. In effect, this pins down three registers at the instruction
boundary, which is why Bernhard Kauer's W5 binding is so named -- after
the five words that you have available.

We chose to encode the system call number in DW0 for all system calls.
The remaining bits are used to express control options for the
respective system calls. Given that the SYSCALL/SYSENTER interface burns
a register anyway, we aren't losing anything new.



More information about the coyotos-dev mailing list