sparc: Merge asm-sparc{,64}/msgbuf.h
authorSam Ravnborg <sam@ravnborg.org>
Thu, 5 Jun 2008 21:04:06 +0000 (23:04 +0200)
committerDavid S. Miller <davem@davemloft.net>
Fri, 18 Jul 2008 04:41:42 +0000 (21:41 -0700)
Padding from 32 bit sparc kept using preprocessor magic

:$ diff -u include/asm-sparc/msgbuf.h include/asm-sparc64/msgbuf.h
:-- include/asm-sparc/msgbuf.h 2008-06-13 06:42:07.000000000 +0200
:++ include/asm-sparc64/msgbuf.h 2008-06-13 06:42:07.000000000 +0200
:@@ -7,17 +7,13 @@
:  * 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 msqid64_ds {
:  struct ipc64_perm msg_perm;
:- unsigned int   __pad1;
:  __kernel_time_t msg_stime; /* last msgsnd time */
:- unsigned int   __pad2;
:  __kernel_time_t msg_rtime; /* last msgrcv time */
:- unsigned int   __pad3;
:  __kernel_time_t msg_ctime; /* last change time */
:  unsigned long  msg_cbytes; /* current number of bytes on queue */

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

index 8cec9ad..efc7cbe 100644 (file)
@@ -1,7 +1,7 @@
-#ifndef _SPARC64_MSGBUF_H
-#define _SPARC64_MSGBUF_H
+#ifndef _SPARC_MSGBUF_H
+#define _SPARC_MSGBUF_H
 
-/* 
+/*
  * The msqid64_ds structure for sparc64 architecture.
  * Note extra padding because this structure is passed back and forth
  * between kernel and user space.
  * - 2 miscellaneous 32-bit values
  */
 
+#if defined(__sparc__) && defined(__arch64__)
+# define PADDING(x)
+#else
+# define PADDING(x) unsigned int x;
+#endif
+
+
 struct msqid64_ds {
        struct ipc64_perm msg_perm;
-       unsigned int   __pad1;
+       PADDING(__pad1)
        __kernel_time_t msg_stime;      /* last msgsnd time */
-       unsigned int   __pad2;
+       PADDING(__pad2)
        __kernel_time_t msg_rtime;      /* last msgrcv time */
-       unsigned int   __pad3;
+       PADDING(__pad3)
        __kernel_time_t msg_ctime;      /* last change time */
        unsigned long  msg_cbytes;      /* current number of bytes on queue */
        unsigned long  msg_qnum;        /* number of messages in queue */
@@ -27,5 +34,5 @@ struct msqid64_ds {
        unsigned long  __unused1;
        unsigned long  __unused2;
 };
-
-#endif /* _SPARC64_MSGBUF_H */
+#undef PADDING
+#endif /* _SPARC_MSGBUF_H */
index 55c101b..5b33cc9 100644 (file)
@@ -1,27 +1 @@
-#ifndef _SPARC64_MSGBUF_H
-#define _SPARC64_MSGBUF_H
-
-/* 
- * The msqid64_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 msqid64_ds {
-       struct ipc64_perm msg_perm;
-       __kernel_time_t msg_stime;      /* last msgsnd time */
-       __kernel_time_t msg_rtime;      /* last msgrcv time */
-       __kernel_time_t msg_ctime;      /* last change time */
-       unsigned long  msg_cbytes;      /* current number of bytes on queue */
-       unsigned long  msg_qnum;        /* number of messages in queue */
-       unsigned long  msg_qbytes;      /* max number of bytes on queue */
-       __kernel_pid_t msg_lspid;       /* pid of last msgsnd */
-       __kernel_pid_t msg_lrpid;       /* last receive pid */
-       unsigned long  __unused1;
-       unsigned long  __unused2;
-};
-
-#endif /* _SPARC64_MSGBUF_H */
+#include <asm-sparc/msgbuf.h>