| 1 |
|
| 2 | |
| 3 | * Copyright (C) 2008-2009 Michal Simek <[email protected]>
|
| 4 | * Copyright (C) 2008-2009 PetaLogix
|
| 5 | * Copyright (C) 2006 Atmark Techno, Inc.
|
| 6 |
|
| 7 |
|
| 8 | #ifndef _ASM_MICROBLAZE_PGALLOC_H
|
| 9 | #define _ASM_MICROBLAZE_PGALLOC_H
|
| 10 |
|
| 11 | #include <linux/kernel.h>
|
| 12 | #include <linux/highmem.h>
|
| 13 | #include <linux/pgtable.h>
|
| 14 | #include <asm/setup.h>
|
| 15 | #include <asm/io.h>
|
| 16 | #include <asm/page.h>
|
| 17 | #include <asm/cache.h>
|
| 18 |
|
| 19 | #define __HAVE_ARCH_PTE_ALLOC_ONE_KERNEL
|
| 20 | #include <asm-generic/pgalloc.h>
|
| 21 |
|
| 22 | extern void __bad_pte(pmd_t *pmd);
|
| 23 |
|
| 24 | #define pgd_alloc(mm) __pgd_alloc(mm, 0)
|
| 25 |
|
| 26 | extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm);
|
| 27 |
|
| 28 | #define __pte_free_tlb(tlb, pte, addr) pte_free((tlb)->mm, (pte))
|
| 29 |
|
| 30 | #define pmd_populate(mm, pmd, pte) \
|
| 31 | (pmd_val(*(pmd)) = (unsigned long)page_address(pte))
|
| 32 |
|
| 33 | #define pmd_populate_kernel(mm, pmd, pte) \
|
| 34 | (pmd_val(*(pmd)) = (unsigned long) (pte))
|
| 35 |
|
| 36 | #endif
|