diff options
| -rw-r--r-- | arch/x86/include/asm/page.h | 1 | ||||
| -rw-r--r-- | arch/x86/include/asm/page_32.h | 4 | ||||
| -rw-r--r-- | arch/x86/mm/hugetlbpage.c | 9 |
3 files changed, 4 insertions, 10 deletions
diff --git a/arch/x86/include/asm/page.h b/arch/x86/include/asm/page.h index c87892442e53..775873d3be55 100644 --- a/arch/x86/include/asm/page.h +++ b/arch/x86/include/asm/page.h | |||
| @@ -71,6 +71,7 @@ extern bool __virt_addr_valid(unsigned long kaddr); | |||
| 71 | #include <asm-generic/getorder.h> | 71 | #include <asm-generic/getorder.h> |
| 72 | 72 | ||
| 73 | #define __HAVE_ARCH_GATE_AREA 1 | 73 | #define __HAVE_ARCH_GATE_AREA 1 |
| 74 | #define HAVE_ARCH_HUGETLB_UNMAPPED_AREA | ||
| 74 | 75 | ||
| 75 | #endif /* __KERNEL__ */ | 76 | #endif /* __KERNEL__ */ |
| 76 | #endif /* _ASM_X86_PAGE_H */ | 77 | #endif /* _ASM_X86_PAGE_H */ |
diff --git a/arch/x86/include/asm/page_32.h b/arch/x86/include/asm/page_32.h index 4d550d04b609..904f528cc8e8 100644 --- a/arch/x86/include/asm/page_32.h +++ b/arch/x86/include/asm/page_32.h | |||
| @@ -5,10 +5,6 @@ | |||
| 5 | 5 | ||
| 6 | #ifndef __ASSEMBLY__ | 6 | #ifndef __ASSEMBLY__ |
| 7 | 7 | ||
| 8 | #ifdef CONFIG_HUGETLB_PAGE | ||
| 9 | #define HAVE_ARCH_HUGETLB_UNMAPPED_AREA | ||
| 10 | #endif | ||
| 11 | |||
| 12 | #define __phys_addr_nodebug(x) ((x) - PAGE_OFFSET) | 8 | #define __phys_addr_nodebug(x) ((x) - PAGE_OFFSET) |
| 13 | #ifdef CONFIG_DEBUG_VIRTUAL | 9 | #ifdef CONFIG_DEBUG_VIRTUAL |
| 14 | extern unsigned long __phys_addr(unsigned long); | 10 | extern unsigned long __phys_addr(unsigned long); |
diff --git a/arch/x86/mm/hugetlbpage.c b/arch/x86/mm/hugetlbpage.c index 9d980d88b747..8c9f647ff9e1 100644 --- a/arch/x86/mm/hugetlbpage.c +++ b/arch/x86/mm/hugetlbpage.c | |||
| @@ -87,9 +87,7 @@ int pmd_huge_support(void) | |||
| 87 | } | 87 | } |
| 88 | #endif | 88 | #endif |
| 89 | 89 | ||
| 90 | /* x86_64 also uses this file */ | 90 | #ifdef CONFIG_HUGETLB_PAGE |
| 91 | |||
| 92 | #ifdef HAVE_ARCH_HUGETLB_UNMAPPED_AREA | ||
| 93 | static unsigned long hugetlb_get_unmapped_area_bottomup(struct file *file, | 91 | static unsigned long hugetlb_get_unmapped_area_bottomup(struct file *file, |
| 94 | unsigned long addr, unsigned long len, | 92 | unsigned long addr, unsigned long len, |
| 95 | unsigned long pgoff, unsigned long flags) | 93 | unsigned long pgoff, unsigned long flags) |
| @@ -99,7 +97,7 @@ static unsigned long hugetlb_get_unmapped_area_bottomup(struct file *file, | |||
| 99 | 97 | ||
| 100 | info.flags = 0; | 98 | info.flags = 0; |
| 101 | info.length = len; | 99 | info.length = len; |
| 102 | info.low_limit = TASK_UNMAPPED_BASE; | 100 | info.low_limit = current->mm->mmap_legacy_base; |
| 103 | info.high_limit = TASK_SIZE; | 101 | info.high_limit = TASK_SIZE; |
| 104 | info.align_mask = PAGE_MASK & ~huge_page_mask(h); | 102 | info.align_mask = PAGE_MASK & ~huge_page_mask(h); |
| 105 | info.align_offset = 0; | 103 | info.align_offset = 0; |
| @@ -172,8 +170,7 @@ hugetlb_get_unmapped_area(struct file *file, unsigned long addr, | |||
| 172 | return hugetlb_get_unmapped_area_topdown(file, addr, len, | 170 | return hugetlb_get_unmapped_area_topdown(file, addr, len, |
| 173 | pgoff, flags); | 171 | pgoff, flags); |
| 174 | } | 172 | } |
| 175 | 173 | #endif /* CONFIG_HUGETLB_PAGE */ | |
| 176 | #endif /*HAVE_ARCH_HUGETLB_UNMAPPED_AREA*/ | ||
| 177 | 174 | ||
| 178 | #ifdef CONFIG_X86_64 | 175 | #ifdef CONFIG_X86_64 |
| 179 | static __init int setup_hugepagesz(char *opt) | 176 | static __init int setup_hugepagesz(char *opt) |
