X-Git-Url: http://v3vee.org/palacios/gitweb/gitweb.cgi?a=blobdiff_plain;f=palacios%2Fsrc%2Fpalacios%2Fvmx.c;h=3a230320b8d7ab10b3c9443f4d87245d891008c4;hb=85d6d460b40c389b0b1b619313d596ab57323829;hp=741a636e8cd25f7ff274042824f1973129850306;hpb=ce0f119828348c3c57a00c4aa268a8a223ccd7f8;p=palacios.git diff --git a/palacios/src/palacios/vmx.c b/palacios/src/palacios/vmx.c index 741a636..3a23032 100644 --- a/palacios/src/palacios/vmx.c +++ b/palacios/src/palacios/vmx.c @@ -1198,6 +1198,20 @@ int v3_start_vmx_guest(struct guest_info * info) { PrintDebug(info->vm_info, info, "Starting VMX core %u\n", info->vcpu_id); +#ifdef V3_CONFIG_MULTIBOOT + if (v3_setup_multiboot_core_for_boot(info)) { + PrintError(info->vm_info, info, "Failed to setup Multiboot core...\n"); + return -1; + } +#endif + +#ifdef V3_CONFIG_HVM + if (v3_setup_hvm_hrt_core_for_boot(info)) { + PrintError(info->vm_info, info, "Failed to setup HRT core...\n"); + return -1; + } +#endif + while (1) { if (info->core_run_state == CORE_STOPPED) { if (info->vcpu_id == 0) { @@ -1245,6 +1259,18 @@ int v3_start_vmx_guest(struct guest_info * info) { } +#ifdef V3_CONFIG_HVM + if (v3_handle_hvm_reset(info) > 0) { + continue; + } +#endif + +#ifdef V3_CONFIG_MULTIBOOT + if (v3_handle_multiboot_reset(info) > 0) { + continue; + } +#endif + #ifdef V3_CONFIG_PMU_TELEMETRY v3_pmu_telemetry_start(info); #endif