Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
dfe09ae0
Commit
dfe09ae0
authored
Oct 26, 2012
by
Al Viro
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
alpha: switch to generic fork/vfork/clone
Signed-off-by:
Al Viro
<
viro@zeniv.linux.org.uk
>
parent
87f1ca8f
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
17 additions
and
59 deletions
+17
-59
arch/alpha/include/asm/unistd.h
arch/alpha/include/asm/unistd.h
+3
-0
arch/alpha/kernel/entry.S
arch/alpha/kernel/entry.S
+11
-31
arch/alpha/kernel/process.c
arch/alpha/kernel/process.c
+0
-25
arch/alpha/kernel/systbls.S
arch/alpha/kernel/systbls.S
+3
-3
No files found.
arch/alpha/include/asm/unistd.h
View file @
dfe09ae0
...
...
@@ -482,6 +482,9 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_SYS_EXECVE
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_CLONE
/* "Conditional" syscalls. What we want is
...
...
arch/alpha/kernel/entry.S
View file @
dfe09ae0
...
...
@@ -612,44 +612,24 @@ ret_from_kernel_thread:
*
Special
system
calls
.
Most
of
these
are
special
in
that
they
either
*
have
to
play
switch_stack
games
or
in
some
way
use
the
pt_regs
struct
.
*/
.
macro
fork_like
name
.
align
4
.
globl
sys_fork
.
ent
sys_fork
sys_fork
:
.
globl
alpha_
\
name
.
ent
alpha_
\
name
alpha_
\
name
:
.
prologue
0
bsr
$
1
,
do_switch_stack
bis
$
31
,
SIGCHLD
,
$
16
mov
$
31
,
$
17
mov
$
31
,
$
18
mov
$
31
,
$
19
mov
$
31
,
$
20
jsr
$
26
,
alpha_clone
fork_out
:
jsr
$
26
,
sys_
\
name
ldq
$
26
,
56
(
$sp
)
lda
$sp
,
SWITCH_STACK_SIZE
(
$sp
)
ret
.
end
sys_fork
.
align
4
.
globl
sys_clone
.
ent
sys_clone
sys_clone
:
.
prologue
0
bsr
$
1
,
do_switch_stack
/
*
$
16
,
$
17
,
$
18
,
$
19
,
$
20
come
from
the
user
.
*/
lda
$
26
,
fork_out
jsr
$
31
,
alpha_clone
.
end
sys_clone
.
end
alpha_
\
name
.
endm
.
align
4
.
globl
sys_vfork
.
ent
sys_vfork
sys_vfork
:
.
prologue
0
bsr
$
1
,
do_switch_stack
lda
$
26
,
fork_out
jsr
$
31
,
alpha_vfork
.
end
sys_vfork
fork_like
fork
fork_like
vfork
fork_like
clone
.
align
4
.
globl
sys_sigreturn
...
...
arch/alpha/kernel/process.c
View file @
dfe09ae0
...
...
@@ -234,31 +234,6 @@ release_thread(struct task_struct *dead_task)
{
}
/*
* "alpha_clone()".. By the time we get here, the
* non-volatile registers have also been saved on the
* stack. We do some ugly pointer stuff here.. (see
* also copy_thread)
*
* Notice that "fork()" is implemented in terms of clone,
* with parameters (SIGCHLD, 0).
*/
int
alpha_clone
(
unsigned
long
clone_flags
,
unsigned
long
usp
,
int
__user
*
parent_tid
,
int
__user
*
child_tid
,
unsigned
long
tls_value
)
{
return
do_fork
(
clone_flags
,
usp
,
current_pt_regs
(),
0
,
parent_tid
,
child_tid
);
}
int
alpha_vfork
(
void
)
{
return
do_fork
(
CLONE_VFORK
|
CLONE_VM
|
SIGCHLD
,
0
,
current_pt_regs
(),
0
,
NULL
,
NULL
);
}
/*
* Copy an alpha thread..
*/
...
...
arch/alpha/kernel/systbls.S
View file @
dfe09ae0
...
...
@@ -12,7 +12,7 @@
sys_call_table
:
.
quad
alpha_ni_syscall
/*
0
*/
.
quad
sys_exit
.
quad
sys
_fork
.
quad
alpha
_fork
.
quad
sys_read
.
quad
sys_write
.
quad
alpha_ni_syscall
/*
5
*/
...
...
@@ -76,7 +76,7 @@ sys_call_table:
.
quad
sys_getpgrp
.
quad
sys_getpagesize
.
quad
alpha_ni_syscall
/*
65
*/
.
quad
sys
_vfork
.
quad
alpha
_vfork
.
quad
sys_newstat
.
quad
sys_newlstat
.
quad
alpha_ni_syscall
...
...
@@ -330,7 +330,7 @@ sys_call_table:
.
quad
sys_ni_syscall
/*
309
:
old
get_kernel_syms
*/
.
quad
sys_syslog
/*
310
*/
.
quad
sys_reboot
.
quad
sys
_clone
.
quad
alpha
_clone
.
quad
sys_uselib
.
quad
sys_mlock
.
quad
sys_munlock
/*
315
*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment