root/arch/mips/mm/pgtable.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. pgd_alloc

   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 #include <linux/export.h>
   7 #include <linux/mm.h>
   8 #include <linux/string.h>
   9 #include <asm/pgalloc.h>
  10 
  11 pgd_t *pgd_alloc(struct mm_struct *mm)
  12 {
  13         pgd_t *ret, *init;
  14 
  15         ret = (pgd_t *) __get_free_pages(GFP_KERNEL, PGD_ORDER);
  16         if (ret) {
  17                 init = pgd_offset(&init_mm, 0UL);
  18                 pgd_init((unsigned long)ret);
  19                 memcpy(ret + USER_PTRS_PER_PGD, init + USER_PTRS_PER_PGD,
  20                        (PTRS_PER_PGD - USER_PTRS_PER_PGD) * sizeof(pgd_t));
  21         }
  22 
  23         return ret;
  24 }
  25 EXPORT_SYMBOL_GPL(pgd_alloc);

/* [<][>][^][v][top][bottom][index][help] */