Quote:
Originally Posted by RepSTOSW
* In kernel\sys_ni.c
cond_syscall(sys_mycall);
(don't know why I would need this line, but it doesn't compile without it)
|
This says it all. Are you compiling a UML kernel or a native 32-bit x86 kernel? The steps you have taken so far will only work in the latter case.
On any other arch (and UML is somewhat like an arch), the following:
Code:
cond_syscall(sys_mycall);
will make
sys_mycall a weak alias to
sys_ni_syscall. Thus, it will enable compilation on an arch for which the syscall has not yet been written, by replacing it with a stub (the “not implemented” system call). If the stub is required for compilation, it means the strong alias is not available (i.e., it is in an object file unused by the current architecture).
So I do not think symbols in
arch/x86/kernel will be available to a UML kernel. It would be better to put your file somewhere more universal (especially considering your system call does nothing processor-specific).