|
|
@@ -29,4 +29,20 @@
|
|
|
#define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */
|
|
|
#define MAP_HUGETLB 0x40000 /* create a huge page mapping */
|
|
|
|
|
|
+/*
|
|
|
+ * When MAP_HUGETLB is set, bits [26:31] of the flags argument to mmap(2),
|
|
|
+ * encode the log2 of the huge page size. A value of zero indicates that the
|
|
|
+ * default huge page size should be used. To use a non-default huge page size,
|
|
|
+ * one of these defines can be used, or the size can be encoded by hand. Note
|
|
|
+ * that on most systems only a subset, or possibly none, of these sizes will be
|
|
|
+ * available.
|
|
|
+ */
|
|
|
+#define MAP_HUGE_512KB (19 << MAP_HUGE_SHIFT) /* 512KB HugeTLB Page */
|
|
|
+#define MAP_HUGE_1MB (20 << MAP_HUGE_SHIFT) /* 1MB HugeTLB Page */
|
|
|
+#define MAP_HUGE_2MB (21 << MAP_HUGE_SHIFT) /* 2MB HugeTLB Page */
|
|
|
+#define MAP_HUGE_8MB (23 << MAP_HUGE_SHIFT) /* 8MB HugeTLB Page */
|
|
|
+#define MAP_HUGE_16MB (24 << MAP_HUGE_SHIFT) /* 16MB HugeTLB Page */
|
|
|
+#define MAP_HUGE_1GB (30 << MAP_HUGE_SHIFT) /* 1GB HugeTLB Page */
|
|
|
+#define MAP_HUGE_16GB (34 << MAP_HUGE_SHIFT) /* 16GB HugeTLB Page */
|
|
|
+
|
|
|
#endif /* _UAPI_ASM_POWERPC_MMAN_H */
|