Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
56e41d3c
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
56e41d3c
编写于
1月 21, 2013
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
merge compat sys_ipc instances
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
d5dc77bf
变更
15
隐藏空白更改
内联
并排
Showing
15 changed file
with
52 addition
and
315 deletion
+52
-315
arch/mips/kernel/linux32.c
arch/mips/kernel/linux32.c
+0
-69
arch/mips/kernel/scall64-o32.S
arch/mips/kernel/scall64-o32.S
+1
-1
arch/powerpc/kernel/sys_ppc32.c
arch/powerpc/kernel/sys_ppc32.c
+0
-67
arch/s390/kernel/compat_linux.c
arch/s390/kernel/compat_linux.c
+3
-41
arch/s390/kernel/compat_linux.h
arch/s390/kernel/compat_linux.h
+0
-1
arch/s390/kernel/compat_wrapper.S
arch/s390/kernel/compat_wrapper.S
+0
-8
arch/s390/kernel/syscalls.S
arch/s390/kernel/syscalls.S
+1
-1
arch/sparc/kernel/sys_sparc32.c
arch/sparc/kernel/sys_sparc32.c
+0
-65
arch/x86/ia32/Makefile
arch/x86/ia32/Makefile
+0
-3
arch/x86/ia32/ipc32.c
arch/x86/ia32/ipc32.c
+0
-54
arch/x86/include/asm/sys_ia32.h
arch/x86/include/asm/sys_ia32.h
+0
-3
arch/x86/syscalls/syscall_32.tbl
arch/x86/syscalls/syscall_32.tbl
+1
-1
include/linux/compat.h
include/linux/compat.h
+1
-0
ipc/compat.c
ipc/compat.c
+44
-0
kernel/sys_ni.c
kernel/sys_ni.c
+1
-1
未找到文件。
arch/mips/kernel/linux32.c
浏览文件 @
56e41d3c
...
...
@@ -119,75 +119,6 @@ SYSCALL_DEFINE6(32_pwrite, unsigned int, fd, const char __user *, buf,
return
sys_pwrite64
(
fd
,
buf
,
count
,
merge_64
(
a4
,
a5
));
}
#ifdef CONFIG_SYSVIPC
SYSCALL_DEFINE6
(
32
_ipc
,
u32
,
call
,
long
,
first
,
long
,
second
,
long
,
third
,
unsigned
long
,
ptr
,
unsigned
long
,
fifth
)
{
int
version
,
err
;
version
=
call
>>
16
;
/* hack for backward compatibility */
call
&=
0xffff
;
switch
(
call
)
{
case
SEMOP
:
/* struct sembuf is the same on 32 and 64bit :)) */
err
=
sys_semtimedop
(
first
,
compat_ptr
(
ptr
),
second
,
NULL
);
break
;
case
SEMTIMEDOP
:
err
=
compat_sys_semtimedop
(
first
,
compat_ptr
(
ptr
),
second
,
compat_ptr
(
fifth
));
break
;
case
SEMGET
:
err
=
sys_semget
(
first
,
second
,
third
);
break
;
case
SEMCTL
:
err
=
compat_sys_semctl
(
first
,
second
,
third
,
compat_ptr
(
ptr
));
break
;
case
MSGSND
:
err
=
compat_sys_msgsnd
(
first
,
second
,
third
,
compat_ptr
(
ptr
));
break
;
case
MSGRCV
:
err
=
compat_sys_msgrcv
(
first
,
second
,
fifth
,
third
,
version
,
compat_ptr
(
ptr
));
break
;
case
MSGGET
:
err
=
sys_msgget
((
key_t
)
first
,
second
);
break
;
case
MSGCTL
:
err
=
compat_sys_msgctl
(
first
,
second
,
compat_ptr
(
ptr
));
break
;
case
SHMAT
:
err
=
compat_sys_shmat
(
first
,
second
,
third
,
version
,
compat_ptr
(
ptr
));
break
;
case
SHMDT
:
err
=
sys_shmdt
(
compat_ptr
(
ptr
));
break
;
case
SHMGET
:
err
=
sys_shmget
(
first
,
(
unsigned
)
second
,
third
);
break
;
case
SHMCTL
:
err
=
compat_sys_shmctl
(
first
,
second
,
compat_ptr
(
ptr
));
break
;
default:
err
=
-
EINVAL
;
break
;
}
return
err
;
}
#else
SYSCALL_DEFINE6
(
32
_ipc
,
u32
,
call
,
int
,
first
,
int
,
second
,
int
,
third
,
u32
,
ptr
,
u32
,
fifth
)
{
return
-
ENOSYS
;
}
#endif
/* CONFIG_SYSVIPC */
#ifdef CONFIG_MIPS32_N32
SYSCALL_DEFINE4
(
n32_semctl
,
int
,
semid
,
int
,
semnum
,
int
,
cmd
,
u32
,
arg
)
{
...
...
arch/mips/kernel/scall64-o32.S
浏览文件 @
56e41d3c
...
...
@@ -309,7 +309,7 @@ sys_call_table:
PTR
compat_sys_wait4
PTR
sys_swapoff
/*
4115
*/
PTR
compat_sys_sysinfo
PTR
sys_32
_ipc
PTR
compat_sys
_ipc
PTR
sys_fsync
PTR
sys32_sigreturn
PTR
__sys_clone
/*
4120
*/
...
...
arch/powerpc/kernel/sys_ppc32.c
浏览文件 @
56e41d3c
...
...
@@ -61,73 +61,6 @@ asmlinkage long ppc32_select(u32 n, compat_ulong_t __user *inp,
return
compat_sys_select
((
int
)
n
,
inp
,
outp
,
exp
,
compat_ptr
(
tvp_x
));
}
#ifdef CONFIG_SYSVIPC
long
compat_sys_ipc
(
u32
call
,
u32
first
,
u32
second
,
u32
third
,
compat_uptr_t
ptr
,
u32
fifth
)
{
int
version
;
version
=
call
>>
16
;
/* hack for backward compatibility */
call
&=
0xffff
;
switch
(
call
)
{
case
SEMTIMEDOP
:
if
(
fifth
)
/* sign extend semid */
return
compat_sys_semtimedop
((
int
)
first
,
compat_ptr
(
ptr
),
second
,
compat_ptr
(
fifth
));
/* else fall through for normal semop() */
case
SEMOP
:
/* struct sembuf is the same on 32 and 64bit :)) */
/* sign extend semid */
return
sys_semtimedop
((
int
)
first
,
compat_ptr
(
ptr
),
second
,
NULL
);
case
SEMGET
:
/* sign extend key, nsems */
return
sys_semget
((
int
)
first
,
(
int
)
second
,
third
);
case
SEMCTL
:
/* sign extend semid, semnum */
return
compat_sys_semctl
((
int
)
first
,
(
int
)
second
,
third
,
compat_ptr
(
ptr
));
case
MSGSND
:
/* sign extend msqid */
return
compat_sys_msgsnd
((
int
)
first
,
(
int
)
second
,
third
,
compat_ptr
(
ptr
));
case
MSGRCV
:
/* sign extend msqid, msgtyp */
return
compat_sys_msgrcv
((
int
)
first
,
second
,
(
int
)
fifth
,
third
,
version
,
compat_ptr
(
ptr
));
case
MSGGET
:
/* sign extend key */
return
sys_msgget
((
int
)
first
,
second
);
case
MSGCTL
:
/* sign extend msqid */
return
compat_sys_msgctl
((
int
)
first
,
second
,
compat_ptr
(
ptr
));
case
SHMAT
:
/* sign extend shmid */
return
compat_sys_shmat
((
int
)
first
,
second
,
third
,
version
,
compat_ptr
(
ptr
));
case
SHMDT
:
return
sys_shmdt
(
compat_ptr
(
ptr
));
case
SHMGET
:
/* sign extend key_t */
return
sys_shmget
((
int
)
first
,
second
,
third
);
case
SHMCTL
:
/* sign extend shmid */
return
compat_sys_shmctl
((
int
)
first
,
second
,
compat_ptr
(
ptr
));
default:
return
-
ENOSYS
;
}
return
-
ENOSYS
;
}
#endif
unsigned
long
compat_sys_mmap2
(
unsigned
long
addr
,
size_t
len
,
unsigned
long
prot
,
unsigned
long
flags
,
unsigned
long
fd
,
unsigned
long
pgoff
)
...
...
arch/s390/kernel/compat_linux.c
浏览文件 @
56e41d3c
...
...
@@ -288,51 +288,13 @@ asmlinkage long sys32_getegid16(void)
return
high2lowgid
(
from_kgid_munged
(
current_user_ns
(),
current_egid
()));
}
/*
* sys32_ipc() is the de-multiplexer for the SysV IPC calls in 32bit emulation.
*
* This is really horribly ugly.
*/
#ifdef CONFIG_SYSVIPC
asmlinkage
long
sys32_ipc
(
u32
call
,
int
first
,
int
second
,
int
third
,
u32
ptr
)
COMPAT_SYSCALL_DEFINE5
(
s390_ipc
,
uint
,
call
,
int
,
first
,
unsigned
long
,
second
,
unsigned
long
,
third
,
compat_uptr_t
,
ptr
)
{
if
(
call
>>
16
)
/* hack for backward compatibility */
return
-
EINVAL
;
switch
(
call
)
{
case
SEMTIMEDOP
:
return
compat_sys_semtimedop
(
first
,
compat_ptr
(
ptr
),
second
,
compat_ptr
(
third
));
case
SEMOP
:
/* struct sembuf is the same on 32 and 64bit :)) */
return
sys_semtimedop
(
first
,
compat_ptr
(
ptr
),
second
,
NULL
);
case
SEMGET
:
return
sys_semget
(
first
,
second
,
third
);
case
SEMCTL
:
return
compat_sys_semctl
(
first
,
second
,
third
,
compat_ptr
(
ptr
));
case
MSGSND
:
return
compat_sys_msgsnd
(
first
,
second
,
third
,
compat_ptr
(
ptr
));
case
MSGRCV
:
return
compat_sys_msgrcv
(
first
,
second
,
0
,
third
,
0
,
compat_ptr
(
ptr
));
case
MSGGET
:
return
sys_msgget
((
key_t
)
first
,
second
);
case
MSGCTL
:
return
compat_sys_msgctl
(
first
,
second
,
compat_ptr
(
ptr
));
case
SHMAT
:
return
compat_sys_shmat
(
first
,
second
,
third
,
0
,
compat_ptr
(
ptr
));
case
SHMDT
:
return
sys_shmdt
(
compat_ptr
(
ptr
));
case
SHMGET
:
return
sys_shmget
(
first
,
(
unsigned
)
second
,
third
);
case
SHMCTL
:
return
compat_sys_shmctl
(
first
,
second
,
compat_ptr
(
ptr
));
}
return
-
ENOSYS
;
return
compat_sys_ipc
(
call
,
first
,
second
,
third
,
ptr
,
third
);
}
#endif
...
...
arch/s390/kernel/compat_linux.h
浏览文件 @
56e41d3c
...
...
@@ -94,7 +94,6 @@ long sys32_getuid16(void);
long
sys32_geteuid16
(
void
);
long
sys32_getgid16
(
void
);
long
sys32_getegid16
(
void
);
long
sys32_ipc
(
u32
call
,
int
first
,
int
second
,
int
third
,
u32
ptr
);
long
sys32_truncate64
(
const
char
__user
*
path
,
unsigned
long
high
,
unsigned
long
low
);
long
sys32_ftruncate64
(
unsigned
int
fd
,
unsigned
long
high
,
unsigned
long
low
);
...
...
arch/s390/kernel/compat_wrapper.S
浏览文件 @
56e41d3c
...
...
@@ -388,14 +388,6 @@ ENTRY(compat_sys_sysinfo_wrapper)
llgtr
%
r2
,%
r2
#
struct
sysinfo_emu31
*
jg
compat_sys_sysinfo
#
branch
to
system
call
ENTRY
(
sys32_ipc_wrapper
)
llgfr
%
r2
,%
r2
#
uint
lgfr
%
r3
,%
r3
#
int
lgfr
%
r4
,%
r4
#
int
lgfr
%
r5
,%
r5
#
int
llgfr
%
r6
,%
r6
#
u32
jg
sys32_ipc
#
branch
to
system
call
ENTRY
(
sys32_fsync_wrapper
)
llgfr
%
r2
,%
r2
#
unsigned
int
jg
sys_fsync
#
branch
to
system
call
...
...
arch/s390/kernel/syscalls.S
浏览文件 @
56e41d3c
...
...
@@ -125,7 +125,7 @@ NI_SYSCALL /* vm86old for i386 */
SYSCALL
(
sys_wait4
,
sys_wait4
,
compat_sys_wait4
)
SYSCALL
(
sys_swapoff
,
sys_swapoff
,
sys32_swapoff_wrapper
)
/
*
115
*/
SYSCALL
(
sys_sysinfo
,
sys_sysinfo
,
compat_sys_sysinfo_wrapper
)
SYSCALL
(
sys_s390_ipc
,
sys_s390_ipc
,
sys32_ipc_wrapper
)
SYSCALL
(
sys_s390_ipc
,
sys_s390_ipc
,
compat_sys_s390_ipc
)
SYSCALL
(
sys_fsync
,
sys_fsync
,
sys32_fsync_wrapper
)
SYSCALL
(
sys_sigreturn
,
sys_sigreturn
,
sys32_sigreturn
)
SYSCALL
(
sys_clone
,
sys_clone
,
sys_clone_wrapper
)
/
*
120
*/
...
...
arch/sparc/kernel/sys_sparc32.c
浏览文件 @
56e41d3c
...
...
@@ -49,71 +49,6 @@
#include <asm/mmu_context.h>
#include <asm/compat_signal.h>
#ifdef CONFIG_SYSVIPC
asmlinkage
long
compat_sys_ipc
(
u32
call
,
u32
first
,
u32
second
,
u32
third
,
compat_uptr_t
ptr
,
u32
fifth
)
{
int
version
;
version
=
call
>>
16
;
/* hack for backward compatibility */
call
&=
0xffff
;
switch
(
call
)
{
case
SEMTIMEDOP
:
if
(
fifth
)
/* sign extend semid */
return
compat_sys_semtimedop
((
int
)
first
,
compat_ptr
(
ptr
),
second
,
compat_ptr
(
fifth
));
/* else fall through for normal semop() */
case
SEMOP
:
/* struct sembuf is the same on 32 and 64bit :)) */
/* sign extend semid */
return
sys_semtimedop
((
int
)
first
,
compat_ptr
(
ptr
),
second
,
NULL
);
case
SEMGET
:
/* sign extend key, nsems */
return
sys_semget
((
int
)
first
,
(
int
)
second
,
third
);
case
SEMCTL
:
/* sign extend semid, semnum */
return
compat_sys_semctl
((
int
)
first
,
(
int
)
second
,
third
,
compat_ptr
(
ptr
));
case
MSGSND
:
/* sign extend msqid */
return
compat_sys_msgsnd
((
int
)
first
,
(
int
)
second
,
third
,
compat_ptr
(
ptr
));
case
MSGRCV
:
/* sign extend msqid, msgtyp */
return
compat_sys_msgrcv
((
int
)
first
,
second
,
(
int
)
fifth
,
third
,
version
,
compat_ptr
(
ptr
));
case
MSGGET
:
/* sign extend key */
return
sys_msgget
((
int
)
first
,
second
);
case
MSGCTL
:
/* sign extend msqid */
return
compat_sys_msgctl
((
int
)
first
,
second
,
compat_ptr
(
ptr
));
case
SHMAT
:
/* sign extend shmid */
return
compat_sys_shmat
((
int
)
first
,
second
,
third
,
version
,
compat_ptr
(
ptr
));
case
SHMDT
:
return
sys_shmdt
(
compat_ptr
(
ptr
));
case
SHMGET
:
/* sign extend key_t */
return
sys_shmget
((
int
)
first
,
second
,
third
);
case
SHMCTL
:
/* sign extend shmid */
return
compat_sys_shmctl
((
int
)
first
,
second
,
compat_ptr
(
ptr
));
default:
return
-
ENOSYS
;
}
return
-
ENOSYS
;
}
#endif
asmlinkage
long
sys32_truncate64
(
const
char
__user
*
path
,
unsigned
long
high
,
unsigned
long
low
)
{
if
((
int
)
high
<
0
)
...
...
arch/x86/ia32/Makefile
浏览文件 @
56e41d3c
...
...
@@ -5,9 +5,6 @@
obj-$(CONFIG_IA32_EMULATION)
:=
ia32entry.o sys_ia32.o ia32_signal.o
obj-$(CONFIG_IA32_EMULATION)
+=
nosyscall.o syscall_ia32.o
sysv-$(CONFIG_SYSVIPC)
:=
ipc32.o
obj-$(CONFIG_IA32_EMULATION)
+=
$
(
sysv-y
)
obj-$(CONFIG_IA32_AOUT)
+=
ia32_aout.o
audit-class-$(CONFIG_AUDIT)
:=
audit.o
...
...
arch/x86/ia32/ipc32.c
已删除
100644 → 0
浏览文件 @
d5dc77bf
#include <linux/kernel.h>
#include <linux/spinlock.h>
#include <linux/list.h>
#include <linux/syscalls.h>
#include <linux/time.h>
#include <linux/sem.h>
#include <linux/msg.h>
#include <linux/shm.h>
#include <linux/ipc.h>
#include <linux/compat.h>
#include <asm/sys_ia32.h>
asmlinkage
long
sys32_ipc
(
u32
call
,
int
first
,
int
second
,
int
third
,
compat_uptr_t
ptr
,
u32
fifth
)
{
int
version
;
version
=
call
>>
16
;
/* hack for backward compatibility */
call
&=
0xffff
;
switch
(
call
)
{
case
SEMOP
:
/* struct sembuf is the same on 32 and 64bit :)) */
return
sys_semtimedop
(
first
,
compat_ptr
(
ptr
),
second
,
NULL
);
case
SEMTIMEDOP
:
return
compat_sys_semtimedop
(
first
,
compat_ptr
(
ptr
),
second
,
compat_ptr
(
fifth
));
case
SEMGET
:
return
sys_semget
(
first
,
second
,
third
);
case
SEMCTL
:
return
compat_sys_semctl
(
first
,
second
,
third
,
compat_ptr
(
ptr
));
case
MSGSND
:
return
compat_sys_msgsnd
(
first
,
second
,
third
,
compat_ptr
(
ptr
));
case
MSGRCV
:
return
compat_sys_msgrcv
(
first
,
second
,
fifth
,
third
,
version
,
compat_ptr
(
ptr
));
case
MSGGET
:
return
sys_msgget
((
key_t
)
first
,
second
);
case
MSGCTL
:
return
compat_sys_msgctl
(
first
,
second
,
compat_ptr
(
ptr
));
case
SHMAT
:
return
compat_sys_shmat
(
first
,
second
,
third
,
version
,
compat_ptr
(
ptr
));
case
SHMDT
:
return
sys_shmdt
(
compat_ptr
(
ptr
));
case
SHMGET
:
return
sys_shmget
(
first
,
(
unsigned
)
second
,
third
);
case
SHMCTL
:
return
compat_sys_shmctl
(
first
,
second
,
compat_ptr
(
ptr
));
}
return
-
ENOSYS
;
}
arch/x86/include/asm/sys_ia32.h
浏览文件 @
56e41d3c
...
...
@@ -57,9 +57,6 @@ asmlinkage long sys32_fallocate(int, int, unsigned,
asmlinkage
long
sys32_sigreturn
(
void
);
asmlinkage
long
sys32_rt_sigreturn
(
void
);
/* ia32/ipc32.c */
asmlinkage
long
sys32_ipc
(
u32
,
int
,
int
,
int
,
compat_uptr_t
,
u32
);
asmlinkage
long
sys32_fanotify_mark
(
int
,
unsigned
int
,
u32
,
u32
,
int
,
const
char
__user
*
);
...
...
arch/x86/syscalls/syscall_32.tbl
浏览文件 @
56e41d3c
...
...
@@ -123,7 +123,7 @@
114 i386 wait4 sys_wait4 compat_sys_wait4
115 i386 swapoff sys_swapoff
116 i386 sysinfo sys_sysinfo compat_sys_sysinfo
117 i386 ipc sys_ipc
sys32
_ipc
117 i386 ipc sys_ipc
compat_sys
_ipc
118 i386 fsync sys_fsync
119 i386 sigreturn sys_sigreturn stub32_sigreturn
120 i386 clone sys_clone stub32_clone
...
...
include/linux/compat.h
浏览文件 @
56e41d3c
...
...
@@ -318,6 +318,7 @@ long compat_sys_msgrcv(int first, int second, int msgtyp, int third,
int
version
,
void
__user
*
uptr
);
long
compat_sys_shmat
(
int
first
,
int
second
,
compat_uptr_t
third
,
int
version
,
void
__user
*
uptr
);
asmlinkage
long
compat_sys_ipc
(
u32
,
int
,
int
,
u32
,
compat_uptr_t
,
u32
);
#else
long
compat_sys_semctl
(
int
semid
,
int
semnum
,
int
cmd
,
int
arg
);
long
compat_sys_msgsnd
(
int
msqid
,
struct
compat_msgbuf
__user
*
msgp
,
...
...
ipc/compat.c
浏览文件 @
56e41d3c
...
...
@@ -368,6 +368,50 @@ long compat_sys_msgrcv(int first, int second, int msgtyp, int third,
return
do_msgrcv
(
first
,
uptr
,
second
,
msgtyp
,
third
,
compat_do_msg_fill
);
}
COMPAT_SYSCALL_DEFINE6
(
ipc
,
u32
,
call
,
int
,
first
,
int
,
second
,
u32
,
third
,
compat_uptr_t
,
ptr
,
u32
,
fifth
)
{
int
version
;
version
=
call
>>
16
;
/* hack for backward compatibility */
call
&=
0xffff
;
switch
(
call
)
{
case
SEMOP
:
/* struct sembuf is the same on 32 and 64bit :)) */
return
sys_semtimedop
(
first
,
compat_ptr
(
ptr
),
second
,
NULL
);
case
SEMTIMEDOP
:
return
compat_sys_semtimedop
(
first
,
compat_ptr
(
ptr
),
second
,
compat_ptr
(
fifth
));
case
SEMGET
:
return
sys_semget
(
first
,
second
,
third
);
case
SEMCTL
:
return
compat_sys_semctl
(
first
,
second
,
third
,
compat_ptr
(
ptr
));
case
MSGSND
:
return
compat_sys_msgsnd
(
first
,
second
,
third
,
compat_ptr
(
ptr
));
case
MSGRCV
:
return
compat_sys_msgrcv
(
first
,
second
,
fifth
,
third
,
version
,
compat_ptr
(
ptr
));
case
MSGGET
:
return
sys_msgget
(
first
,
second
);
case
MSGCTL
:
return
compat_sys_msgctl
(
first
,
second
,
compat_ptr
(
ptr
));
case
SHMAT
:
return
compat_sys_shmat
(
first
,
second
,
third
,
version
,
compat_ptr
(
ptr
));
case
SHMDT
:
return
sys_shmdt
(
compat_ptr
(
ptr
));
case
SHMGET
:
return
sys_shmget
(
first
,
(
unsigned
)
second
,
third
);
case
SHMCTL
:
return
compat_sys_shmctl
(
first
,
second
,
compat_ptr
(
ptr
));
}
return
-
ENOSYS
;
}
#else
long
compat_sys_semctl
(
int
semid
,
int
semnum
,
int
cmd
,
int
arg
)
{
...
...
kernel/sys_ni.c
浏览文件 @
56e41d3c
...
...
@@ -156,7 +156,7 @@ cond_syscall(compat_sys_process_vm_writev);
cond_syscall
(
sys_pciconfig_read
);
cond_syscall
(
sys_pciconfig_write
);
cond_syscall
(
sys_pciconfig_iobase
);
cond_syscall
(
sys32
_ipc
);
cond_syscall
(
compat_sys_s390
_ipc
);
cond_syscall
(
ppc_rtas
);
cond_syscall
(
sys_spu_run
);
cond_syscall
(
sys_spu_create
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录