cregit-Linux how code gets into the kernel

Release 4.14 arch/nios2/include/asm/pgalloc.h

/*
 * This file is subject to the terms and conditions of the GNU General Public
 * License.  See the file "COPYING" in the main directory of this archive
 * for more details.
 *
 * Copyright (C) 1994 - 2001, 2003 by Ralf Baechle
 * Copyright (C) 1999, 2000, 2001 Silicon Graphics, Inc.
 */

#ifndef _ASM_NIOS2_PGALLOC_H

#define _ASM_NIOS2_PGALLOC_H

#include <linux/mm.h>


static inline void pmd_populate_kernel(struct mm_struct *mm, pmd_t *pmd, pte_t *pte) { set_pmd(pmd, __pmd((unsigned long)pte)); }

Contributors

PersonTokensPropCommitsCommitProp
Ley Foon Tan34100.00%1100.00%
Total34100.00%1100.00%


static inline void pmd_populate(struct mm_struct *mm, pmd_t *pmd, pgtable_t pte) { set_pmd(pmd, __pmd((unsigned long)page_address(pte))); }

Contributors

PersonTokensPropCommitsCommitProp
Ley Foon Tan36100.00%1100.00%
Total36100.00%1100.00%

#define pmd_pgtable(pmd) pmd_page(pmd) /* * Initialize a new pmd table with invalid pointers. */ extern void pmd_init(unsigned long page, unsigned long pagetable); extern pgd_t *pgd_alloc(struct mm_struct *mm);
static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) { free_pages((unsigned long)pgd, PGD_ORDER); }

Contributors

PersonTokensPropCommitsCommitProp
Ley Foon Tan27100.00%1100.00%
Total27100.00%1100.00%


static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address) { pte_t *pte; pte = (pte_t *) __get_free_pages(GFP_KERNEL|__GFP_ZERO, PTE_ORDER); return pte; }

Contributors

PersonTokensPropCommitsCommitProp
Ley Foon Tan39100.00%1100.00%
Total39100.00%1100.00%


static inline pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long address) { struct page *pte; pte = alloc_pages(GFP_KERNEL, PTE_ORDER); if (pte) { if (!pgtable_page_ctor(pte)) { __free_page(pte); return NULL; } clear_highpage(pte); } return pte; }

Contributors

PersonTokensPropCommitsCommitProp
Ley Foon Tan62100.00%1100.00%
Total62100.00%1100.00%


static inline void pte_free_kernel(struct mm_struct *mm, pte_t *pte) { free_pages((unsigned long)pte, PTE_ORDER); }

Contributors

PersonTokensPropCommitsCommitProp
Ley Foon Tan27100.00%1100.00%
Total27100.00%1100.00%


static inline void pte_free(struct mm_struct *mm, struct page *pte) { pgtable_page_dtor(pte); __free_pages(pte, PTE_ORDER); }

Contributors

PersonTokensPropCommitsCommitProp
Ley Foon Tan29100.00%1100.00%
Total29100.00%1100.00%

#define __pte_free_tlb(tlb, pte, addr) \ do { \ pgtable_page_dtor(pte); \ tlb_remove_page((tlb), (pte)); \ } while (0) #define check_pgt_cache() do { } while (0) #endif /* _ASM_NIOS2_PGALLOC_H */

Overall Contributors

PersonTokensPropCommitsCommitProp
Ley Foon Tan316100.00%1100.00%
Total316100.00%1100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.