Index: /trunk/ccl/lisp-kernel/pmcl-kernel.c
===================================================================
--- /trunk/ccl/lisp-kernel/pmcl-kernel.c	(revision 638)
+++ /trunk/ccl/lisp-kernel/pmcl-kernel.c	(revision 639)
@@ -279,8 +279,14 @@
 }
 
-
+#ifdef DARWIN
+#define MAXIMUM_MAPPABLE_MEMORY ((1U<<31)-2*heap_segment_size)
+#endif
+
+#ifdef LINUX
+#define MAXIMUM_MAPPABLE_MEMORY (1U<<30)
+#endif
 
 natural
-reserved_area_size = ((1U<<31)-2*heap_segment_size);
+reserved_area_size = MAXIMUM_MAPPABLE_MEMORY;
 
 area *nilreg_area=NULL, *tenured_area=NULL, *g2_area=NULL, *g1_area=NULL;
@@ -1025,5 +1031,5 @@
 	}
 
-	if (reserved_size <= ((1U<<31)-(2*heap_segment_size))) {
+	if (reserved_size <= MAXIMUM_MAPPABLE_MEMORY) {
 	  reserved_area_size = reserved_size;
 	}
