sparc: Merge asm-sparc{,64}/shmbuf.h
authorSam Ravnborg <sam@ravnborg.org>
Thu, 5 Jun 2008 21:46:22 +0000 (23:46 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Jul 2008 04:41:48 +0000 (21:41 -0700)
Padding in the shmbuf structure made conditional
as only 32 bit sparc did so.

:$ diff -u include/asm-sparc/shmbuf.h include/asm-sparc64/shmbuf.h
:-- include/asm-sparc/shmbuf.h 2008-06-13 06:42:07.000000000 +0200
:++ include/asm-sparc64/shmbuf.h 2008-06-13 06:42:07.000000000 +0200
:@@ -1,23 +1,19 @@
:-#ifndef _SPARC_SHMBUF_H
:-#define _SPARC_SHMBUF_H
:+#ifndef _SPARC64_SHMBUF_H
:+#define _SPARC64_SHMBUF_H
:
: /*
:- * The shmid64_ds structure for sparc architecture.
:+ * The shmid64_ds structure for sparc64 architecture.
:  * Note extra padding because this structure is passed back and forth
:  * between kernel and user space.
:  *
:  * Pad space is left for:
:- * - 64-bit time_t to solve y2038 problem
:- * - 2 miscellaneous 32-bit values
:+ * - 2 miscellaneous 64-bit values
:  */
:
: struct shmid64_ds {
:  struct ipc64_perm shm_perm; /* operation perms */
:- unsigned int __pad1;
:  __kernel_time_t shm_atime; /* last attach time */
:- unsigned int __pad2;
:  __kernel_time_t shm_dtime; /* last detach time */
:- unsigned int __pad3;
:  __kernel_time_t shm_ctime; /* last change time */
:  size_t shm_segsz; /* size of segment (bytes) */
:  __kernel_pid_t shm_cpid; /* pid of creator */
:@@ -39,4 +35,4 @@
:  unsigned long __unused4;
: };
:
:-#endif /* _SPARC_SHMBUF_H */
:+#endif /* _SPARC64_SHMBUF_H */

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
include/asm-sparc/shmbuf.h
include/asm-sparc64/shmbuf.h

index 1ff9da8..83a1605 100644 (file)
  * - 2 miscellaneous 32-bit values
  */
 
+#if defined(__sparc__) && defined(__arch64__)
+# define PADDING(x)
+#else
+# define PADDING(x) unsigned int x;
+#endif
+
 struct shmid64_ds {
        struct ipc64_perm       shm_perm;       /* operation perms */
-       unsigned int            __pad1;
+       PADDING(__pad1)
        __kernel_time_t         shm_atime;      /* last attach time */
-       unsigned int            __pad2;
+       PADDING(__pad2)
        __kernel_time_t         shm_dtime;      /* last detach time */
-       unsigned int            __pad3;
+       PADDING(__pad3)
        __kernel_time_t         shm_ctime;      /* last change time */
        size_t                  shm_segsz;      /* size of segment (bytes) */
        __kernel_pid_t          shm_cpid;       /* pid of creator */
@@ -39,4 +45,6 @@ struct shminfo64 {
        unsigned long   __unused4;
 };
 
+#undef PADDING
+
 #endif /* _SPARC_SHMBUF_H */
index 61c2ef4..0c54a2d 100644 (file)
@@ -1,38 +1 @@
-#ifndef _SPARC64_SHMBUF_H
-#define _SPARC64_SHMBUF_H
-
-/* 
- * The shmid64_ds structure for sparc64 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * Pad space is left for:
- * - 2 miscellaneous 64-bit values
- */
-
-struct shmid64_ds {
-       struct ipc64_perm       shm_perm;       /* operation perms */
-       __kernel_time_t         shm_atime;      /* last attach time */
-       __kernel_time_t         shm_dtime;      /* last detach time */
-       __kernel_time_t         shm_ctime;      /* last change time */
-       size_t                  shm_segsz;      /* size of segment (bytes) */
-       __kernel_pid_t          shm_cpid;       /* pid of creator */
-       __kernel_pid_t          shm_lpid;       /* pid of last operator */
-       unsigned long           shm_nattch;     /* no. of current attaches */
-       unsigned long           __unused1;
-       unsigned long           __unused2;
-};
-
-struct shminfo64 {
-       unsigned long   shmmax;
-       unsigned long   shmmin;
-       unsigned long   shmmni;
-       unsigned long   shmseg;
-       unsigned long   shmall;
-       unsigned long   __unused1;
-       unsigned long   __unused2;
-       unsigned long   __unused3;
-       unsigned long   __unused4;
-};
-
-#endif /* _SPARC64_SHMBUF_H */
+#include <asm-sparc/shmbuf.h>