File Index
Files and directories
Sign in
FILE

hugetlb.h

File preview with syntax highlighting.

linux-6.19.14/arch/riscv/include/asm/hugetlb.h C
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef _ASM_RISCV_HUGETLB_H
 3#define _ASM_RISCV_HUGETLB_H
 4
 5#include <asm/cacheflush.h>
 6#include <asm/page.h>
 7
 8static inline void arch_clear_hugetlb_flags(struct folio *folio)
 9{
10	clear_bit(PG_dcache_clean, &folio->flags.f);
11}
12#define arch_clear_hugetlb_flags arch_clear_hugetlb_flags
13
14#ifdef CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION
15bool arch_hugetlb_migration_supported(struct hstate *h);
16#define arch_hugetlb_migration_supported arch_hugetlb_migration_supported
17#endif
18
19#ifdef CONFIG_RISCV_ISA_SVNAPOT
20#define __HAVE_ARCH_HUGE_PTE_CLEAR
21void huge_pte_clear(struct mm_struct *mm, unsigned long addr,
22		    pte_t *ptep, unsigned long sz);
23
24#define __HAVE_ARCH_HUGE_SET_HUGE_PTE_AT
25void set_huge_pte_at(struct mm_struct *mm,
26		     unsigned long addr, pte_t *ptep, pte_t pte,
27		     unsigned long sz);
28
29#define __HAVE_ARCH_HUGE_PTEP_GET_AND_CLEAR
30pte_t huge_ptep_get_and_clear(struct mm_struct *mm,
31			      unsigned long addr, pte_t *ptep,
32			      unsigned long sz);
33
34#define __HAVE_ARCH_HUGE_PTEP_CLEAR_FLUSH
35pte_t huge_ptep_clear_flush(struct vm_area_struct *vma,
36			    unsigned long addr, pte_t *ptep);
37
38#define __HAVE_ARCH_HUGE_PTEP_SET_WRPROTECT
39void huge_ptep_set_wrprotect(struct mm_struct *mm,
40			     unsigned long addr, pte_t *ptep);
41
42#define __HAVE_ARCH_HUGE_PTEP_SET_ACCESS_FLAGS
43int huge_ptep_set_access_flags(struct vm_area_struct *vma,
44			       unsigned long addr, pte_t *ptep,
45			       pte_t pte, int dirty);
46
47#define __HAVE_ARCH_HUGE_PTEP_GET
48pte_t huge_ptep_get(struct mm_struct *mm, unsigned long addr, pte_t *ptep);
49
50pte_t arch_make_huge_pte(pte_t entry, unsigned int shift, vm_flags_t flags);
51#define arch_make_huge_pte arch_make_huge_pte
52
53#endif /*CONFIG_RISCV_ISA_SVNAPOT*/
54
55#include <asm-generic/hugetlb.h>
56
57#endif /* _ASM_RISCV_HUGETLB_H */
~/ Read-only file preview.