diff options
Diffstat (limited to 'include/linux/shm.h')
| -rw-r--r-- | include/linux/shm.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/include/linux/shm.h b/include/linux/shm.h index bcf8a6a3ec00..429c1995d756 100644 --- a/include/linux/shm.h +++ b/include/linux/shm.h | |||
| @@ -29,6 +29,21 @@ struct shmid_kernel /* private to the kernel */ | |||
| 29 | #define SHM_HUGETLB 04000 /* segment will use huge TLB pages */ | 29 | #define SHM_HUGETLB 04000 /* segment will use huge TLB pages */ |
| 30 | #define SHM_NORESERVE 010000 /* don't check for reservations */ | 30 | #define SHM_NORESERVE 010000 /* don't check for reservations */ |
| 31 | 31 | ||
| 32 | /* Bits [26:31] are reserved */ | ||
| 33 | |||
| 34 | /* | ||
| 35 | * When SHM_HUGETLB is set bits [26:31] encode the log2 of the huge page size. | ||
| 36 | * This gives us 6 bits, which is enough until someone invents 128 bit address | ||
| 37 | * spaces. | ||
| 38 | * | ||
| 39 | * Assume these are all power of twos. | ||
| 40 | * When 0 use the default page size. | ||
| 41 | */ | ||
| 42 | #define SHM_HUGE_SHIFT 26 | ||
| 43 | #define SHM_HUGE_MASK 0x3f | ||
| 44 | #define SHM_HUGE_2MB (21 << SHM_HUGE_SHIFT) | ||
| 45 | #define SHM_HUGE_1GB (30 << SHM_HUGE_SHIFT) | ||
| 46 | |||
| 32 | #ifdef CONFIG_SYSVIPC | 47 | #ifdef CONFIG_SYSVIPC |
| 33 | long do_shmat(int shmid, char __user *shmaddr, int shmflg, unsigned long *addr, | 48 | long do_shmat(int shmid, char __user *shmaddr, int shmflg, unsigned long *addr, |
| 34 | unsigned long shmlba); | 49 | unsigned long shmlba); |
