]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/vm/vm_init.c
xnu-517.11.1.tar.gz
[apple/xnu.git] / osfmk / vm / vm_init.c
index fc085b3c8d5dd20d73886d9d4d420b3a67e5b834..8b20eae9b6fc28f775806459765003934288a8eb 100644 (file)
@@ -69,7 +69,7 @@
 #include <vm/vm_init.h>
 
 #define ZONE_MAP_MIN (12 * 1024 * 1024) 
-#define ZONE_MAP_MAX (128 * 1024 * 1024) 
+#define ZONE_MAP_MAX (256 * 1024 * 1024) 
 
 /*
  *     vm_mem_bootstrap initializes the virtual memory system.
@@ -100,7 +100,12 @@ vm_mem_bootstrap(void)
        kmem_init(start, end);
        pmap_init();
        
-       zsize = mem_size >> 2;                  /* Get target zone size as 1/4 of physical memory */
+       if (PE_parse_boot_arg("zsize", &zsize))
+               zsize = zsize * 1024 * 1024;
+       else {
+               zsize = sane_size >> 2;                         /* Get target zone size as 1/4 of physical memory */
+       }
+
        if(zsize < ZONE_MAP_MIN) zsize = ZONE_MAP_MIN;  /* Clamp to min */
        if(zsize > ZONE_MAP_MAX) zsize = ZONE_MAP_MAX;  /* Clamp to max */
        zone_init(zsize);                                               /* Allocate address space for zones */
@@ -109,6 +114,8 @@ vm_mem_bootstrap(void)
        vm_fault_init();
        vm_page_module_init();
        memory_manager_default_init();
+       memory_object_control_bootstrap();
+       device_pager_bootstrap();
 }
 
 void