Christoph Hellwig wrote:
On Mon, Sep 13, 2004 at 05:04:17PM +0300, Constantine Gavrilov wrote:
Hello:
We have a piece of kernel code that calls some system calls in kernel context (
Which you shouldn't do in the first place.
Function kernel_thread() on i386 is implemented by putting the args to appropriate regs and calling int 0x80, resulting in a system call clone() on i386.
I have also found the "syscall" instruction in x86-64 kernel specific code (it does not call _syscall() macros directly, though). So, "shouldn't do" is a bit too strong.
What I am writing is an application, and not interface. As such, it is not much different from its requierements from a user-space application. If user-space application may call system calls, why a kernel space application cannot?
And BTW, kernel-space applications have their own place even if the concept seems foreign to you.