]> xenbits.xensource.com Git - mini-os.git/commitdiff
mini-os: correct first free pfn
authorJuergen Gross <jgross@suse.com>
Tue, 12 Jul 2016 11:43:54 +0000 (13:43 +0200)
committerJuergen Gross <jgross@suse.com>
Thu, 11 Aug 2016 11:03:43 +0000 (13:03 +0200)
The first free pfn available for allocation is calculated by adding the
number of page table frames to the pfn of the first page table and
then the magic number 3 to account for start info page et al.

As the start info page, xenstore page and console page are allocated
_before_ the page tables leaving room for these pages behind the page
tables makes no sense.

Signed-off-by: Juergen Gross <jgross@suse.com>
Reviewed-by: Wei Liu <wei.liu2@citrix.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
arch/x86/mm.c

index 51aa96624473cf11e1f7e9c56e07c7f53ed66860..ae1036ec135b987098e771725062ca4eb24fcd15 100644 (file)
@@ -867,9 +867,8 @@ void arch_init_mm(unsigned long* start_pfn_p, unsigned long* max_pfn_p)
     printk("stack start: %p(VA)\n", stack);
     printk("       _end: %p(VA)\n", &_end);
 
-    /* First page follows page table pages and 3 more pages (store page etc) */
-    start_pfn = PFN_UP(to_phys(start_info.pt_base)) + 
-        start_info.nr_pt_frames + 3;
+    /* First page follows page table pages. */
+    start_pfn = PFN_UP(to_phys(start_info.pt_base)) + start_info.nr_pt_frames;
     max_pfn = start_info.nr_pages;
 
     /* We need room for demand mapping and heap, clip available memory */