>I am running 2.2.10-rmk2-stk1 on an ebsa-285 like board. I have
>implemented my own system call which reads out some data stored in the
>kernel, or lets the user change this data depending on what arguments
>they pass in. It takes 4 arguments:
You should probably consider using sysctl for this, incidentally.
>if ((i = syscall(VP_SYSCALL, &my_vp, &my_vp_size, 0, 0)) < 0)
Where is your definition of `syscall' coming from; can you post the
preprocessed output and/or assembler that it generates?
>It looks like it actually pushes all 5 arguments passed to it onto the
>stack, and thus the reason for the syscall number being the first
>argument to my sys_vend_param() function. If I put a dummy int as the
>first argument to my sys_vend_param() routine, things seem to work fine.
>
>Is this expected behaviour?
Kind of. The ARM Linux ABI puts the syscall number in the SWI instruction
rather than in a register. So yes, it is expected that all five arguments to
the syscall are simply passed straight through to your routine, but no it is
not expected that one of them is your syscall number.
p.
unsubscribe: body of `unsubscribe linux-arm' to [EMAIL PROTECTED]