Linux Kernel
3.7.1
|
#include <linux/kernel.h>
#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/slab.h>
#include <asm/spitfire.h>
#include <asm/cpudata.h>
#include <asm/cacheflush.h>
#include <asm/page.h>
Go to the source code of this file.
Macros | |
#define | pud_populate(MM, PUD, PMD) pud_set(PUD, PMD) |
#define | pmd_populate_kernel(MM, PMD, PTE) pmd_set(MM, PMD, PTE) |
#define | pmd_populate(MM, PMD, PTE) pmd_set(MM, PMD, PTE) |
#define | pmd_pgtable(PMD) ((pte_t *)__pmd_page(PMD)) |
#define | check_pgt_cache() do { } while (0) |
#define | __pmd_free_tlb(tlb, pmd, addr) pgtable_free_tlb(tlb, pmd, false) |
Functions | |
pte_t * | pte_alloc_one_kernel (struct mm_struct *mm, unsigned long address) |
pgtable_t | pte_alloc_one (struct mm_struct *mm, unsigned long address) |
void | pte_free_kernel (struct mm_struct *mm, pte_t *pte) |
void | pte_free (struct mm_struct *mm, pgtable_t ptepage) |
void | pgtable_free (void *table, bool is_page) |
Variables | |
struct kmem_cache * | pgtable_cache |
Definition at line 91 of file pgalloc_64.h.
#define check_pgt_cache | ( | void | ) | do { } while (0) |
Definition at line 52 of file pgalloc_64.h.
#define pmd_pgtable | ( | PMD | ) | ((pte_t *)__pmd_page(PMD)) |
Definition at line 50 of file pgalloc_64.h.
Definition at line 49 of file pgalloc_64.h.
Definition at line 48 of file pgalloc_64.h.
Definition at line 28 of file pgalloc_64.h.
OK, this one's a bit tricky... ioremap can get called before memory is initialized (early serial console does this) and will want to alloc a page for its mapping. No userspace pages will ever get allocated before memory is initialized so this applies only to kernel pages. In the event that this is called before memory is initialized we allocate the page using the memblock infrastructure.
Definition at line 7 of file mcf_pgalloc.h.
struct kmem_cache* pgtable_cache |