Rename ram_pages to init_ram_pages.
[pintos-anon] / src / threads / palloc.c
index eab41e4811b15d074acf74ab27592d9eb56bb678..177001f3c1c4b4ae622422be84f356217ac6dcf5 100644 (file)
@@ -35,18 +35,16 @@ struct pool
   };
 
 /* Two pools: one for kernel data, one for user pages. */
-struct pool kernel_pool, user_pool;
-
-/* Maximum number of pages to put in user pool. */
-size_t user_page_limit = SIZE_MAX;
+static struct pool kernel_pool, user_pool;
 
 static void init_pool (struct pool *, void *base, size_t page_cnt,
                        const char *name);
 static bool page_from_pool (const struct pool *, void *page);
 
-/* Initializes the page allocator. */
+/* Initializes the page allocator.  At most USER_PAGE_LIMIT
+   pages are put into the user pool. */
 void
-palloc_init (void) 
+palloc_init (size_t user_page_limit)
 {
   /* End of the kernel as recorded by the linker.
      See kernel.lds.S. */
@@ -54,7 +52,7 @@ palloc_init (void)
 
   /* Free memory. */
   uint8_t *free_start = pg_round_up (&_end);
-  uint8_t *free_end = ptov (ram_pages * PGSIZE);
+  uint8_t *free_end = ptov (init_ram_pages * PGSIZE);
   size_t free_pages = (free_end - free_start) / PGSIZE;
   size_t user_pages = free_pages / 2;
   size_t kernel_pages;