Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
d1abb6a2
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
d1abb6a2
编写于
2月 16, 2005
作者:
R
Ralf Baechle
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
32-bit compatibility for various timer-related system calls.
Signed-off-by:
N
Ralf Baechle
<
ralf@linux-mips.org
>
上级
a982099c
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
60 addition
and
10 deletion
+60
-10
arch/mips/kernel/linux32.c
arch/mips/kernel/linux32.c
+50
-0
arch/mips/kernel/scall64-n32.S
arch/mips/kernel/scall64-n32.S
+9
-9
arch/mips/kernel/scall64-o32.S
arch/mips/kernel/scall64-o32.S
+1
-1
未找到文件。
arch/mips/kernel/linux32.c
浏览文件 @
d1abb6a2
...
...
@@ -1418,3 +1418,53 @@ asmlinkage long sys32_socketcall(int call, unsigned int *args32)
}
return
err
;
}
struct
sigevent32
{
u32
sigev_value
;
u32
sigev_signo
;
u32
sigev_notify
;
u32
payload
[(
64
/
4
)
-
3
];
};
extern
asmlinkage
long
sys_timer_create
(
clockid_t
which_clock
,
struct
sigevent
__user
*
timer_event_spec
,
timer_t
__user
*
created_timer_id
);
long
sys32_timer_create
(
u32
clock
,
struct
sigevent32
__user
*
se32
,
timer_t
__user
*
timer_id
)
{
struct
sigevent
__user
*
p
=
NULL
;
if
(
se32
)
{
struct
sigevent
se
;
p
=
compat_alloc_user_space
(
sizeof
(
struct
sigevent
));
memset
(
&
se
,
0
,
sizeof
(
struct
sigevent
));
if
(
get_user
(
se
.
sigev_value
.
sival_int
,
&
se32
->
sigev_value
)
||
__get_user
(
se
.
sigev_signo
,
&
se32
->
sigev_signo
)
||
__get_user
(
se
.
sigev_notify
,
&
se32
->
sigev_notify
)
||
__copy_from_user
(
&
se
.
_sigev_un
.
_pad
,
&
se32
->
payload
,
sizeof
(
se32
->
payload
))
||
copy_to_user
(
p
,
&
se
,
sizeof
(
se
)))
return
-
EFAULT
;
}
return
sys_timer_create
(
clock
,
p
,
timer_id
);
}
asmlinkage
long
sysn32_rt_sigtimedwait
(
const
sigset_t
__user
*
uthese
,
siginfo_t
__user
*
uinfo
,
const
struct
compat_timespec
__user
*
uts32
,
size_t
sigsetsize
)
{
struct
timespec
__user
*
uts
=
NULL
;
if
(
uts32
)
{
struct
timespec
ts
;
uts
=
compat_alloc_user_space
(
sizeof
(
struct
timespec
));
if
(
get_user
(
ts
.
tv_sec
,
&
uts32
->
tv_sec
)
||
get_user
(
ts
.
tv_nsec
,
&
uts32
->
tv_nsec
)
||
copy_to_user
(
uts
,
&
ts
,
sizeof
(
ts
)))
return
-
EFAULT
;
}
return
sys_rt_sigtimedwait
(
uthese
,
uinfo
,
uts
,
sigsetsize
);
}
arch/mips/kernel/scall64-n32.S
浏览文件 @
d1abb6a2
...
...
@@ -243,8 +243,8 @@ EXPORT(sysn32_call_table)
PTR
sys_capget
PTR
sys_capset
PTR
sys32_rt_sigpending
/*
6125
*/
PTR
compat_sys
_rt_sigtimedwait
PTR
sys
32
_rt_sigqueueinfo
PTR
sysn32
_rt_sigtimedwait
PTR
sys_rt_sigqueueinfo
PTR
sys32_rt_sigsuspend
PTR
sys32_sigaltstack
PTR
compat_sys_utime
/*
6130
*/
...
...
@@ -337,15 +337,15 @@ EXPORT(sysn32_call_table)
PTR
compat_sys_statfs64
PTR
compat_sys_fstatfs64
PTR
sys_sendfile64
PTR
sys_timer_create
/*
6220
*/
PTR
sys_timer_settime
PTR
sys_timer_gettime
PTR
sys
32
_timer_create
/*
6220
*/
PTR
compat_
sys_timer_settime
PTR
compat_
sys_timer_gettime
PTR
sys_timer_getoverrun
PTR
sys_timer_delete
PTR
sys_clock_settime
/*
6225
*/
PTR
sys_clock_gettime
PTR
sys_clock_getres
PTR
sys_clock_nanosleep
PTR
compat_
sys_clock_settime
/*
6225
*/
PTR
compat_
sys_clock_gettime
PTR
compat_
sys_clock_getres
PTR
compat_
sys_clock_nanosleep
PTR
sys_tgkill
PTR
compat_sys_utimes
/*
6230
*/
PTR
sys_ni_syscall
/*
sys_mbind
*/
...
...
arch/mips/kernel/scall64-o32.S
浏览文件 @
d1abb6a2
...
...
@@ -459,7 +459,7 @@ sys_call_table:
PTR
sys_fadvise64_64
PTR
compat_sys_statfs64
/*
4255
*/
PTR
compat_sys_fstatfs64
PTR
sys_timer_create
PTR
sys
32
_timer_create
PTR
compat_sys_timer_settime
PTR
compat_sys_timer_gettime
PTR
sys_timer_getoverrun
/*
4260
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录