cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

hugetlbpage.c (659B)


      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{
      7	return pud_leaf(pud);
      8}
      9
     10int pmd_huge(pmd_t pmd)
     11{
     12	return pmd_leaf(pmd);
     13}
     14
     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
     25#ifdef CONFIG_CONTIG_ALLOC
     26static __init int gigantic_pages_init(void)
     27{
     28	/* With CONTIG_ALLOC, we can allocate gigantic pages at runtime */
     29	if (IS_ENABLED(CONFIG_64BIT))
     30		hugetlb_add_hstate(PUD_SHIFT - PAGE_SHIFT);
     31	return 0;
     32}
     33arch_initcall(gigantic_pages_init);
     34#endif