home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / powerpc / include / asm / pgalloc-32.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  1.5 KB  |  44 lines

  1. #ifndef _ASM_POWERPC_PGALLOC_32_H
  2. #define _ASM_POWERPC_PGALLOC_32_H
  3.  
  4. #include <linux/threads.h>
  5.  
  6. extern void __bad_pte(pmd_t *pmd);
  7.  
  8. extern pgd_t *pgd_alloc(struct mm_struct *mm);
  9. extern void pgd_free(struct mm_struct *mm, pgd_t *pgd);
  10.  
  11. /*
  12.  * We don't have any real pmd's, and this code never triggers because
  13.  * the pgd will always be present..
  14.  */
  15. /* #define pmd_alloc_one(mm,address)       ({ BUG(); ((pmd_t *)2); }) */
  16. #define pmd_free(mm, x)         do { } while (0)
  17. #define __pmd_free_tlb(tlb,x)        do { } while (0)
  18. /* #define pgd_populate(mm, pmd, pte)      BUG() */
  19.  
  20. #ifndef CONFIG_BOOKE
  21. #define pmd_populate_kernel(mm, pmd, pte)    \
  22.         (pmd_val(*(pmd)) = __pa(pte) | _PMD_PRESENT)
  23. #define pmd_populate(mm, pmd, pte)    \
  24.         (pmd_val(*(pmd)) = (page_to_pfn(pte) << PAGE_SHIFT) | _PMD_PRESENT)
  25. #define pmd_pgtable(pmd) pmd_page(pmd)
  26. #else
  27. #define pmd_populate_kernel(mm, pmd, pte)    \
  28.         (pmd_val(*(pmd)) = (unsigned long)pte | _PMD_PRESENT)
  29. #define pmd_populate(mm, pmd, pte)    \
  30.         (pmd_val(*(pmd)) = (unsigned long)lowmem_page_address(pte) | _PMD_PRESENT)
  31. #define pmd_pgtable(pmd) pmd_page(pmd)
  32. #endif
  33.  
  34. extern pte_t *pte_alloc_one_kernel(struct mm_struct *mm, unsigned long addr);
  35. extern pgtable_t pte_alloc_one(struct mm_struct *mm, unsigned long addr);
  36. extern void pte_free_kernel(struct mm_struct *mm, pte_t *pte);
  37. extern void pte_free(struct mm_struct *mm, pgtable_t pte);
  38.  
  39. #define __pte_free_tlb(tlb, pte)    pte_free((tlb)->mm, (pte))
  40.  
  41. #define check_pgt_cache()    do { } while (0)
  42.  
  43. #endif /* _ASM_POWERPC_PGALLOC_32_H */
  44.