Re: [PATCH] introduce kernel_execve function to replace __KERNEL_SYSCALLS__

Arnd Bergmann
2006-08-22T15:13:48Z

On Tuesday 22 August 2006 15:39, Jeff Dike wrote:
> You're contemplating changing UML to do, e.g.
>         syscall(NR_write, fd, buf, len)
> instead of the current
>         write(fd, buf,len)
> ?
>
> That hardly seems like an improvement and it seems fairly unnecessary.
>
No, that's not what I was referring to. I was thinking of the calls:

arch/um/os-Linux/process.c:inline _syscall0(pid_t, getpid)
arch/um/os-Linux/sys-i386/tls.c:static _syscall1(int, get_thread_area, user_desc_t *, u_info);
arch/um/os-Linux/tls.c:static _syscall1(int, get_thread_area, user_desc_t *, u_info);
arch/um/os-Linux/tls.c:static _syscall1(int, set_thread_area, user_desc_t *, u_info);
arch/um/sys-i386/unmap.c:static inline _syscall2(int,munmap,void *,start,size_t,len)
arch/um/sys-i386/unmap.c:static inline _syscall6(void *,mmap2,void *,addr,size_t,len,int,prot,int,flags,int,fd,off_t,offset)
arch/um/sys-x86_64/unmap.c:static inline _syscall2(int,munmap,void *,start,size_t,len)
arch/um/sys-x86_64/unmap.c:static inline _syscall6(void *,mmap,void *,addr,size_t,len,int,prot,int,flags,int,fd,off_t,offset)

Are these for calling the host OS or calling the UML kernel?
If they are for the host, they can be implemented using syscall(),
otherwise by calling the sys_* functions directly.