* [Linux-ia64] Extra do_fork arg for clone2
@ 2002-12-11 5:05 Ian Wienand
0 siblings, 0 replies; only message in thread
From: Ian Wienand @ 2002-12-11 5:05 UTC (permalink / raw)
To: linux-ia64
Hello,
Due to the recent changes to clone flags by Ingo Molnar (see
http://www.gelato.unsw.edu.au/~ianw/clone2.txt if anyone missed the
thread) we need an extra argument to do_fork. this doesn't seem to be
in the 2.5.50 pre-patch.
suggested patch below.
thanks
-i
ianw@gelato.unsw.edu.au
--- 1.24/arch/ia64/kernel/entry.S Mon Nov 25 10:27:51 2002
+++ 1.25/arch/ia64/kernel/entry.S Wed Dec 11 15:04:10 2002
@@ -91,11 +91,11 @@
END(ia64_execve)
/*
- * sys_clone2(u64 flags, u64 ustack_base, u64 ustack_size, u64 user_tid, u64 tls)
+ * sys_clone2(u64 flags, u64 ustack_base, u64 ustack_size, u64 parent_tidptr, u64 child_tidptr, u64 tls)
*/
GLOBAL_ENTRY(sys_clone2)
.prologue ASM_UNW_PRLG_RP|ASM_UNW_PRLG_PFS, ASM_UNW_PRLG_GRSAVE(2)
- alloc r16=ar.pfs,5,2,5,0
+ alloc r16=ar.pfs,6,2,6,0
DO_SAVE_SWITCH_STACK
adds r2=PT(R16)+IA64_SWITCH_STACK_SIZE+16,sp
mov loc0=rp
@@ -104,9 +104,10 @@
mov out1=in1
mov out3=in2
tbit.nz p6,p0=in0,CLONE_SETTLS_BIT
- mov out4=in3 // valid only w/CLONE_SETTID and/or CLONE_CLEARTID
+ mov out4=in3 // parent_tidptr
+ mov out5=in4 // child_tidptr
;;
-(p6) st8 [r2]=in4 // store TLS in r13 (tp)
+(p6) st8 [r2]=in5 // store TLS in r13 (tp)
adds out2=IA64_SWITCH_STACK_SIZE+16,sp // out2 = ®s
dep out0=0,in0,CLONE_IDLETASK_BIT,1 // out0 = clone_flags & ~CLONE_IDLETASK
br.call.sptk.many rp=do_fork
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2002-12-11 5:05 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-12-11 5:05 [Linux-ia64] Extra do_fork arg for clone2 Ian Wienand
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox