diff options
Diffstat (limited to 'include/asm-ia64')
-rw-r--r-- | include/asm-ia64/hugetlb.h | 37 | ||||
-rw-r--r-- | include/asm-ia64/page.h | 6 |
2 files changed, 37 insertions, 6 deletions
diff --git a/include/asm-ia64/hugetlb.h b/include/asm-ia64/hugetlb.h new file mode 100644 index 000000000000..f0ee14c6e172 --- /dev/null +++ b/include/asm-ia64/hugetlb.h | |||
@@ -0,0 +1,37 @@ | |||
1 | #ifndef _ASM_IA64_HUGETLB_H | ||
2 | #define _ASM_IA64_HUGETLB_H | ||
3 | |||
4 | #include <asm/page.h> | ||
5 | |||
6 | |||
7 | void hugetlb_free_pgd_range(struct mmu_gather **tlb, unsigned long addr, | ||
8 | unsigned long end, unsigned long floor, | ||
9 | unsigned long ceiling); | ||
10 | |||
11 | int prepare_hugepage_range(unsigned long addr, unsigned long len); | ||
12 | |||
13 | static inline int is_hugepage_only_range(struct mm_struct *mm, | ||
14 | unsigned long addr, | ||
15 | unsigned long len) | ||
16 | { | ||
17 | return (REGION_NUMBER(addr) == RGN_HPAGE || | ||
18 | REGION_NUMBER((addr)+(len)-1) == RGN_HPAGE); | ||
19 | } | ||
20 | |||
21 | static inline void hugetlb_prefault_arch_hook(struct mm_struct *mm) | ||
22 | { | ||
23 | } | ||
24 | |||
25 | static inline void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, | ||
26 | pte_t *ptep, pte_t pte) | ||
27 | { | ||
28 | set_pte_at(mm, addr, ptep, pte); | ||
29 | } | ||
30 | |||
31 | static inline pte_t huge_ptep_get_and_clear(struct mm_struct *mm, | ||
32 | unsigned long addr, pte_t *ptep) | ||
33 | { | ||
34 | return ptep_get_and_clear(mm, addr, ptep); | ||
35 | } | ||
36 | |||
37 | #endif /* _ASM_IA64_HUGETLB_H */ | ||
diff --git a/include/asm-ia64/page.h b/include/asm-ia64/page.h index 4999a6c63775..36f39321b768 100644 --- a/include/asm-ia64/page.h +++ b/include/asm-ia64/page.h | |||
@@ -54,9 +54,6 @@ | |||
54 | # define HPAGE_MASK (~(HPAGE_SIZE - 1)) | 54 | # define HPAGE_MASK (~(HPAGE_SIZE - 1)) |
55 | 55 | ||
56 | # define HAVE_ARCH_HUGETLB_UNMAPPED_AREA | 56 | # define HAVE_ARCH_HUGETLB_UNMAPPED_AREA |
57 | # define ARCH_HAS_HUGEPAGE_ONLY_RANGE | ||
58 | # define ARCH_HAS_PREPARE_HUGEPAGE_RANGE | ||
59 | # define ARCH_HAS_HUGETLB_FREE_PGD_RANGE | ||
60 | #endif /* CONFIG_HUGETLB_PAGE */ | 57 | #endif /* CONFIG_HUGETLB_PAGE */ |
61 | 58 | ||
62 | #ifdef __ASSEMBLY__ | 59 | #ifdef __ASSEMBLY__ |
@@ -153,9 +150,6 @@ typedef union ia64_va { | |||
153 | # define htlbpage_to_page(x) (((unsigned long) REGION_NUMBER(x) << 61) \ | 150 | # define htlbpage_to_page(x) (((unsigned long) REGION_NUMBER(x) << 61) \ |
154 | | (REGION_OFFSET(x) >> (HPAGE_SHIFT-PAGE_SHIFT))) | 151 | | (REGION_OFFSET(x) >> (HPAGE_SHIFT-PAGE_SHIFT))) |
155 | # define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) | 152 | # define HUGETLB_PAGE_ORDER (HPAGE_SHIFT - PAGE_SHIFT) |
156 | # define is_hugepage_only_range(mm, addr, len) \ | ||
157 | (REGION_NUMBER(addr) == RGN_HPAGE || \ | ||
158 | REGION_NUMBER((addr)+(len)-1) == RGN_HPAGE) | ||
159 | extern unsigned int hpage_shift; | 153 | extern unsigned int hpage_shift; |
160 | #endif | 154 | #endif |
161 | 155 | ||