patch-2.1.48 linux/include/asm-ppc/page.h

Next file: linux/include/asm-ppc/pgtable.h
Previous file: linux/include/asm-ppc/nvram.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.47/linux/include/asm-ppc/page.h linux/include/asm-ppc/page.h
@@ -1,11 +1,32 @@
 #ifndef _PPC_PAGE_H
 #define _PPC_PAGE_H
 
+#include <linux/config.h>
+
 /* PAGE_SHIFT determines the page size */
 #define PAGE_SHIFT	12
 #define PAGE_SIZE	(1UL << PAGE_SHIFT)
 #define PAGE_MASK	(~(PAGE_SIZE-1))
 
+/* This handles the memory map.. */
+
+/*
+ * these virtual mappings for prep and pmac
+ * on the prep machine the io areas are at different physical locations
+ * than their virtual address.  On the pmac the io areas
+ * are mapped 1-1 virtual/physical.
+ * -- Cort
+ */
+#ifdef CONFIG_PREP
+#define KERNELBASE	0x90000000
+#endif
+#ifdef CONFIG_PMAC
+#define KERNELBASE	0xc0000000
+#endif
+#define PAGE_OFFSET	KERNELBASE
+
+
+#ifndef __ASSEMBLY__
 #ifdef __KERNEL__
 
 #define STRICT_MM_TYPECHECKS
@@ -50,13 +71,13 @@
 
 #endif
 
+
+/* align addr on a size boundry - adjust address up if needed -- Cort */
+#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)
 
-/* This handles the memory map.. */
-
-#define KERNELBASE	0x90000000
-#define PAGE_OFFSET	KERNELBASE
 
 #define clear_page(page)        memset((void *)(page), 0, PAGE_SIZE)
 #define copy_page(to,from)	memcpy((void *)(to), (void *)(from), PAGE_SIZE)
@@ -67,7 +88,8 @@
 #define MAP_NR(addr)	(__pa(addr) >> PAGE_SHIFT)
 #define MAP_PAGE_RESERVED	(1<<15)
 
+extern __inline__ unsigned long get_prezerod_page(void);
 
 #endif /* __KERNEL__ */
-
+#endif /* __ASSEMBLY__ */
 #endif /* _PPC_PAGE_H */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov