summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--arch/mips64/kernel/linux32.c24
-rw-r--r--arch/mips64/kernel/scall_o32.S13
-rw-r--r--drivers/char/Makefile2
-rw-r--r--include/asm-mips/stat.h62
-rw-r--r--include/asm-mips64/stat.h24
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 */