aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm/shmbuf.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/include/asm/shmbuf.h')
-rw-r--r--arch/x86/include/asm/shmbuf.h28
1 files changed, 18 insertions, 10 deletions
diff --git a/arch/x86/include/asm/shmbuf.h b/arch/x86/include/asm/shmbuf.h
index b51413b74971..5768fa60ac82 100644
--- a/arch/x86/include/asm/shmbuf.h
+++ b/arch/x86/include/asm/shmbuf.h
@@ -1,32 +1,40 @@
1#ifndef _ASM_X86_SHMBUF_H 1#ifndef __ASM_GENERIC_SHMBUF_H
2#define _ASM_X86_SHMBUF_H 2#define __ASM_GENERIC_SHMBUF_H
3
4#include <asm/bitsperlong.h>
3 5
4/* 6/*
5 * The shmid64_ds structure for x86 architecture. 7 * The shmid64_ds structure for x86 architecture.
6 * Note extra padding because this structure is passed back and forth 8 * Note extra padding because this structure is passed back and forth
7 * between kernel and user space. 9 * between kernel and user space.
8 * 10 *
9 * Pad space on 32 bit is left for: 11 * shmid64_ds was originally meant to be architecture specific, but
12 * everyone just ended up making identical copies without specific
13 * optimizations, so we may just as well all use the same one.
14 *
15 * 64 bit architectures typically define a 64 bit __kernel_time_t,
16 * so they do not need the first two padding words.
17 * On big-endian systems, the padding is in the wrong place.
18 *
19 *
20 * Pad space is left for:
10 * - 64-bit time_t to solve y2038 problem 21 * - 64-bit time_t to solve y2038 problem
11 * - 2 miscellaneous 32-bit values 22 * - 2 miscellaneous 32-bit values
12 *
13 * Pad space on 64 bit is left for:
14 * - 2 miscellaneous 64-bit values
15 */ 23 */
16 24
17struct shmid64_ds { 25struct shmid64_ds {
18 struct ipc64_perm shm_perm; /* operation perms */ 26 struct ipc64_perm shm_perm; /* operation perms */
19 size_t shm_segsz; /* size of segment (bytes) */ 27 size_t shm_segsz; /* size of segment (bytes) */
20 __kernel_time_t shm_atime; /* last attach time */ 28 __kernel_time_t shm_atime; /* last attach time */
21#ifdef __i386__ 29#if __BITS_PER_LONG != 64
22 unsigned long __unused1; 30 unsigned long __unused1;
23#endif 31#endif
24 __kernel_time_t shm_dtime; /* last detach time */ 32 __kernel_time_t shm_dtime; /* last detach time */
25#ifdef __i386__ 33#if __BITS_PER_LONG != 64
26 unsigned long __unused2; 34 unsigned long __unused2;
27#endif 35#endif
28 __kernel_time_t shm_ctime; /* last change time */ 36 __kernel_time_t shm_ctime; /* last change time */
29#ifdef __i386__ 37#if __BITS_PER_LONG != 64
30 unsigned long __unused3; 38 unsigned long __unused3;
31#endif 39#endif
32 __kernel_pid_t shm_cpid; /* pid of creator */ 40 __kernel_pid_t shm_cpid; /* pid of creator */
@@ -48,4 +56,4 @@ struct shminfo64 {
48 unsigned long __unused4; 56 unsigned long __unused4;
49}; 57};
50 58
51#endif /* _ASM_X86_SHMBUF_H */ 59#endif /* __ASM_GENERIC_SHMBUF_H */