Welcome to mirror list, hosted at ThFree Co, Russian Federation.

hugetlb.h « include « criu - github.com/checkpoint-restore/criu.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 9aee5bed35becd000c7962f1ca2cf705c6e6a6da (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef __CR_HUGETLB_H_
#define __CR_HUGETLB_H_

#include <sys/types.h>
#include <stddef.h>

#include "vma.h"

#define ANON_HUGEPAGE_PREFIX	 "/anon_hugepage"
#define ANON_HUGEPAGE_PREFIX_LEN (sizeof(ANON_HUGEPAGE_PREFIX) - 1)

enum hugepage_size {
	HUGETLB_16KB,
	HUGETLB_64KB,
	HUGETLB_512KB,
	HUGETLB_1MB,
	HUGETLB_2MB,
	HUGETLB_8MB,
	HUGETLB_16MB,
	HUGETLB_32MB,
	HUGETLB_256MB,
	HUGETLB_512MB,
	HUGETLB_1GB,
	HUGETLB_2GB,
	HUGETLB_16GB,
	HUGETLB_MAX
};

#define MAP_HUGETLB_SHIFT     26
#define MAP_HUGETLB_SIZE_MASK (0x3f << MAP_HUGETLB_SHIFT)

#define MAP_HUGETLB_16KB  (14 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_64KB  (16 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_512KB (19 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_1MB	  (20 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_2MB	  (21 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_8MB	  (23 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_16MB  (24 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_32MB  (25 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_256MB (28 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_512MB (29 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_1GB	  (30 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_2GB	  (31 << MAP_HUGETLB_SHIFT)
#define MAP_HUGETLB_16GB  (34 << MAP_HUGETLB_SHIFT)

struct htlb_info {
	unsigned long long size;
	int flag;
};

extern struct htlb_info hugetlb_info[HUGETLB_MAX];

int is_hugetlb_dev(dev_t dev, int *hugetlb_size_flag);
int can_dump_with_memfd_hugetlb(dev_t dev, int *hugetlb_size_flag, const char *file_path, struct vma_area *vma);
unsigned long get_size_from_hugetlb_flag(int flag);

#ifndef MFD_HUGETLB
#define MFD_HUGETLB 4
#endif

#endif