Re: Syscall Multiplexing
"Axel Dörfler" <[email protected]> Tue, 30 Sep 2003 01:24:35 +0200 CEST
| Newsgroups | gmane.os.openbeos.storage |
|---|---|
| Message-ID | <5379339910-BeMail@nichtsnutz> |
Tyler Dauwalder <tyler-cyCl/[email protected]> wrote: > Ingo mentioned last week that you, Axel, were interested in us > multiplexing > some of the ddm syscalls, since it's a bit of a chore to add the > syscalls > to the kernel. I offered to tackle the task, but I wanted to ask > first what > exactly is involved in adding syscalls to the kernel. It looks to me > like > you have to add the symbolic constant to headers/private/kernel/ > ksyscalls.h > and an appropriate dispatch case to src/kernel/core/syscalls.c. Am I > missing anything else? Yes, you have add: 1) prototypes for the _kern_ and _user_ calls 2) add the syscalls to kernel/libroot/os/syscalls.S (with the syscall number and the 32-bit argument count (64 bits are counting twice)) 3) do what you said 4) implement the userland part of the syscall (those who call the _kern_*() calls, which could be used from both, the kernel and userland) > In lieu of multiplexing our ddm syscalls, I thought maybe I would > just > offer to add the syscalls themselves to the kernel rather than having > you > do it. Unless I've missed some terribly time consuming step in the > syscall > addition process, it seems to me it's just going to be more work > overall to > multiplex them, and the additional code, IMO, just leaves more room > for > error. I actually never thought of demultiplexing them - I thought of less functions for the user, less syscalls, and most important, less functions to implement for the module programmer :-) Bye, Axel.