diff options
-rw-r--r-- | arch/mips64/kernel/linux32.c | 24 | ||||
-rw-r--r-- | arch/mips64/kernel/scall_o32.S | 13 | ||||
-rw-r--r-- | drivers/char/Makefile | 2 | ||||
-rw-r--r-- | include/asm-mips/stat.h | 62 | ||||
-rw-r--r-- | include/asm-mips64/stat.h | 24 |
5 files changed, 46 insertions, 79 deletions
diff --git a/arch/mips64/kernel/linux32.c b/arch/mips64/kernel/linux32.c index c4dba234b..97a5aa051 100644 --- a/arch/mips64/kernel/linux32.c +++ b/arch/mips64/kernel/linux32.c @@ -1,5 +1,4 @@ -/* $Id: linux32.c,v 1.14 2000/03/23 00:30:53 ulfc Exp $ - * +/* * Conversion between 32-bit and 64-bit native system calls. * * Copyright (C) 2000 Silicon Graphics, Inc. @@ -247,27 +246,6 @@ asmlinkage int sys_ftruncate64(unsigned int fd, unsigned int high, return sys_ftruncate(fd, ((long) high << 32) | low); } -asmlinkage long sys_newstat(char * filename, struct stat * statbuf); - -asmlinkage int sys_stat64(char * filename, struct stat *statbuf) -{ - return sys_newstat(filename, statbuf); -} - -asmlinkage long sys_newlstat(char * filename, struct stat * statbuf); - -asmlinkage int sys_lstat64(char * filename, struct stat *statbuf) -{ - return sys_newlstat(filename, statbuf); -} - -asmlinkage long sys_newfstat(unsigned int fd, struct stat * statbuf); - -asmlinkage int sys_fstat64(unsigned int fd, struct stat *statbuf) -{ - return sys_newfstat(fd, statbuf); -} - #if 0 /* * count32() counts the number of arguments/envelopes diff --git a/arch/mips64/kernel/scall_o32.S b/arch/mips64/kernel/scall_o32.S index 2e22ac1d0..927a1ac2f 100644 --- a/arch/mips64/kernel/scall_o32.S +++ b/arch/mips64/kernel/scall_o32.S @@ -1,11 +1,10 @@ -/* $Id: scall_o32.S,v 1.18 2000/03/27 21:04:13 ulfc Exp $ - * +/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1995, 1996, 1997, 1998, 1999 by Ralf Baechle - * Copyright (C) 1999 Silicon Graphics, Inc. + * Copyright (C) 1995 - 2000 by Ralf Baechle + * Copyright (C) 1999, 2000 Silicon Graphics, Inc. * * Hairy, the userspace application uses a different argument passing * convention than the kernel, so we have to translate things from o32 @@ -415,9 +414,9 @@ illegal_syscall: sys sys_mmap2 6 /* 4210 */ sys sys_truncate64 2 sys sys_ftruncate64 2 - sys sys_stat64 3 - sys sys_lstat64 3 - sys sys_fstat64 3 /* 4210 */ + sys sys_newstat 3 + sys sys_newlstat 3 + sys sys_newfstat 3 /* 4210 */ sys sys_pivot_root 2 sys sys_mincore 3 sys sys_madvise 3 diff --git a/drivers/char/Makefile b/drivers/char/Makefile index cf145729a..f5f7d459e 100644 --- a/drivers/char/Makefile +++ b/drivers/char/Makefile @@ -319,7 +319,7 @@ obj-$(L_DECODERS) += saa7110.o saa7111.o saa7185.o obj-$(L_I2C) += i2c-old.o ifeq ($(CONFIG_DZ),y) - L_OBJS += dz.o + obj-$(CONFIG_DZ) += dz.o endif obj-$(CONFIG_NWBUTTON) += nwbutton.o diff --git a/include/asm-mips/stat.h b/include/asm-mips/stat.h index 8dc6698e6..e8892d3da 100644 --- a/include/asm-mips/stat.h +++ b/include/asm-mips/stat.h @@ -1,5 +1,5 @@ -#ifndef __ASM_MIPS_STAT_H -#define __ASM_MIPS_STAT_H +#ifndef _ASM_STAT_H +#define _ASM_STAT_H #include <linux/types.h> @@ -52,41 +52,35 @@ struct stat { unsigned int st_gen; }; -/* This matches struct stat64 in glibc2.1, hence the absolutely - * insane amounts of padding around dev_t's. - * XXX We don't ship glibc 2.1 for MIPS yet, so this structure may be - * changed without breaking compatibility. You've been warned. +/* + * This matches struct stat64 in glibc2.1, hence the absolutely insane + * amounts of padding around dev_t's. The memory layout is the same as of + * struct stat of the 64-bit kernel. */ + struct stat64 { unsigned long st_dev; - unsigned char __pad0[8]; - - unsigned long st_ino; - unsigned int st_mode; - unsigned int st_nlink; - - unsigned long st_uid; - unsigned long st_gid; - - unsigned short st_rdev; - unsigned char __pad3[10]; - + unsigned long st_pad0[3]; /* Reserved for st_dev expansion */ + ino_t st_ino; + mode_t st_mode; + nlink_t st_nlink; + uid_t st_uid; + gid_t st_gid; + unsigned long st_rdev; + unsigned long st_pad1[3]; /* Reserved for st_rdev expansion */ long long st_size; + /* + * Actually this should be timestruc_t st_atime, st_mtime and st_ctime + * but we don't have it under Linux. + */ + time_t st_atime; + unsigned long reserved0; /* Reserved for st_atime expansion */ + time_t st_mtime; + unsigned long reserved1; /* Reserved for st_atime expansion */ + time_t st_ctime; + unsigned long reserved2; /* Reserved for st_atime expansion */ unsigned long st_blksize; - - unsigned long st_blocks; /* Number 512-byte blocks allocated. */ - unsigned long __pad4; /* future possible st_blocks high bits */ - - unsigned long st_atime; - unsigned long __pad5; - - unsigned long st_mtime; - unsigned long __pad6; - - unsigned long st_ctime; - unsigned long __pad7; /* will be high 32 bits of ctime someday */ - - unsigned long __unused1; - unsigned long __unused2; + long long st_blocks; }; -#endif /* __ASM_MIPS_STAT_H */ + +#endif /* _ASM_STAT_H */ diff --git a/include/asm-mips64/stat.h b/include/asm-mips64/stat.h index 8fdcd95d4..e84dcb7ec 100644 --- a/include/asm-mips64/stat.h +++ b/include/asm-mips64/stat.h @@ -3,7 +3,8 @@ * License. See the file "COPYING" in the main directory of this archive * for more details. * - * Copyright (C) 1995, 1999 Ralf Baechle + * Copyright (C) 1995, 1999, 2000 Ralf Baechle + * Copyright (C) 2000 Silicon Graphics, Inc. */ #ifndef _ASM_STAT_H #define _ASM_STAT_H @@ -54,35 +55,30 @@ struct stat32 { unsigned int st_gen; }; +/* The memory layout is the same as of struct stat64 of the 32-bit kernel. */ struct stat { dev_t st_dev; - long st_pad1[3]; /* Reserved for network id */ + unsigned int st_pad0[3]; /* Reserved for st_dev expansion */ ino_t st_ino; mode_t st_mode; nlink_t st_nlink; uid_t st_uid; gid_t st_gid; dev_t st_rdev; - long st_pad2[2]; + unsigned int st_pad1[3]; /* Reserved for st_rdev expansion */ off_t st_size; - long st_pad3; /* * Actually this should be timestruc_t st_atime, st_mtime and st_ctime * but we don't have it under Linux. */ time_t st_atime; - long reserved0; + unsigned int reserved0; /* Reserved for st_atime expansion */ time_t st_mtime; - long reserved1; + unsigned int reserved1; /* Reserved for st_atime expansion */ time_t st_ctime; - long reserved2; - long st_blksize; - long st_blocks; - char st_fstype[16]; /* Filesystem type name */ - long st_pad4[8]; - /* Linux specific fields */ - unsigned int st_flags; - unsigned int st_gen; + unsigned int reserved2; /* Reserved for st_atime expansion */ + unsigned int st_blksize; + unsigned long st_blocks; }; #endif /* _ASM_STAT_H */ |