]>
Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
736d2169 HD |
2 | #ifndef _ASM_PARISC64_HUGETLB_H |
3 | #define _ASM_PARISC64_HUGETLB_H | |
4 | ||
5 | #include <asm/page.h> | |
736d2169 | 6 | |
cea685d5 | 7 | #define __HAVE_ARCH_HUGE_SET_HUGE_PTE_AT |
736d2169 HD |
8 | void set_huge_pte_at(struct mm_struct *mm, unsigned long addr, |
9 | pte_t *ptep, pte_t pte); | |
10 | ||
a4d83853 | 11 | #define __HAVE_ARCH_HUGE_PTEP_GET_AND_CLEAR |
736d2169 HD |
12 | pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr, |
13 | pte_t *ptep); | |
14 | ||
15 | static inline int is_hugepage_only_range(struct mm_struct *mm, | |
16 | unsigned long addr, | |
17 | unsigned long len) { | |
18 | return 0; | |
19 | } | |
20 | ||
21 | /* | |
22 | * If the arch doesn't supply something else, assume that hugepage | |
23 | * size aligned regions are ok without further preparation. | |
24 | */ | |
78d6e4e8 | 25 | #define __HAVE_ARCH_PREPARE_HUGEPAGE_RANGE |
736d2169 HD |
26 | static inline int prepare_hugepage_range(struct file *file, |
27 | unsigned long addr, unsigned long len) | |
28 | { | |
29 | if (len & ~HPAGE_MASK) | |
30 | return -EINVAL; | |
31 | if (addr & ~HPAGE_MASK) | |
32 | return -EINVAL; | |
33 | return 0; | |
34 | } | |
35 | ||
fe632225 | 36 | #define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH |
736d2169 HD |
37 | static inline void huge_ptep_clear_flush(struct vm_area_struct *vma, |
38 | unsigned long addr, pte_t *ptep) | |
39 | { | |
40 | } | |
41 | ||
8e581d43 | 42 | #define __HAVE_ARCH_HUGE_PTEP_SET_WRPROTECT |
b0e55131 HD |
43 | void huge_ptep_set_wrprotect(struct mm_struct *mm, |
44 | unsigned long addr, pte_t *ptep); | |
736d2169 | 45 | |
facf6d5b | 46 | #define __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS |
b0e55131 | 47 | int huge_ptep_set_access_flags(struct vm_area_struct *vma, |
736d2169 | 48 | unsigned long addr, pte_t *ptep, |
b0e55131 | 49 | pte_t pte, int dirty); |
736d2169 | 50 | |
736d2169 HD |
51 | static inline void arch_clear_hugepage_flags(struct page *page) |
52 | { | |
53 | } | |
54 | ||
1e5f50fc AG |
55 | #include <asm-generic/hugetlb.h> |
56 | ||
736d2169 | 57 | #endif /* _ASM_PARISC64_HUGETLB_H */ |