cfq_idle_class_timer: add paranoid checks for jiffies overflow
[linux-block.git] / include / asm-cris / pgalloc.h
CommitLineData
1da177e4
LT
1#ifndef _CRIS_PGALLOC_H
2#define _CRIS_PGALLOC_H
3
4#include <linux/threads.h>
5#include <linux/mm.h>
6
7#define pmd_populate_kernel(mm, pmd, pte) pmd_set(pmd, pte)
8#define pmd_populate(mm, pmd, pte) pmd_set(pmd, page_address(pte))
9
10/*
11 * Allocate and free page tables.
12 */
13
d9b5444e 14static inline pgd_t *pgd_alloc (struct mm_struct *mm)
1da177e4
LT
15{
16 return (pgd_t *)get_zeroed_page(GFP_KERNEL);
17}
18
d9b5444e 19static inline void pgd_free (pgd_t *pgd)
1da177e4
LT
20{
21 free_page((unsigned long)pgd);
22}
23
d9b5444e 24static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
1da177e4
LT
25{
26 pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO);
27 return pte;
28}
29
d9b5444e 30static inline struct page *pte_alloc_one(struct mm_struct *mm, unsigned long address)
1da177e4
LT
31{
32 struct page *pte;
33 pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0);
34 return pte;
35}
36
d9b5444e 37static inline void pte_free_kernel(pte_t *pte)
1da177e4
LT
38{
39 free_page((unsigned long)pte);
40}
41
d9b5444e 42static inline void pte_free(struct page *pte)
1da177e4
LT
43{
44 __free_page(pte);
45}
46
47
48#define __pte_free_tlb(tlb,pte) tlb_remove_page((tlb),(pte))
49
1da177e4
LT
50#define check_pgt_cache() do { } while (0)
51
52#endif