patch-2.4.21 linux-2.4.21/include/asm-ppc/page.h
Next file: linux-2.4.21/include/asm-ppc/param.h
Previous file: linux-2.4.21/include/asm-ppc/open_pic.h
Back to the patch index
Back to the overall index
- Lines: 56
- Date:
2003-06-13 07:51:38.000000000 -0700
- Orig file:
linux-2.4.20/include/asm-ppc/page.h
- Orig date:
2002-08-02 17:39:45.000000000 -0700
diff -urN linux-2.4.20/include/asm-ppc/page.h linux-2.4.21/include/asm-ppc/page.h
@@ -1,6 +1,3 @@
-/*
- * BK Id: SCCS/s.page.h 1.8 08/19/01 20:06:47 paulus
- */
#ifndef _PPC_PAGE_H
#define _PPC_PAGE_H
@@ -76,7 +73,7 @@
/* align addr on a size boundry - adjust address up if needed -- Cort */
-#define _ALIGN(addr,size) (((addr)+size-1)&(~(size-1)))
+#define _ALIGN(addr,size) (((addr)+(size)-1)&(~((size)-1)))
/* to align the pointer to the (next) page boundary */
#define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK)
@@ -86,6 +83,17 @@
extern void clear_user_page(void *page, unsigned long vaddr);
extern void copy_user_page(void *to, void *from, unsigned long vaddr);
+extern unsigned long ppc_memstart;
+extern unsigned long ppc_memoffset;
+#ifndef CONFIG_APUS
+#define PPC_MEMSTART 0
+#define PPC_MEMOFFSET PAGE_OFFSET
+#else
+#define PPC_MEMSTART ppc_memstart
+#define PPC_MEMOFFSET ppc_memoffset
+#endif
+
+#if defined(CONFIG_APUS) && !defined(MODULE)
/* map phys->virtual and virtual->phys for RAM pages */
static inline unsigned long ___pa(unsigned long v)
{
@@ -113,12 +121,17 @@
return (void*) v;
}
-#define __pa(x) ___pa ((unsigned long)(x))
-#define __va(x) ___va ((unsigned long)(x))
+#else
+#define ___pa(vaddr) ((vaddr)-PPC_MEMOFFSET)
+#define ___va(paddr) ((paddr)+PPC_MEMOFFSET)
+#endif
+
+#define __pa(x) ___pa((unsigned long)(x))
+#define __va(x) ((void *)(___va((unsigned long)(x))))
#define MAP_PAGE_RESERVED (1<<15)
-#define virt_to_page(kaddr) (mem_map + (((unsigned long)kaddr-PAGE_OFFSET) >> PAGE_SHIFT))
-#define VALID_PAGE(page) ((page - mem_map) < max_mapnr)
+#define virt_to_page(kaddr) (mem_map + (((unsigned long)(kaddr)-PAGE_OFFSET) >> PAGE_SHIFT))
+#define VALID_PAGE(page) (((page) - mem_map) < max_mapnr)
extern unsigned long get_zero_page_fast(void);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)