diff options
Diffstat (limited to 'arch/ia64/ia32/sys_ia32.c')
-rw-r--r-- | arch/ia64/ia32/sys_ia32.c | 21 |
1 files changed, 20 insertions, 1 deletions
diff --git a/arch/ia64/ia32/sys_ia32.c b/arch/ia64/ia32/sys_ia32.c index d61f1cfe5..8d4e4a8fd 100644 --- a/arch/ia64/ia32/sys_ia32.c +++ b/arch/ia64/ia32/sys_ia32.c @@ -278,7 +278,7 @@ do_mmap_fake(struct file *file, unsigned long addr, unsigned long len, if (!file) return -EINVAL; inode = file->f_dentry->d_inode; - if (!inode->i_op || !inode->i_op->default_file_ops) + if (!inode->i_fop) return -EINVAL; if (!file->f_op->read) return -EINVAL; @@ -1930,6 +1930,25 @@ out: return err; } +/* + * sys_time() can be implemented in user-level using + * sys_gettimeofday(). IA64 did this but i386 Linux did not + * so we have to implement this system call here. + */ +asmlinkage long sys32_time(int * tloc) +{ + int i; + + /* SMP: This is fairly trivial. We grab CURRENT_TIME and + stuff it to user space. No side effects */ + i = CURRENT_TIME; + if (tloc) { + if (put_user(i,tloc)) + i = -EFAULT; + } + return i; +} + #ifdef NOTYET /* UNTESTED FOR IA64 FROM HERE DOWN */ /* In order to reduce some races, while at the same time doing additional |