[PATCH 8/9] user-cr: remove s390 clone_with_pids

Nathan Lynch ntl at pobox.com
Tue Nov 17 16:55:45 PST 2009


Remove support code for old clone_with_pids interface and update
comments accordingly.

Signed-off-by: Nathan Lynch <ntl at pobox.com>
---
 clone_s390x.c |   51 ++-------------------------------------------------
 1 files changed, 2 insertions(+), 49 deletions(-)

diff --git a/clone_s390x.c b/clone_s390x.c
index 5ed6f15..af3d41f 100644
--- a/clone_s390x.c
+++ b/clone_s390x.c
@@ -1,5 +1,5 @@
 /*
- *  clone_s390.c: support for clone_with_pid() on s390x (64 bit)
+ *  clone_s390.c: support for eclone() on s390x (64 bit)
  *
  *  Copyright (C) IBM Corporation
  *
@@ -19,57 +19,10 @@
 #include <asm/unistd.h>
 
 /*
- * libc doesn't support clone_with_pid() yet...
+ * libc doesn't support eclone() yet...
  * below is arch-dependent code to use the syscall
  */
 #include <linux/checkpoint.h>
-#if defined(__NR_clone_with_pids)
-
-/* this really belongs to some kernel header ! */
-struct pid_set {
-	int num_pids;
-	pid_t *pids;
-};
-
-/* (see: http://lkml.indiana.edu/hypermail/linux/kernel/9604.3/0204.html) */
-
-#define do_clone_with_pids(stack, flags, ptid, ctid, setp) ({ \
-	register unsigned long int __r2 asm ("2") = (unsigned long int)(stack);\
-	register unsigned long int __r3 asm ("3") = (unsigned long int)(flags);\
-	register unsigned long int __r4 asm ("4") = (unsigned long int)(ptid); \
-	register unsigned long int __r5 asm ("5") = (unsigned long int)(ctid); \
-	register unsigned long int __r6 asm ("6") = (unsigned long int)(NULL); \
-	register unsigned long int __r7 asm ("7") = (unsigned long int)(setp); \
-	register unsigned long int __result asm ("2"); \
-	__asm__ __volatile__( \
-		" lghi %%r1,%7\n" \
-		" svc 0\n" \
-		: "=d" (__result) \
-		: "0" (__r2), "d" (__r3), \
-		  "d" (__r4), "d" (__r5), "d" (__r6), "d" (__r7), \
-		  "i" (__NR_clone_with_pids) \
-		: "1", "cc", "memory" \
-	); \
-		__result; \
-	})
-
-int clone_with_pids(int (*fn)(void *), void *child_stack, int flags,
-			struct pid_set *target_pids, void *arg)
-{
-	long retval;
-	retval = do_clone_with_pids(child_stack, flags, NULL, NULL,
-				    target_pids);
-
-	if (retval < 0) {
-		errno = -retval;
-		return -1;
-	} else if (retval == 0) {
-		return fn(arg);
-	} else
-		return retval;
-}
-
-#endif  /* !defined(__NR_clone_with_pids) */
 
 #include "eclone.h"
 
-- 
1.6.2.5



More information about the Containers mailing list