// Parse host-os defined options into an easily-accessed format.
v3_parse_options(options);
+#ifdef V3_CONFIG_HVM
+ v3_init_hvm();
+#endif
+
// Memory manager initialization
v3_init_mem();
v3_deinit_mem();
+#ifdef V3_CONFIG_HVM
+ v3_deinit_hvm();
+#endif
+
v3_deinit_options();
return -1;
}
+#if V3_CONFIG_HVM
+ if (v3_setup_hvm_vm_for_boot(vm)) {
+ PrintError(vm, VCORE_NONE, "HVM setup for boot failed\n");
+ return -1;
+ }
+#endif
/// CHECK IF WE ARE MULTICORE ENABLED....
case VM_INVALID: base->state = V3_VM_INVALID; break;
case VM_RUNNING: base->state = V3_VM_RUNNING; break;
case VM_STOPPED: base->state = V3_VM_STOPPED; break;
+ case VM_RESETTING: base->state = V3_VM_RESETTING; break;
case VM_PAUSED: base->state = V3_VM_PAUSED; break;
case VM_ERROR: base->state = V3_VM_ERROR; break;
case VM_SIMULATING: base->state = V3_VM_SIMULATING; break;
core->num_vcores=numcores;
- for (i=0;i<vm->mem_map.num_base_regions;i++) {
+ for (i=0;i<numregions;i++) {
mem->region[i].host_paddr = (void*)(vm->mem_map.base_regions[i].host_addr);
mem->region[i].size = v3_mem_block_size;
#ifdef V3_CONFIG_SWAPPING