@@ -600,8 +600,6 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
allocator. */
init_xenheap_pages(pfn_to_paddr(xenheap_mfn_start),
pfn_to_paddr(boot_mfn_start));
-
- end_boot_allocator();
}
#else /* CONFIG_ARM_64 */
static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
@@ -670,8 +668,6 @@ static void __init setup_mm(unsigned long dtb_paddr, size_t dtb_size)
setup_frametable_mappings(ram_start, ram_end);
max_page = PFN_DOWN(ram_end);
-
- end_boot_allocator();
}
#endif
@@ -741,6 +737,12 @@ void __init start_xen(unsigned long boot_phys_offset,
setup_mm(fdt_paddr, fdt_size);
+#ifdef CONFIG_ACPI
+ acpi_boot_table_init();
+#endif
+
+ end_boot_allocator();
+
system_state = SYS_STATE_boot;
vm_init();
@@ -750,7 +752,6 @@ void __init start_xen(unsigned long boot_phys_offset,
*/
#if defined(CONFIG_ACPI) && defined(CONFIG_ARM_64)
- acpi_boot_table_init();
/* Get the boot CPU's MPIDR before cpu logical map is built */
cpu_logical_map(0) = read_cpuid_mpidr() & MPIDR_HWID_BITMASK;