# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1197745380 0
# Node ID 0198241edaeb24d57c005fbcc58c59642e835c9f
# Parent 7f8a28149131ee9cb9894b1b00a1d669d7e402f5
x86: Fix e820 walk and allocator initialisation.
Signed-off-by: Keir Fraser <keir.fraser@xxxxxxxxxx>
xen-unstable changeset: 16624:257ca4017b416b26120f4a271cf608a23cf23468
xen-unstable date: Sat Dec 15 18:23:13 2007 +0000
---
xen/arch/x86/setup.c | 10 ++++------
1 files changed, 4 insertions(+), 6 deletions(-)
diff -r 7f8a28149131 -r 0198241edaeb xen/arch/x86/setup.c
--- a/xen/arch/x86/setup.c Fri Dec 14 12:05:31 2007 +0000
+++ b/xen/arch/x86/setup.c Sat Dec 15 19:03:00 2007 +0000
@@ -772,8 +772,8 @@ void __init __start_xen(unsigned long mb
kexec_reserve_area(&boot_e820);
/*
- * With the boot allocator now seeded, we can walk every RAM region and
- * map it in its entirety (on x86/64, at least) and notify it to the
+ * With the boot allocator now initialised, we can walk every RAM region
+ * and map it in its entirety (on x86/64, at least) and notify it to the
* boot allocator.
*/
for ( i = 0; i < boot_e820.nr_map; i++ )
@@ -799,8 +799,7 @@ void __init __start_xen(unsigned long mb
#endif
/* Pass mapped memory to allocator /before/ creating new mappings. */
- if ( s < map_s )
- init_boot_pages(s, map_s);
+ init_boot_pages(s, min_t(uint64_t, map_s, e));
/* Create new mappings /before/ passing memory to the allocator. */
if ( map_s < map_e )
@@ -810,8 +809,7 @@ void __init __start_xen(unsigned long mb
PAGE_HYPERVISOR);
/* Pass remainder of this memory chunk to the allocator. */
- if ( map_s < e )
- init_boot_pages(map_s, e);
+ init_boot_pages(map_s, e);
}
memguard_init();
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|