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

pgalloc.h (1037B)


      1/*
      2 * This file is subject to the terms and conditions of the GNU General Public
      3 * License.  See the file "COPYING" in the main directory of this archive
      4 * for more details.
      5 *
      6 * Copyright (C) 1994 - 2001, 2003 by Ralf Baechle
      7 * Copyright (C) 1999, 2000, 2001 Silicon Graphics, Inc.
      8 */
      9
     10#ifndef _ASM_NIOS2_PGALLOC_H
     11#define _ASM_NIOS2_PGALLOC_H
     12
     13#include <linux/mm.h>
     14
     15#include <asm-generic/pgalloc.h>
     16
     17static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd,
     18	pte_t *pte)
     19{
     20	set_pmd(pmd, __pmd((unsigned long)pte));
     21}
     22
     23static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd,
     24	pgtable_t pte)
     25{
     26	set_pmd(pmd, __pmd((unsigned long)page_address(pte)));
     27}
     28
     29/*
     30 * Initialize a new pmd table with invalid pointers.
     31 */
     32extern void pmd_init(unsigned long page, unsigned long pagetable);
     33
     34extern pgd_t *pgd_alloc(struct mm_struct *mm);
     35
     36#define __pte_free_tlb(tlb, pte, addr)				\
     37	do {							\
     38		pgtable_pte_page_dtor(pte);			\
     39		tlb_remove_page((tlb), (pte));			\
     40	} while (0)
     41
     42#endif /* _ASM_NIOS2_PGALLOC_H */