|
Lines 43-50
Link Here
|
| 43 |
#define ARCH_HAS_HUGEPAGE_ONLY_RANGE |
43 |
#define ARCH_HAS_HUGEPAGE_ONLY_RANGE |
| 44 |
#define ARCH_HAS_PREPARE_HUGEPAGE_RANGE |
44 |
#define ARCH_HAS_PREPARE_HUGEPAGE_RANGE |
| 45 |
|
45 |
|
| 46 |
#define touches_hugepage_low_range(addr, len) \ |
46 |
#define touches_hugepage_low_range_mm(mm, addr, len) \ |
| 47 |
(LOW_ESID_MASK((addr), (len)) & current->mm->context.htlb_segs) |
47 |
(LOW_ESID_MASK((addr), (len)) & mm->context.htlb_segs) |
| 48 |
#define touches_hugepage_high_range(addr, len) \ |
48 |
#define touches_hugepage_high_range(addr, len) \ |
| 49 |
(((addr) > (TASK_HPAGE_BASE-(len))) && ((addr) < TASK_HPAGE_END)) |
49 |
(((addr) > (TASK_HPAGE_BASE-(len))) && ((addr) < TASK_HPAGE_END)) |
| 50 |
|
50 |
|
|
Lines 56-64
Link Here
|
| 56 |
#define within_hugepage_high_range(addr, len) (((addr) >= TASK_HPAGE_BASE) \ |
56 |
#define within_hugepage_high_range(addr, len) (((addr) >= TASK_HPAGE_BASE) \ |
| 57 |
&& ((addr)+(len) <= TASK_HPAGE_END) && ((addr)+(len) >= (addr))) |
57 |
&& ((addr)+(len) <= TASK_HPAGE_END) && ((addr)+(len) >= (addr))) |
| 58 |
|
58 |
|
| 59 |
#define is_hugepage_only_range(addr, len) \ |
59 |
#define is_hugepage_only_range_mm(mm, addr, len) \ |
| 60 |
(touches_hugepage_high_range((addr), (len)) || \ |
60 |
(touches_hugepage_high_range((addr), (len)) || \ |
| 61 |
touches_hugepage_low_range((addr), (len))) |
61 |
touches_hugepage_low_range_mm(mm, (addr), (len))) |
|
|
62 |
|
| 63 |
#define is_hugepage_only_range(addr, len) \ |
| 64 |
is_hugepage_only_range_mm(current->mm, addr, len) |
| 65 |
|
| 62 |
#define hugetlb_free_pgtables free_pgtables |
66 |
#define hugetlb_free_pgtables free_pgtables |
| 63 |
#define HAVE_ARCH_HUGETLB_UNMAPPED_AREA |
67 |
#define HAVE_ARCH_HUGETLB_UNMAPPED_AREA |
| 64 |
|
68 |
|