page.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. #ifndef _M68K_PAGE_H
  2. #define _M68K_PAGE_H
  3. #include <linux/const.h>
  4. #include <asm/setup.h>
  5. #include <asm/page_offset.h>
  6. /* PAGE_SHIFT determines the page size */
  7. #if defined(CONFIG_SUN3) || defined(CONFIG_COLDFIRE)
  8. #define PAGE_SHIFT 13
  9. #else
  10. #define PAGE_SHIFT 12
  11. #endif
  12. #define PAGE_SIZE (_AC(1, UL) << PAGE_SHIFT)
  13. #define PAGE_MASK (~(PAGE_SIZE-1))
  14. #define PAGE_OFFSET (PAGE_OFFSET_RAW)
  15. #ifndef __ASSEMBLY__
  16. /*
  17. * These are used to make use of C type-checking..
  18. */
  19. typedef struct { unsigned long pte; } pte_t;
  20. typedef struct { unsigned long pmd[16]; } pmd_t;
  21. typedef struct { unsigned long pgd; } pgd_t;
  22. typedef struct { unsigned long pgprot; } pgprot_t;
  23. typedef struct page *pgtable_t;
  24. #define pte_val(x) ((x).pte)
  25. #define pmd_val(x) ((&x)->pmd[0])
  26. #define pgd_val(x) ((x).pgd)
  27. #define pgprot_val(x) ((x).pgprot)
  28. #define __pte(x) ((pte_t) { (x) } )
  29. #define __pmd(x) ((pmd_t) { (x) } )
  30. #define __pgd(x) ((pgd_t) { (x) } )
  31. #define __pgprot(x) ((pgprot_t) { (x) } )
  32. extern unsigned long _rambase;
  33. extern unsigned long _ramstart;
  34. extern unsigned long _ramend;
  35. #endif /* !__ASSEMBLY__ */
  36. #ifdef CONFIG_MMU
  37. #include <asm/page_mm.h>
  38. #else
  39. #include <asm/page_no.h>
  40. #endif
  41. #define __phys_to_pfn(paddr) ((unsigned long)((paddr) >> PAGE_SHIFT))
  42. #define __pfn_to_phys(pfn) PFN_PHYS(pfn)
  43. #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
  44. VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
  45. #include <asm-generic/getorder.h>
  46. #endif /* _M68K_PAGE_H */