On Wed, Aug 20, 2008 at 11:59 PM, Rene Herman <[EMAIL PROTECTED]>wrote:

> On 20-08-08 10:43, Mayuresh wrote:
>
>  A process has both user space stack and kernel space stack. When a system
>> call happens, all parameters are either copied to stack or in
>> registers and using exception it switches to kernel. As from
>> asmlinkage, I understand parameters are passed onto stack. So once in
>> kernel space, all parameters are poped from stack, which is user
>> stack.
>>
>> My query is when does a process starts using kernel stack ?
>>
>
> At the first kernelspace instruction executed. On x86-32, the syscall
> parameters are passed in registers and are pushed onto the kernelstack by
> the common kernel syscall entrypoint after which the then called syscall
> handler finds them there (on the kernel stack, that is).
>
> See arch/x86/kernel/entry_32.S:syscall_entry() and specifically the
> SAVE_ALL macro. On x86-64, it seems they are passed on simply in registers.
>
> Rene.



Thank you all for your answers. I appreciate all the time spent.

Reply via email to