x86: undo vm_init() movement from 1a6e3220cc
authorJan Beulich <jbeulich@suse.com>
Thu, 2 Feb 2017 14:46:17 +0000 (15:46 +0100)
committerJan Beulich <jbeulich@suse.com>
Thu, 2 Feb 2017 14:46:17 +0000 (15:46 +0100)
There must not be any alloc_xen_pagetable() calls between
end_boot_allocator() and the setting of SYS_STATE_boot.

Signed-off-by: Jan Beulich <jbeulich@suse.com>
xen/arch/x86/setup.c

index ccfd6dd88582a2e5e1f45124bba10a0c0ce1f380..176ee74b93d4eea56d9555ca957b61de61ab7ab5 100644 (file)
@@ -1376,9 +1376,13 @@ void __init noreturn __start_xen(unsigned long mbi_p)
     else
         end_boot_allocator();
 
-    vm_init();
-
     system_state = SYS_STATE_boot;
+    /*
+     * No calls involving ACPI code should go between the setting of
+     * SYS_STATE_boot and vm_init() (or else acpi_os_{,un}map_memory()
+     * will break).
+     */
+    vm_init();
 
     console_init_ring();
     vesa_init();