From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
To: Andrew Morton <akpm@osdl.org>
Cc: linux-kernel@vger.kernel.org, Oren Laadan <orenl@cs.columbia.edu>,
serue@us.ibm.com, "Eric W. Biederman" <ebiederm@xmission.com>,
Alexey Dobriyan <adobriyan@gmail.com>,
Pavel Emelyanov <xemul@openvz.org>,
hpa@zytor.com, Nathan Lynch <nathanl@austin.ibm.com>,
haveblue@us.ibm.com, Matt Helsley <matthltc@us.ibm.com>,
arnd@arndb.de, roland@redhat.com, mtk.manpages@googlemail.com,
linux-api@vger.kernel.org,
Containers <containers@lists.linux-foundation.org>
Subject: [v13][PATCH 09/12] Implement sys_eclone for x86_64
Date: Wed, 25 Nov 2009 10:59:55 -0800 [thread overview]
Message-ID: <20091125185955.GJ30858@us.ibm.com> (raw)
In-Reply-To: <20091125185543.GA30858@us.ibm.com>
From: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
Subject: [v13][PATCH 09/12] Implement sys_eclone for x86_64
Implement sys_eclone() system call for x86_64.
This is based on earlier code from Dave Hansen. Modified to share code
between x86 and x86_64 kernels.
Signed-off-by: Sukadev Bhattiprolu <sukadev@linux.vnet.ibm.com>
---
arch/x86/include/asm/unistd_64.h | 3 +++
arch/x86/kernel/entry_64.S | 1 +
arch/x86/kernel/process_64.c | 7 +++++++
3 files changed, 11 insertions(+), 0 deletions(-)
diff --git a/arch/x86/include/asm/unistd_64.h b/arch/x86/include/asm/unistd_64.h
index 8d3ad0a..d2ffc89 100644
--- a/arch/x86/include/asm/unistd_64.h
+++ b/arch/x86/include/asm/unistd_64.h
@@ -661,6 +661,9 @@ __SYSCALL(__NR_pwritev, sys_pwritev)
__SYSCALL(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo)
#define __NR_perf_event_open 298
__SYSCALL(__NR_perf_event_open, sys_perf_event_open)
+#define __NR_eclone 299
+__SYSCALL(__NR_eclone, stub_eclone)
+
#ifndef __NO_STUBS
#define __ARCH_WANT_OLD_READDIR
diff --git a/arch/x86/kernel/entry_64.S b/arch/x86/kernel/entry_64.S
index b5c061f..6d60cd1 100644
--- a/arch/x86/kernel/entry_64.S
+++ b/arch/x86/kernel/entry_64.S
@@ -698,6 +698,7 @@ END(\label)
PTREGSCALL stub_vfork, sys_vfork, %rdi
PTREGSCALL stub_sigaltstack, sys_sigaltstack, %rdx
PTREGSCALL stub_iopl, sys_iopl, %rsi
+ PTREGSCALL stub_eclone, sys_eclone, %r8
ENTRY(ptregscall_common)
DEFAULT_FRAME 1 8 /* offset 8: return address */
diff --git a/arch/x86/kernel/process_64.c b/arch/x86/kernel/process_64.c
index eb62cbc..2c306b9 100644
--- a/arch/x86/kernel/process_64.c
+++ b/arch/x86/kernel/process_64.c
@@ -540,6 +540,13 @@ sys_clone(unsigned long clone_flags, unsigned long newsp,
return do_fork(clone_flags, newsp, regs, 0, parent_tid, child_tid);
}
+asmlinkage long
+sys_eclone(unsigned int flags_low, struct clone_args * __user uca,
+ int args_size, pid_t * __user pids, struct pt_regs *regs)
+{
+ return do_eclone_common(regs, flags_low, uca, args_size, pids);
+}
+
unsigned long get_wchan(struct task_struct *p)
{
unsigned long stack;
--
1.6.0.4
next prev parent reply other threads:[~2009-11-25 18:59 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-25 18:55 [v13][PATCH 00/12] Implement eclone() system call Sukadev Bhattiprolu
2009-11-25 18:56 ` [v13][PATCH 01/12] Factor out code to allocate pidmap page Sukadev Bhattiprolu
2009-11-25 18:57 ` [v13][PATCH 02/12] Have alloc_pidmap() return actual error code Sukadev Bhattiprolu
2009-11-25 18:58 ` [v13][PATCH 03/12] Define set_pidmap() function Sukadev Bhattiprolu
2009-11-25 18:58 ` [v13][PATCH 04/12] Add target_pids parameter to alloc_pid() Sukadev Bhattiprolu
2009-11-25 18:58 ` [v13][PATCH 05/12] Add target_pids parameter to copy_process() Sukadev Bhattiprolu
2009-11-25 18:59 ` [v13][PATCH 06/12] Check invalid clone flags Sukadev Bhattiprolu
2009-11-25 18:59 ` [v13][PATCH 07/12] Define do_fork_with_pids() Sukadev Bhattiprolu
2009-11-25 18:59 ` [v13][PATCH 08/12] Implement sys_eclone for x86 Sukadev Bhattiprolu
2009-11-25 18:59 ` Sukadev Bhattiprolu [this message]
2009-11-25 19:00 ` [v13][PATCH 10/12] Implement sys_eclone for s390 Sukadev Bhattiprolu
2009-11-25 19:00 ` [v13][PATCH 11/12] Implement sys_eclone for powerpc Sukadev Bhattiprolu
2009-11-25 19:02 ` [v13][PATCH 12/12] Document sys_eclone Sukadev Bhattiprolu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20091125185955.GJ30858@us.ibm.com \
--to=sukadev@linux.vnet.ibm.com \
--cc=adobriyan@gmail.com \
--cc=akpm@osdl.org \
--cc=arnd@arndb.de \
--cc=containers@lists.linux-foundation.org \
--cc=ebiederm@xmission.com \
--cc=haveblue@us.ibm.com \
--cc=hpa@zytor.com \
--cc=linux-api@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matthltc@us.ibm.com \
--cc=mtk.manpages@googlemail.com \
--cc=nathanl@austin.ibm.com \
--cc=orenl@cs.columbia.edu \
--cc=roland@redhat.com \
--cc=serue@us.ibm.com \
--cc=xemul@openvz.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox