|
|
|
|
|
|
|
|
|
|
xen-changelog
[Xen-changelog] [xen-unstable] i386: fix boot
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1247480337 -3600
# Node ID 00f2162a2c5c0dcfc20230ed84ff3bebbb71c4ec
# Parent 8ee92b9f890f39d635e23b96d4fa6dec7677b7c2
i386: fix boot
Since the Xen heap pages (which are the only ones mapped at this
point) don't get passed to init_boot_pages(), it has no place to store
the bootmem regions without faulting. Hence, a mapped page must be
passed to that function as the very first thing.
Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
xen/arch/x86/setup.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
diff -r 8ee92b9f890f -r 00f2162a2c5c xen/arch/x86/setup.c
--- a/xen/arch/x86/setup.c Fri Jul 10 18:12:13 2009 +0100
+++ b/xen/arch/x86/setup.c Mon Jul 13 11:18:57 2009 +0100
@@ -763,7 +763,9 @@ void __init __start_xen(unsigned long mb
reserve_e820_ram(&boot_e820, initial_images_base, initial_images_end);
#if defined(CONFIG_X86_32)
- xenheap_initial_phys_start = __pa(&_end);
+ xenheap_initial_phys_start = (PFN_UP(__pa(&_end)) + 1) << PAGE_SHIFT;
+ /* Must pass a single mapped page for populating bootmem_region_list. */
+ init_boot_pages(__pa(&_end), xenheap_initial_phys_start);
xenheap_phys_end = DIRECTMAP_MBYTES << 20;
#else
if ( !xen_phys_start )
_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] i386: fix boot,
Xen patchbot-unstable <=
|
|
|
|
|