]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blame - arch/riscv/mm/hugetlbpage.c
Merge tag 'audit-pr-20200729' of git://git.kernel.org/pub/scm/linux/kernel/git/pcmoor...
[mirror_ubuntu-hirsute-kernel.git] / arch / riscv / mm / hugetlbpage.c
CommitLineData
9e953cda
AG
1// SPDX-License-Identifier: GPL-2.0
2#include <linux/hugetlb.h>
3#include <linux/err.h>
4
5int pud_huge(pud_t pud)
6{
3133287b 7 return pud_leaf(pud);
9e953cda
AG
8}
9
10int pmd_huge(pmd_t pmd)
11{
3133287b 12 return pmd_leaf(pmd);
9e953cda
AG
13}
14
ae94da89
MK
15bool __init arch_hugetlb_valid_size(unsigned long size)
16{
17 if (size == HPAGE_SIZE)
18 return true;
19 else if (IS_ENABLED(CONFIG_64BIT) && size == PUD_SIZE)
20 return true;
21 else
22 return false;
23}
24
9e953cda
AG
25#ifdef CONFIG_CONTIG_ALLOC
26static __init int gigantic_pages_init(void)
27{
28 /* With CONTIG_ALLOC, we can allocate gigantic pages at runtime */
38237830 29 if (IS_ENABLED(CONFIG_64BIT))
9e953cda
AG
30 hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
31 return 0;
32}
33arch_initcall(gigantic_pages_init);
34#endif