[POWERPC] 85xx: Add support for relocatable kernel (and booting at non-zero)
[safe/jmp/linux-2.6] / include / asm-powerpc / page_32.h
index 7259cfd..ebfae53 100644 (file)
@@ -1,9 +1,17 @@
 #ifndef _ASM_POWERPC_PAGE_32_H
 #define _ASM_POWERPC_PAGE_32_H
 
+#if defined(CONFIG_PHYSICAL_ALIGN) && (CONFIG_PHYSICAL_START != 0)
+#if (CONFIG_PHYSICAL_START % CONFIG_PHYSICAL_ALIGN) != 0
+#error "CONFIG_PHYSICAL_START must be a multiple of CONFIG_PHYSICAL_ALIGN"
+#endif
+#endif
+
 #define VM_DATA_DEFAULT_FLAGS  VM_DATA_DEFAULT_FLAGS32
 
-#define PPC_MEMSTART   0
+#ifdef CONFIG_NOT_COHERENT_CACHE
+#define ARCH_KMALLOC_MINALIGN  L1_CACHE_BYTES
+#endif
 
 #ifndef __ASSEMBLY__
 /*
 #ifdef CONFIG_PTE_64BIT
 typedef unsigned long long pte_basic_t;
 #define PTE_SHIFT      (PAGE_SHIFT - 3)        /* 512 ptes per page */
-#define PTE_FMT                "%16Lx"
 #else
 typedef unsigned long pte_basic_t;
 #define PTE_SHIFT      (PAGE_SHIFT - 2)        /* 1024 ptes per page */
-#define PTE_FMT                "%.8lx"
 #endif
 
 struct page;
@@ -25,15 +31,7 @@ extern void clear_pages(void *page, int order);
 static inline void clear_page(void *page) { clear_pages(page, 0); }
 extern void copy_page(void *to, void *from);
 
-/* Pure 2^n version of get_order */
-extern __inline__ int get_order(unsigned long size)
-{
-       int lz;
-
-       size = (size-1) >> PAGE_SHIFT;
-       asm ("cntlzw %0,%1" : "=r" (lz) : "r" (size));
-       return 32 - lz;
-}
+#include <asm-generic/page.h>
 
 #endif /* __ASSEMBLY__ */