Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
d1abb6a2
Commit
d1abb6a2
authored
Feb 16, 2005
by
Ralf Baechle
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
32-bit compatibility for various timer-related system calls.
Signed-off-by:
Ralf Baechle
<
ralf@linux-mips.org
>
parent
a982099c
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
60 additions
and
10 deletions
+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
No files found.
arch/mips/kernel/linux32.c
View file @
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
View file @
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
View file @
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
*/
...
...
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