home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-cris / pgalloc.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.1 KB  |  53 lines

  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.  
  14. static inline pgd_t *pgd_alloc (struct mm_struct *mm)
  15. {
  16.     return (pgd_t *)get_zeroed_page(GFP_KERNEL);
  17. }
  18.  
  19. static inline void pgd_free (pgd_t *pgd)
  20. {
  21.     free_page((unsigned long)pgd);
  22. }
  23.  
  24. static inline pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long address)
  25. {
  26.       pte_t *pte = (pte_t *)__get_free_page(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO);
  27.      return pte;
  28. }
  29.  
  30. static inline struct page *pte_alloc_one(struct mm_struct *mm, unsigned long address)
  31. {
  32.     struct page *pte;
  33.     pte = alloc_pages(GFP_KERNEL|__GFP_REPEAT|__GFP_ZERO, 0);
  34.     return pte;
  35. }
  36.  
  37. static inline void pte_free_kernel(pte_t *pte)
  38. {
  39.     free_page((unsigned long)pte);
  40. }
  41.  
  42. static inline void pte_free(struct page *pte)
  43. {
  44.     __free_page(pte);
  45. }
  46.  
  47.  
  48. #define __pte_free_tlb(tlb,pte) tlb_remove_page((tlb),(pte))
  49.  
  50. #define check_pgt_cache()          do { } while (0)
  51.  
  52. #endif
  53.