patch-2.4.20 linux-2.4.20/include/asm-ia64/pgtable.h

Next file: linux-2.4.20/include/asm-ia64/processor.h
Previous file: linux-2.4.20/include/asm-ia64/pgalloc.h
Back to the patch index
Back to the overall index

diff -urN linux-2.4.19/include/asm-ia64/pgtable.h linux-2.4.20/include/asm-ia64/pgtable.h
@@ -156,12 +156,6 @@
 #define pte_ERROR(e)	printk("%s:%d: bad pte %016lx.\n", __FILE__, __LINE__, pte_val(e))
 
 
-/*
- * Some definitions to translate between mem_map, PTEs, and page
- * addresses:
- */
-
-
 /* Quick test to see if ADDR is a (potentially) valid physical address. */
 static inline long
 ia64_phys_addr_valid (unsigned long addr)
@@ -204,7 +198,13 @@
 
 #define VMALLOC_START		(0xa000000000000000 + 3*PAGE_SIZE)
 #define VMALLOC_VMADDR(x)	((unsigned long)(x))
-#define VMALLOC_END		(0xa000000000000000 + (1UL << (4*PAGE_SHIFT - 9)))
+#ifdef CONFIG_VIRTUAL_MEM_MAP
+# define VMALLOC_END_INIT        (0xa000000000000000 + (1UL << (4*PAGE_SHIFT - 9))) 
+# define VMALLOC_END             vmalloc_end
+  extern unsigned long vmalloc_end;
+#else
+# define VMALLOC_END		(0xa000000000000000 + (1UL << (4*PAGE_SHIFT - 9)))
+#endif
 
 /*
  * Conversion functions: convert a page and protection to a page entry,
@@ -448,6 +448,20 @@
  */
 #define pgtable_cache_init()	do { } while (0)
 
+#ifdef CONFIG_VIRTUAL_MEM_MAP
+
+/* arch mem_map init routines are needed due to holes in a virtual mem_map */
+#define HAVE_ARCH_MEMMAP_INIT
+
+typedef unsigned long memmap_init_callback_t(struct page *start,
+	struct page *end, int zone, unsigned long start_paddr, int highmem);
+
+extern unsigned long arch_memmap_init (memmap_init_callback_t *callback,
+	struct page *start, struct page *end, int zone,
+	unsigned long start_paddr, int highmem);
+
+#endif /* CONFIG_VIRTUAL_MEM_MAP */
+
 # endif /* !__ASSEMBLY__ */
 
 /*
@@ -468,9 +482,4 @@
 #define KERNEL_TR_PAGE_SIZE	(1 << KERNEL_TR_PAGE_SHIFT)
 #define KERNEL_TR_PAGE_NUM	((KERNEL_START - PAGE_OFFSET) / KERNEL_TR_PAGE_SIZE)
 
-/*
- * No page table caches to initialise
- */
-#define pgtable_cache_init()	do { } while (0)
-
 #endif /* _ASM_IA64_PGTABLE_H */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)