unsigned long initial_images_nrpages(nodeid_t node);
void discard_initial_images(void);
+
void *bootstrap_map(const module_t *mod);
+void bootstrap_unmap(void);
int remove_xen_ranges(struct rangeset *r);
void *__init bootstrap_map(const module_t *mod)
{
- if ( !mod )
- return bootstrap_map_addr(0, 0);
-
return bootstrap_map_addr(pfn_to_paddr(mod->mod_start),
pfn_to_paddr(mod->mod_start) + mod->mod_end);
}
+void __init bootstrap_unmap(void)
+{
+ bootstrap_map_addr(0, 0);
+}
+
static void __init move_memory(
uint64_t dst, uint64_t src, unsigned int size)
{
}
modules_headroom = bzimage_headroom(bootstrap_map(mod), mod->mod_end);
- bootstrap_map(NULL);
+ bootstrap_unmap();
#ifndef highmem_start
/* Don't allow split below 4Gb. */
ret = xsm_multiboot_policy_init(bi, &policy_buffer, &policy_size);
if ( ret )
{
- bootstrap_map(NULL);
+ bootstrap_unmap();
printk(XENLOG_ERR "Error %d initializing XSM policy\n", ret);
return -EINVAL;
}
}
ret = xsm_core_init(policy_buffer, policy_size);
- bootstrap_map(NULL);
+ bootstrap_unmap();
return 0;
}