cregit-Linux how code gets into the kernel

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

/* SPDX-License-Identifier: GPL-2.0 */
#ifndef _ASM_SCORE_PGALLOC_H

#define _ASM_SCORE_PGALLOC_H

#include <linux/mm.h>
#include <linux/highmem.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
Chen Liqin34100.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
Chen Liqin36100.00%1100.00%
Total36100.00%1100.00%

#define pmd_pgtable(pmd) pmd_page(pmd)
static inline pgd_t *pgd_alloc(struct mm_struct *mm) { pgd_t *ret, *init; ret = (pgd_t *) __get_free_pages(GFP_KERNEL, PGD_ORDER); if (ret) { init = pgd_offset(&init_mm, 0UL); pgd_init((unsigned long)ret); memcpy(ret + USER_PTRS_PER_PGD, init + USER_PTRS_PER_PGD, (PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t)); } return ret; }

Contributors

PersonTokensPropCommitsCommitProp
Chen Liqin83100.00%1100.00%
Total83100.00%1100.00%


static inline void pgd_free(struct mm_struct *mm, pgd_t *pgd) { free_pages((unsigned long)pgd, PGD_ORDER); }

Contributors

PersonTokensPropCommitsCommitProp
Chen Liqin27100.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
Chen Liqin39100.00%1100.00%
Total39100.00%1100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
Chen Liqin5075.76%150.00%
Kirill A. Shutemov1624.24%150.00%
Total66100.00%2100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
Chen Liqin27100.00%1100.00%
Total27100.00%1100.00%


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

Contributors

PersonTokensPropCommitsCommitProp
Chen Liqin27100.00%1100.00%
Total27100.00%1100.00%

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

Overall Contributors

PersonTokensPropCommitsCommitProp
Chen Liqin35994.72%240.00%
Kirill A. Shutemov164.22%120.00%
Lennox Wu30.79%120.00%
Greg Kroah-Hartman10.26%120.00%
Total379100.00%5100.00%
Information contained on this website is for historical information purposes only and does not indicate or represent copyright ownership.
Created with cregit.