Commit 6e9a4ac4 authored by Stephen Rothwell's avatar Stephen Rothwell Committed by David Mosberger

[PATCH] ia64: consolidate sys32_times

parent 0e89bb94
......@@ -234,7 +234,7 @@ ia32_syscall_table:
data8 sys_rmdir /* 40 */
data8 sys_dup
data8 sys32_pipe
data8 sys32_times
data8 compat_sys_times
data8 sys32_ni_syscall /* old prof syscall holder */
data8 sys32_brk /* 45 */
data8 sys_setgid /* 16-bit version */
......
......@@ -2589,37 +2589,6 @@ sys32_getrusage (int who, struct rusage32 *ru)
return ret;
}
struct tms32 {
__kernel_clock_t32 tms_utime;
__kernel_clock_t32 tms_stime;
__kernel_clock_t32 tms_cutime;
__kernel_clock_t32 tms_cstime;
};
extern asmlinkage long sys_times (struct tms * tbuf);
asmlinkage long
sys32_times (struct tms32 *tbuf)
{
mm_segment_t old_fs = get_fs();
struct tms t;
long ret;
int err;
set_fs(KERNEL_DS);
ret = sys_times(tbuf ? &t : NULL);
set_fs(old_fs);
if (tbuf) {
err = put_user (IA32_TICK(t.tms_utime), &tbuf->tms_utime);
err |= put_user (IA32_TICK(t.tms_stime), &tbuf->tms_stime);
err |= put_user (IA32_TICK(t.tms_cutime), &tbuf->tms_cutime);
err |= put_user (IA32_TICK(t.tms_cstime), &tbuf->tms_cstime);
if (err)
ret = -EFAULT;
}
return IA32_TICK(ret);
}
static unsigned int
ia32_peek (struct pt_regs *regs, struct task_struct *child, unsigned long addr, unsigned int *val)
{
......
......@@ -6,9 +6,12 @@
#include <linux/types.h>
#define COMPAT_USER_HZ 100
typedef u32 compat_size_t;
typedef s32 compat_ssize_t;
typedef s32 compat_time_t;
typedef s32 compat_clock_t;
struct compat_timespec {
compat_time_t tv_sec;
......
......@@ -6,14 +6,13 @@
#ifdef CONFIG_IA32_SUPPORT
#include <linux/binfmts.h>
#include <linux/compat.h>
/*
* 32 bit structures for IA32 support.
*/
/* 32bit compatibility types */
typedef int __kernel_ptrdiff_t32;
typedef int __kernel_clock_t32;
typedef int __kernel_pid_t32;
typedef unsigned short __kernel_ipc_pid_t32;
typedef unsigned short __kernel_uid_t32;
......@@ -36,7 +35,6 @@ typedef __kernel_fsid_t __kernel_fsid_t32;
#define IA32_PAGE_MASK (~(IA32_PAGE_SIZE - 1))
#define IA32_PAGE_ALIGN(addr) (((addr) + IA32_PAGE_SIZE - 1) & IA32_PAGE_MASK)
#define IA32_CLOCKS_PER_SEC 100 /* Cast in stone for IA32 Linux */
#define IA32_TICK(tick) ((unsigned long long)(tick) * IA32_CLOCKS_PER_SEC / CLOCKS_PER_SEC)
/* fcntl.h */
struct flock32 {
......@@ -305,8 +303,8 @@ typedef struct siginfo32 {
unsigned int _pid; /* which child */
unsigned int _uid; /* sender's uid */
int _status; /* exit code */
__kernel_clock_t32 _utime;
__kernel_clock_t32 _stime;
compat_clock_t _utime;
compat_clock_t _stime;
} _sigchld;
/* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment