root/include/asm-i386/shmparam.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _ASMI386_SHMPARAM_H
   2 #define _ASMI386_SHMPARAM_H
   3 
   4 /* address range for shared memory attaches if no address passed to shmat() */
   5 #define SHM_RANGE_START 0x50000000
   6 #define SHM_RANGE_END   0x60000000
   7 
   8 /*
   9  * Format of a swap-entry for shared memory pages currently out in
  10  * swap space (see also mm/swap.c).
  11  *
  12  * SWP_TYPE = SHM_SWP_TYPE
  13  * SWP_OFFSET is used as follows:
  14  *
  15  *  bits 0..6 : id of shared memory segment page belongs to (SHM_ID)
  16  *  bits 7..21: index of page within shared memory segment (SHM_IDX)
  17  *              (actually fewer bits get used since SHMMAX is so low)
  18  */
  19 
  20 /*
  21  * Keep _SHM_ID_BITS as low as possible since SHMMNI depends on it and
  22  * there is a static array of size SHMMNI.
  23  */
  24 #define _SHM_ID_BITS    7
  25 #define SHM_ID_MASK     ((1<<_SHM_ID_BITS)-1)
  26 
  27 #define SHM_IDX_SHIFT   (_SHM_ID_BITS)
  28 #define _SHM_IDX_BITS   15
  29 #define SHM_IDX_MASK    ((1<<_SHM_IDX_BITS)-1)
  30 
  31 /*
  32  * _SHM_ID_BITS + _SHM_IDX_BITS must be <= 24 on the i386 and
  33  * SHMMAX <= (PAGE_SIZE << _SHM_IDX_BITS).
  34  */
  35 
  36 #define SHMMAX 0x3fa000                 /* max shared seg size (bytes) */
  37 #define SHMMIN 1 /* really PAGE_SIZE */ /* min shared seg size (bytes) */
  38 #define SHMMNI (1<<_SHM_ID_BITS)        /* max num of segs system wide */
  39 #define SHMALL                          /* max shm system wide (pages) */ \
  40         (1<<(_SHM_IDX_BITS+_SHM_ID_BITS))
  41 #define SHMLBA PAGE_SIZE                /* attach addr a multiple of this */
  42 #define SHMSEG SHMMNI                   /* max shared segs per process */
  43 
  44 #endif /* _ASMI386_SHMPARAM_H */

/* [previous][next][first][last][top][bottom][index][help] */