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 (1395B)


      1// SPDX-License-Identifier: GPL-2.0
      2/*
      3 * arch/sh/mm/hugetlbpage.c
      4 *
      5 * SuperH HugeTLB page support.
      6 *
      7 * Cloned from sparc64 by Paul Mundt.
      8 *
      9 * Copyright (C) 2002, 2003 David S. Miller (davem@redhat.com)
     10 */
     11
     12#include <linux/init.h>
     13#include <linux/fs.h>
     14#include <linux/mm.h>
     15#include <linux/hugetlb.h>
     16#include <linux/pagemap.h>
     17#include <linux/sysctl.h>
     18
     19#include <asm/mman.h>
     20#include <asm/tlb.h>
     21#include <asm/tlbflush.h>
     22#include <asm/cacheflush.h>
     23
     24pte_t *huge_pte_alloc(struct mm_struct *mm, struct vm_area_struct *vma,
     25			unsigned long addr, unsigned long sz)
     26{
     27	pgd_t *pgd;
     28	p4d_t *p4d;
     29	pud_t *pud;
     30	pmd_t *pmd;
     31	pte_t *pte = NULL;
     32
     33	pgd = pgd_offset(mm, addr);
     34	if (pgd) {
     35		p4d = p4d_alloc(mm, pgd, addr);
     36		if (p4d) {
     37			pud = pud_alloc(mm, p4d, addr);
     38			if (pud) {
     39				pmd = pmd_alloc(mm, pud, addr);
     40				if (pmd)
     41					pte = pte_alloc_map(mm, pmd, addr);
     42			}
     43		}
     44	}
     45
     46	return pte;
     47}
     48
     49pte_t *huge_pte_offset(struct mm_struct *mm,
     50		       unsigned long addr, unsigned long sz)
     51{
     52	pgd_t *pgd;
     53	p4d_t *p4d;
     54	pud_t *pud;
     55	pmd_t *pmd;
     56	pte_t *pte = NULL;
     57
     58	pgd = pgd_offset(mm, addr);
     59	if (pgd) {
     60		p4d = p4d_offset(pgd, addr);
     61		if (p4d) {
     62			pud = pud_offset(p4d, addr);
     63			if (pud) {
     64				pmd = pmd_offset(pud, addr);
     65				if (pmd)
     66					pte = pte_offset_map(pmd, addr);
     67			}
     68		}
     69	}
     70
     71	return pte;
     72}
     73
     74int pmd_huge(pmd_t pmd)
     75{
     76	return 0;
     77}
     78
     79int pud_huge(pud_t pud)
     80{
     81	return 0;
     82}