Import 2.3.18pre1
[davej-history.git] / include / asm-sparc64 / shmparam.h
blob1179fd2583ddd05908e0cc1622a1b483ece64ff2
1 /* $Id: shmparam.h,v 1.3 1998/09/28 07:15:03 jj Exp $ */
2 #ifndef _ASMSPARC64_SHMPARAM_H
3 #define _ASMSPARC64_SHMPARAM_H
5 /* XXX Redo most of this... */
7 /* address range for shared memory attaches if no address passed to shmat() */
8 #define SHM_RANGE_START 0x10000000
9 #define SHM_RANGE_END 0x20000000
12 * Format of a swap-entry for shared memory pages currently out in
13 * swap space (see also mm/swap.c).
15 * SWP_TYPE = SHM_SWP_TYPE
16 * SWP_OFFSET is used as follows:
18 * bits 0..6 : id of shared memory segment page belongs to (SHM_ID)
19 * bits 7..21: index of page within shared memory segment (SHM_IDX)
20 * (actually fewer bits get used since SHMMAX is so low)
24 * Keep _SHM_ID_BITS as low as possible since SHMMNI depends on it and
25 * there is a static array of size SHMMNI.
27 #define _SHM_ID_BITS 7
28 #define SHM_ID_MASK ((1<<_SHM_ID_BITS)-1)
30 #define SHM_IDX_SHIFT (_SHM_ID_BITS)
31 #define _SHM_IDX_BITS 15
32 #define SHM_IDX_MASK ((1<<_SHM_IDX_BITS)-1)
35 * _SHM_ID_BITS + _SHM_IDX_BITS must be <= 24 on the i386 and
36 * SHMMAX <= (PAGE_SIZE << _SHM_IDX_BITS).
39 #define SHMMAX 0x1000000 /* max shared seg size (bytes) */
40 #define SHMMIN 1 /* really PAGE_SIZE */ /* min shared seg size (bytes) */
41 #define SHMMNI (1<<_SHM_ID_BITS) /* max num of segs system wide */
42 #define SHMALL /* max shm system wide (pages) */ \
43 (1<<(_SHM_IDX_BITS+_SHM_ID_BITS))
44 #define SHMLBA (PAGE_SIZE<<1) /* attach addr a multiple of this */
45 #define SHMSEG SHMMNI /* max shared segs per process */
47 #endif /* _ASMSPARC64_SHMPARAM_H */