[lkml]   [1999]   [Sep]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subjectsyscall semantics question

I am porting some checkpoint/restart code from intel to alpha, and have
run into a bit of a jam. I am not sure what the question should be, so
I'll describe the circumstances.

A system call is defined as:

static inline _syscall1 (int, restart, char*, filename);

and then written as:

asmlinkage int sys_restart (struct pt_regs regs)

Is it correct to assume on all architectures that one could cast the first
arg to a syscall as a 'struct pt_regs'? The author also does it here:

static inline _syscall3 (int, checkpoint, int, pid, int, fd, int, flags);

and then:

asmlinkage int sys_checkpoint (struct pt_regs regs)

Also, when restarting the image, he copies the old regs right into &regs.
So, I am assuming this is the task's saved stack.

So, I guess the question I have is will this work across platforms? I know
for the alpha one also has to restore the switch_stack. How about the usp?
Should that be saved and restored ([rd,wr]usp)?

If it helps, the restart system call replaces the caller with the
checkpointed image, similar to exec.

Any help you could provide would be greatly appreciated.


To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:54    [W:0.031 / U:17.104 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site