~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Linux Cross Reference
Linux/include/asm-parisc/page.h

Version: ~ [ 2.4.0 ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 #ifndef _PARISC_PAGE_H
  2 #define _PARISC_PAGE_H
  3 
  4 /* PAGE_SHIFT determines the page size */
  5 #define PAGE_SHIFT      12
  6 #define PAGE_SIZE       (1UL << PAGE_SHIFT)
  7 #define PAGE_MASK       (~(PAGE_SIZE-1))
  8 
  9 #ifdef __KERNEL__
 10 #ifndef __ASSEMBLY__
 11 
 12 #define clear_page(page)        memset((void *)(page), 0, PAGE_SIZE)
 13 #define copy_page(to,from)      memcpy((void *)(to), (void *)(from), PAGE_SIZE)
 14 
 15 #define clear_user_page(page, vaddr) clear_page(page)
 16 #define copy_user_page(to, from, vaddr) copy_page(to, from)
 17 
 18 /*
 19  * These are used to make use of C type-checking..
 20  */
 21 typedef struct { unsigned long pte; } pte_t;
 22 typedef struct { unsigned long pmd; } pmd_t;
 23 typedef struct { unsigned long pgd; } pgd_t;
 24 typedef struct { unsigned long pgprot; } pgprot_t;
 25 
 26 #define pte_val(x)      ((x).pte)
 27 #define pmd_val(x)      ((x).pmd)
 28 #define pgd_val(x)      ((x).pgd)
 29 #define pgprot_val(x)   ((x).pgprot)
 30 
 31 #define __pte(x)        ((pte_t) { (x) } )
 32 #define __pmd(x)        ((pmd_t) { (x) } )
 33 #define __pgd(x)        ((pgd_t) { (x) } )
 34 #define __pgprot(x)     ((pgprot_t) { (x) } )
 35 
 36 /* Pure 2^n version of get_order */
 37 extern __inline__ int get_order(unsigned long size)
 38 {
 39         int order;
 40 
 41         size = (size-1) >> (PAGE_SHIFT-1);
 42         order = -1;
 43         do {
 44                 size >>= 1;
 45                 order++;
 46         } while (size);
 47         return order;
 48 }
 49 
 50 #endif /* !__ASSEMBLY__ */
 51 
 52 /* to align the pointer to the (next) page boundary */
 53 #define PAGE_ALIGN(addr)        (((addr)+PAGE_SIZE-1)&PAGE_MASK)
 54 
 55 /*
 56  * Tell the user there is some problem. Beep too, so we can
 57  * see^H^H^Hhear bugs in early bootup as well!
 58  *
 59  * We don't beep yet.  prumpf
 60  */
 61 #define BUG() do { \
 62         printk("kernel BUG at %s:%d!\n", __FILE__, __LINE__); \
 63 } while (0)
 64 
 65 #define PAGE_BUG(page) do { \
 66         BUG(); \
 67 } while (0)
 68 
 69 
 70 #define LINUX_GATEWAY_SPACE     0
 71 #define __PAGE_OFFSET           (0xc0000000)
 72 
 73 #define PAGE_OFFSET             ((unsigned long)__PAGE_OFFSET)
 74 /* These macros don't work for 64-bit C code -- don't allow in C at all */
 75 #ifdef __ASSEMBLY__
 76 #   define PA(x)        ((x)-__PAGE_OFFSET)
 77 #   define VA(x)        ((x)+__PAGE_OFFSET)
 78 #endif
 79 #define __pa(x)                 ((unsigned long)(x)-PAGE_OFFSET)
 80 #define __va(x)                 ((void *)((unsigned long)(x)+PAGE_OFFSET))
 81 #define virt_to_page(kaddr)     (mem_map + (__pa(kaddr) >> PAGE_SHIFT))
 82 #define VALID_PAGE(page)        ((page - mem_map) < max_mapnr)
 83 
 84 #endif /* __KERNEL__ */
 85 
 86 #endif /* _PARISC_PAGE_H */
 87 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.