+ if (!xen_initial_domain())
+ xen_reserve_mfn(xen_start_info->console.domU.mfn);
+
+ if (xen_feature(XENFEAT_auto_translated_physmap))
+ return;
+
+ /*
+ * ALIGN up to compensate for the p2m_page pointing to an array that
+ * can partially filled (look in xen_build_dynamic_phys_to_machine).
+ */
+
+ size = PAGE_ALIGN(xen_start_info->nr_pages * sizeof(unsigned long));
+
+ /* We could use xen_reserve_mfn here, but would end up looping quite
+ * a lot (and call memblock_reserve for each PAGE), so lets just use
+ * the easy way and reserve it wholesale. */
+ memblock_reserve(__pa(xen_start_info->mfn_list), size);
+
+ /* The pagetables are reserved in mmu.c */
+}