]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/commitdiff
sh: Special layout for SH-5 stat.h and user.h.
authorPaul Mundt <lethal@linux-sh.org>
Wed, 21 Nov 2007 08:28:37 +0000 (17:28 +0900)
committerPaul Mundt <lethal@linux-sh.org>
Mon, 28 Jan 2008 04:18:53 +0000 (13:18 +0900)
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
include/asm-sh/stat.h
include/asm-sh/user.h

index 6d6ad26e3a2a5aa119b7b9ea65734e9f3824e932..e1810cc6e3da38276aaa3617f28cc80bfb682c50 100644 (file)
@@ -15,6 +15,66 @@ struct __old_kernel_stat {
        unsigned long  st_ctime;
 };
 
+#if defined(__SH5__) || defined(CONFIG_CPU_SH5)
+struct stat {
+       unsigned short st_dev;
+       unsigned short __pad1;
+       unsigned long st_ino;
+       unsigned short st_mode;
+       unsigned short st_nlink;
+       unsigned short st_uid;
+       unsigned short st_gid;
+       unsigned short st_rdev;
+       unsigned short __pad2;
+       unsigned long  st_size;
+       unsigned long  st_blksize;
+       unsigned long  st_blocks;
+       unsigned long  st_atime;
+       unsigned long  st_atime_nsec;
+       unsigned long  st_mtime;
+       unsigned long  st_mtime_nsec;
+       unsigned long  st_ctime;
+       unsigned long  st_ctime_nsec;
+       unsigned long  __unused4;
+       unsigned long  __unused5;
+};
+
+/* This matches struct stat64 in glibc2.1, hence the absolutely
+ * insane amounts of padding around dev_t's.
+ */
+struct stat64 {
+       unsigned short  st_dev;
+       unsigned char   __pad0[10];
+
+       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];
+
+       long long       st_size;
+       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   st_atime_nsec;
+
+       unsigned long   st_mtime;
+       unsigned long   st_mtime_nsec;
+
+       unsigned long   st_ctime;
+       unsigned long   st_ctime_nsec;  /* will be high 32 bits of ctime someday */
+
+       unsigned long   __unused1;
+       unsigned long   __unused2;
+};
+#else
 struct stat {
        unsigned long  st_dev;
        unsigned long  st_ino;
@@ -67,11 +127,12 @@ struct stat64 {
        unsigned long   st_mtime_nsec;
 
        unsigned long   st_ctime;
-       unsigned long   st_ctime_nsec; 
+       unsigned long   st_ctime_nsec;
 
        unsigned long long      st_ino;
 };
 
 #define STAT_HAVE_NSEC 1
+#endif
 
 #endif /* __ASM_SH_STAT_H */
index d1b8511d9d9f8772729aeb302119367c27744c7b..706b1c7baba9465f6c54a65dc20e26231a5aaacb 100644 (file)
  *     to write an integer number of pages.
  */
 
+#if defined(__SH5__) || defined(CONFIG_CPU_SH5)
+struct user fpu_struct {
+       unsigned long fp_regs[32];
+       unsigned int fpscr;
+};
+#else
 struct user_fpu_struct {
        unsigned long fp_regs[16];
        unsigned long xfp_regs[16];
        unsigned long fpscr;
        unsigned long fpul;
 };
+#endif
 
 struct user {
        struct pt_regs  regs;                   /* entire machine state */