> > > > there isnt a concept called loadable system calls in linux.but u can add > dynamically with out recompiling the kernel by directly doing changes in the > sys_call_table.Note : is not portable. > >> 1) add an >> entry in include/asm-i386/unistd.h 2) #insmod nrprocess.o > > > No need to add an entry in unistd.h if u r planning to add the system call > using a module. > >> but I don't see how the userland application know the new system call. > > > use _syscallX(...,...) macros defined in unistd.h from the userland programs > >> Do I have to recompile the kernel? I wonder there is document which >> explains that. > > No need to recompile. > > Others please clarify if i m wrong. > > regards, > mohan. > > mohan, Thank for the info. But I still have a question. In my userland code, I change new system call our_sys_open("mytest", O_RDONLY, 0444); into #include <unistd.h> ... _syscall3(errno, "our_sys_open", name, "mytest", filename, O_RDONLY, flags, 0444); ... the compilation still gives me error: undefined reference to `_syscall3' I guess there is something I am still missing, -Hong - Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ IRC Channel: irc.openprojects.net / #kernelnewbies Web Page: http://www.kernelnewbies.org/