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: ...@@ -234,7 +234,7 @@ ia32_syscall_table:
data8 sys_rmdir /* 40 */ data8 sys_rmdir /* 40 */
data8 sys_dup data8 sys_dup
data8 sys32_pipe data8 sys32_pipe
data8 sys32_times data8 compat_sys_times
data8 sys32_ni_syscall /* old prof syscall holder */ data8 sys32_ni_syscall /* old prof syscall holder */
data8 sys32_brk /* 45 */ data8 sys32_brk /* 45 */
data8 sys_setgid /* 16-bit version */ data8 sys_setgid /* 16-bit version */
......
...@@ -2589,37 +2589,6 @@ sys32_getrusage (int who, struct rusage32 *ru) ...@@ -2589,37 +2589,6 @@ sys32_getrusage (int who, struct rusage32 *ru)
return ret; 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 static unsigned int
ia32_peek (struct pt_regs *regs, struct task_struct *child, unsigned long addr, unsigned int *val) ia32_peek (struct pt_regs *regs, struct task_struct *child, unsigned long addr, unsigned int *val)
{ {
......
...@@ -6,9 +6,12 @@ ...@@ -6,9 +6,12 @@
#include <linux/types.h> #include <linux/types.h>
#define COMPAT_USER_HZ 100
typedef u32 compat_size_t; typedef u32 compat_size_t;
typedef s32 compat_ssize_t; typedef s32 compat_ssize_t;
typedef s32 compat_time_t; typedef s32 compat_time_t;
typedef s32 compat_clock_t;
struct compat_timespec { struct compat_timespec {
compat_time_t tv_sec; compat_time_t tv_sec;
......
...@@ -6,14 +6,13 @@ ...@@ -6,14 +6,13 @@
#ifdef CONFIG_IA32_SUPPORT #ifdef CONFIG_IA32_SUPPORT
#include <linux/binfmts.h> #include <linux/binfmts.h>
#include <linux/compat.h>
/* /*
* 32 bit structures for IA32 support. * 32 bit structures for IA32 support.
*/ */
/* 32bit compatibility types */ /* 32bit compatibility types */
typedef int __kernel_ptrdiff_t32;
typedef int __kernel_clock_t32;
typedef int __kernel_pid_t32; typedef int __kernel_pid_t32;
typedef unsigned short __kernel_ipc_pid_t32; typedef unsigned short __kernel_ipc_pid_t32;
typedef unsigned short __kernel_uid_t32; typedef unsigned short __kernel_uid_t32;
...@@ -36,7 +35,6 @@ typedef __kernel_fsid_t __kernel_fsid_t32; ...@@ -36,7 +35,6 @@ typedef __kernel_fsid_t __kernel_fsid_t32;
#define IA32_PAGE_MASK (~(IA32_PAGE_SIZE - 1)) #define IA32_PAGE_MASK (~(IA32_PAGE_SIZE - 1))
#define IA32_PAGE_ALIGN(addr) (((addr) + IA32_PAGE_SIZE - 1) & IA32_PAGE_MASK) #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_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 */ /* fcntl.h */
struct flock32 { struct flock32 {
...@@ -305,8 +303,8 @@ typedef struct siginfo32 { ...@@ -305,8 +303,8 @@ typedef struct siginfo32 {
unsigned int _pid; /* which child */ unsigned int _pid; /* which child */
unsigned int _uid; /* sender's uid */ unsigned int _uid; /* sender's uid */
int _status; /* exit code */ int _status; /* exit code */
__kernel_clock_t32 _utime; compat_clock_t _utime;
__kernel_clock_t32 _stime; compat_clock_t _stime;
} _sigchld; } _sigchld;
/* SIGILL, SIGFPE, SIGSEGV, SIGBUS */ /* 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