Index: linux-2.6.19-rc5-mm1/arch/ia64/Kconfig
===================================================================
--- linux-2.6.19-rc5-mm1.orig/arch/ia64/Kconfig	2006-11-10 21:49:28.000000000 -0600
+++ linux-2.6.19-rc5-mm1/arch/ia64/Kconfig	2006-11-15 14:45:03.745231629 -0600
@@ -22,9 +22,14 @@ config 64BIT
 	bool
 	default y
 
-config ZONE_DMA
-	def_bool y
-	depends on !IA64_SGI_SN2
+#
+# Some IA64 arches have requirements to be able to allocate
+# memory below 4GB using GFP_DMA.
+#
+config ARCH_NEEDS_ALLOC_PAGES_RANGE
+	bool
+	default y
+	depends on !SGI_SN2
 
 config MMU
 	bool
Index: linux-2.6.19-rc5-mm1/include/linux/gfp.h
===================================================================
--- linux-2.6.19-rc5-mm1.orig/include/linux/gfp.h	2006-11-14 22:46:20.000000000 -0600
+++ linux-2.6.19-rc5-mm1/include/linux/gfp.h	2006-11-15 14:45:19.803300666 -0600
@@ -139,8 +139,6 @@ static inline struct page *alloc_pages_n
 		NODE_DATA(nid)->node_zonelists + gfp_zone(gfp_mask));
 }
 
-#define ARCH_NEEDS_ALLOC_PAGES_RANGE
-
 #ifdef ARCH_NEEDS_ALLOC_PAGES_RANGE
 extern struct page *__alloc_pages_range(unsigned long low, unsigned long high,
 		gfp_t gfp_mask, unsigned int order, struct zonelist *zl);