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
Kirill Smelkov
linux
Commits
96ee7da2
Commit
96ee7da2
authored
Mar 15, 2003
by
Anton Blanchard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ppc64: compat_sys_fcntl from Stephen Rothwell, remove socketcall emulation
parent
ae81f068
Changes
5
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
18 additions
and
332 deletions
+18
-332
arch/ppc64/kernel/misc.S
arch/ppc64/kernel/misc.S
+2
-2
arch/ppc64/kernel/sys32.S
arch/ppc64/kernel/sys32.S
+0
-284
arch/ppc64/kernel/sys_ppc32.c
arch/ppc64/kernel/sys_ppc32.c
+0
-33
include/asm-ppc64/compat.h
include/asm-ppc64/compat.h
+15
-1
include/asm-ppc64/fcntl.h
include/asm-ppc64/fcntl.h
+1
-12
No files found.
arch/ppc64/kernel/misc.S
View file @
96ee7da2
...
...
@@ -557,7 +557,7 @@ _GLOBAL(sys_call_table32)
.
llong
.
sys32_umount
.
llong
.
sys_ni_syscall
/*
old
lock
syscall
*/
.
llong
.
sys32_ioctl
.
llong
.
sys32_fcntl
/*
55
*/
.
llong
.
compat_sys_fcntl
/*
55
*/
.
llong
.
sys_ni_syscall
/*
old
mpx
syscall
*/
.
llong
.
sys32_setpgid
.
llong
.
sys_ni_syscall
/*
old
ulimit
syscall
*/
...
...
@@ -706,7 +706,7 @@ _GLOBAL(sys_call_table32)
.
llong
.
sys_ni_syscall
/*
reserved
for
MacOnLinux
*/
.
llong
.
sys_getdents64
.
llong
.
sys_pivot_root
.
llong
.
sys32
_fcntl64
.
llong
.
compat_sys
_fcntl64
.
llong
.
sys_madvise
/*
205
*/
.
llong
.
sys_mincore
.
llong
.
sys_gettid
...
...
arch/ppc64/kernel/sys32.S
View file @
96ee7da2
...
...
@@ -25,287 +25,3 @@ _GLOBAL(ppc32_lseek)
extsw
r4
,
r4
/*
sign
extend
off_t
offset
parm
*/
b
.
sys_lseek
_GLOBAL
(
compat_sys_socketcall
)
/
*
r3
=
call
,
r4
=
args
*/
cmpwi
r3
,
1
blt
-
.
do_einval
cmpwi
r3
,
17
bgt
-
.
do_einval
subi
r3
,
r3
,
1
/*
index
into
socketcall_table
vectors
and
jmp
*/
sldi
r3
,
r3
,
3
/*
each
entry
is
8
bytes
*/
LOADADDR
(
r10
,.
socketcall_table_begin
)
ldx
r10
,
r10
,
r3
mtctr
r10
bctr
/*
Socket
function
vectored
fix
ups
for
32
bit
*/
_STATIC
(
do_sys_socket
)
/
*
sys_socket
(
int
,
int
,
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwa
r4
,
4
(
r10
)
3
:
lwa
r5
,
8
(
r10
)
b
.
sys_socket
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_bind
)
/
*
sys_bind
(
int
fd
,
struct
sockaddr
*,
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwa
r5
,
8
(
r10
)
b
.
sys_bind
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_connect
)
/
*
sys_connect
(
int
,
struct
sockaddr
*,
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwa
r5
,
8
(
r10
)
b
.
sys_connect
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_listen
)
/
*
sys_listen
(
int
,
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwa
r4
,
4
(
r10
)
b
.
sys_listen
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_accept
)
/
*
sys_accept
(
int
,
struct
sockaddr
*,
int
*)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwz
r5
,
8
(
r10
)
b
.
sys_accept
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_getsockname
)
/
*
sys_getsockname
(
int
,
struct
sockaddr
*,
int
*)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwz
r5
,
8
(
r10
)
b
.
sys_getsockname
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_getpeername
)
/
*
sys_getpeername
(
int
,
struct
sockaddr
*,
int
*)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwz
r5
,
8
(
r10
)
b
.
sys_getpeername
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_socketpair
)
/
*
sys_socketpair
(
int
,
int
,
int
,
int
*)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwa
r4
,
4
(
r10
)
3
:
lwa
r5
,
8
(
r10
)
4
:
lwz
r6
,
12
(
r10
)
b
.
sys_socketpair
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
llong
4
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_send
)
/
*
sys_send
(
int
,
void
*,
size_t
,
unsigned
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwz
r5
,
8
(
r10
)
4
:
lwz
r6
,
12
(
r10
)
b
.
sys_send
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
llong
4
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_recv
)
/
*
sys_recv
(
int
,
void
*,
size_t
,
unsigned
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwz
r5
,
8
(
r10
)
4
:
lwz
r6
,
12
(
r10
)
b
.
sys_recv
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
llong
4
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_sendto
)
/
*
sys32_sendto
(
int
,
u32
,
compat_size_t
,
unsigned
int
,
u32
,
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwz
r5
,
8
(
r10
)
4
:
lwz
r6
,
12
(
r10
)
5
:
lwz
r7
,
16
(
r10
)
6
:
lwz
r8
,
20
(
r10
)
b
.
sys_sendto
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
llong
4
b
,
.
do_efault
.
llong
5
b
,
.
do_efault
.
llong
6
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_recvfrom
)
/
*
sys32_recvfrom
(
int
,
u32
,
compat_size_t
,
unsigned
int
,
u32
,
u32
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwz
r5
,
8
(
r10
)
4
:
lwz
r6
,
12
(
r10
)
5
:
lwz
r7
,
16
(
r10
)
6
:
lwz
r8
,
20
(
r10
)
b
.
sys_recvfrom
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
llong
4
b
,
.
do_efault
.
llong
5
b
,
.
do_efault
.
llong
6
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_shutdown
)
/
*
sys_shutdown
(
int
,
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwa
r4
,
4
(
r10
)
b
.
sys_shutdown
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_setsockopt
)
/
*
compat_sys_setsockopt
(
int
,
int
,
int
,
char
*,
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwa
r4
,
4
(
r10
)
3
:
lwa
r5
,
8
(
r10
)
4
:
lwz
r6
,
12
(
r10
)
5
:
lwa
r7
,
16
(
r10
)
b
.
compat_sys_setsockopt
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
llong
4
b
,
.
do_efault
.
llong
5
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_getsockopt
)
/
*
compat_sys_getsockopt
(
int
,
int
,
int
,
u32
,
u32
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwa
r4
,
4
(
r10
)
3
:
lwa
r5
,
8
(
r10
)
4
:
lwz
r6
,
12
(
r10
)
5
:
lwz
r7
,
16
(
r10
)
b
.
compat_sys_getsockopt
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
llong
4
b
,
.
do_efault
.
llong
5
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_sendmsg
)
/
*
compat_sys_sendmsg
(
int
,
struct
compat_msghdr
*,
unsigned
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwa
r5
,
8
(
r10
)
b
.
compat_sys_sendmsg
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
previous
_STATIC
(
do_sys_recvmsg
)
/
*
compat_sys_recvmsg
(
int
,
struct
compat_msghdr
*,
unsigned
int
)
*/
mr
r10
,
r4
1
:
lwa
r3
,
0
(
r10
)
2
:
lwz
r4
,
4
(
r10
)
3
:
lwa
r5
,
8
(
r10
)
b
.
compat_sys_recvmsg
.
section
__ex_table
,
"a"
.
align
3
.
llong
1
b
,
.
do_efault
.
llong
2
b
,
.
do_efault
.
llong
3
b
,
.
do_efault
.
previous
_STATIC
(
do_einval
)
li
r3
,-
EINVAL
blr
_STATIC
(
do_efault
)
li
r3
,-
EFAULT
blr
.
balign
8
_GLOBAL
(
socketcall_table_begin
)
.
llong
.
do_sys_socket
.
llong
.
do_sys_bind
.
llong
.
do_sys_connect
.
llong
.
do_sys_listen
.
llong
.
do_sys_accept
.
llong
.
do_sys_getsockname
.
llong
.
do_sys_getpeername
.
llong
.
do_sys_socketpair
.
llong
.
do_sys_send
.
llong
.
do_sys_recv
.
llong
.
do_sys_sendto
.
llong
.
do_sys_recvfrom
.
llong
.
do_sys_shutdown
.
llong
.
do_sys_setsockopt
.
llong
.
do_sys_getsockopt
.
llong
.
do_sys_sendmsg
.
llong
.
do_sys_recvmsg
_GLOBAL
(
socketcall_table_end
)
arch/ppc64/kernel/sys_ppc32.c
View file @
96ee7da2
...
...
@@ -246,32 +246,6 @@ asmlinkage long sys32_writev(int fd, struct compat_iovec *vector, u32 count)
return
ret
;
}
extern
asmlinkage
long
sys_fcntl
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
);
asmlinkage
long
sys32_fcntl
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
switch
(
cmd
)
{
case
F_GETLK
:
case
F_SETLK
:
case
F_SETLKW
:
{
struct
flock
f
;
mm_segment_t
old_fs
;
long
ret
;
if
(
get_compat_flock
(
&
f
,
(
struct
compat_flock
*
)
arg
))
return
-
EFAULT
;
old_fs
=
get_fs
();
set_fs
(
KERNEL_DS
);
ret
=
sys_fcntl
(
fd
,
cmd
,
(
unsigned
long
)
&
f
);
set_fs
(
old_fs
);
if
(
put_compat_flock
(
&
f
,
(
struct
compat_flock
*
)
arg
))
return
-
EFAULT
;
return
ret
;
}
default:
return
sys_fcntl
(
fd
,
cmd
,
(
unsigned
long
)
arg
);
}
}
struct
ncp_mount_data32_v3
{
int
version
;
unsigned
int
ncp_fd
;
...
...
@@ -2848,13 +2822,6 @@ asmlinkage long sys32_umount(char * name, u32 flags)
return
sys_umount
(
name
,
(
int
)
flags
);
}
asmlinkage
long
sys32_fcntl64
(
unsigned
int
fd
,
unsigned
int
cmd
,
unsigned
long
arg
)
{
if
(
cmd
>=
F_GETLK64
&&
cmd
<=
F_SETLKW64
)
return
sys_fcntl
(
fd
,
cmd
+
F_GETLK
-
F_GETLK64
,
arg
);
return
sys32_fcntl
(
fd
,
cmd
,
arg
);
}
struct
__sysctl_args32
{
u32
name
;
int
nlen
;
...
...
include/asm-ppc64/compat.h
View file @
96ee7da2
...
...
@@ -61,7 +61,18 @@ struct compat_flock {
compat_off_t
l_start
;
compat_off_t
l_len
;
compat_pid_t
l_pid
;
short
__unused
;
};
#define F_GETLK64 12
/* using 'struct flock64' */
#define F_SETLK64 13
#define F_SETLKW64 14
struct
compat_flock64
{
short
l_type
;
short
l_whence
;
compat_loff_t
l_start
;
compat_loff_t
l_len
;
compat_pid_t
l_pid
;
};
struct
compat_statfs
{
...
...
@@ -84,4 +95,7 @@ typedef u32 compat_old_sigset_t;
typedef
u32
compat_sigset_word
;
#define COMPAT_OFF_T_MAX 0x7fffffff
#define COMPAT_LOFF_T_MAX 0x7fffffffffffffffL
#endif
/* _ASM_PPC64_COMPAT_H */
include/asm-ppc64/fcntl.h
View file @
96ee7da2
...
...
@@ -42,10 +42,6 @@
#define F_SETSIG 10
/* for sockets. */
#define F_GETSIG 11
/* for sockets. */
#define F_GETLK64 12
/* using 'struct flock64' */
#define F_SETLK64 13
#define F_SETLKW64 14
/* for F_[GET|SET]FL */
#define FD_CLOEXEC 1
/* actually anything with low bit set goes */
...
...
@@ -87,13 +83,6 @@ struct flock {
pid_t
l_pid
;
};
struct
flock64
{
short
l_type
;
short
l_whence
;
loff_t
l_start
;
loff_t
l_len
;
pid_t
l_pid
;
};
#define F_LINUX_SPECIFIC_BASE 1024
#endif
/* _PPC64_FCNTL_H */
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