Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/include/uapi/asm-generic/hugetlb_encode.h
26282 views
1
#ifndef _ASM_GENERIC_HUGETLB_ENCODE_H_
2
#define _ASM_GENERIC_HUGETLB_ENCODE_H_
3
4
/*
5
* Several system calls take a flag to request "hugetlb" huge pages.
6
* Without further specification, these system calls will use the
7
* system's default huge page size. If a system supports multiple
8
* huge page sizes, the desired huge page size can be specified in
9
* bits [26:31] of the flag arguments. The value in these 6 bits
10
* will encode the log2 of the huge page size.
11
*
12
* The following definitions are associated with this huge page size
13
* encoding in flag arguments. System call specific header files
14
* that use this encoding should include this file. They can then
15
* provide definitions based on these with their own specific prefix.
16
* for example:
17
* #define MAP_HUGE_SHIFT HUGETLB_FLAG_ENCODE_SHIFT
18
*/
19
20
#define HUGETLB_FLAG_ENCODE_SHIFT 26
21
#define HUGETLB_FLAG_ENCODE_MASK 0x3f
22
23
#define HUGETLB_FLAG_ENCODE_16KB (14U << HUGETLB_FLAG_ENCODE_SHIFT)
24
#define HUGETLB_FLAG_ENCODE_64KB (16U << HUGETLB_FLAG_ENCODE_SHIFT)
25
#define HUGETLB_FLAG_ENCODE_512KB (19U << HUGETLB_FLAG_ENCODE_SHIFT)
26
#define HUGETLB_FLAG_ENCODE_1MB (20U << HUGETLB_FLAG_ENCODE_SHIFT)
27
#define HUGETLB_FLAG_ENCODE_2MB (21U << HUGETLB_FLAG_ENCODE_SHIFT)
28
#define HUGETLB_FLAG_ENCODE_8MB (23U << HUGETLB_FLAG_ENCODE_SHIFT)
29
#define HUGETLB_FLAG_ENCODE_16MB (24U << HUGETLB_FLAG_ENCODE_SHIFT)
30
#define HUGETLB_FLAG_ENCODE_32MB (25U << HUGETLB_FLAG_ENCODE_SHIFT)
31
#define HUGETLB_FLAG_ENCODE_256MB (28U << HUGETLB_FLAG_ENCODE_SHIFT)
32
#define HUGETLB_FLAG_ENCODE_512MB (29U << HUGETLB_FLAG_ENCODE_SHIFT)
33
#define HUGETLB_FLAG_ENCODE_1GB (30U << HUGETLB_FLAG_ENCODE_SHIFT)
34
#define HUGETLB_FLAG_ENCODE_2GB (31U << HUGETLB_FLAG_ENCODE_SHIFT)
35
#define HUGETLB_FLAG_ENCODE_16GB (34U << HUGETLB_FLAG_ENCODE_SHIFT)
36
37
#endif /* _ASM_GENERIC_HUGETLB_ENCODE_H_ */
38
39