Re: [PATCH][RESEND] Print a user-friendly message on failed vmentry

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 05/31/2010 10:40 PM, Mohammed Gamal wrote:
This patch address bug report in https://bugs.launchpad.net/qemu/+bug/530077.

Failed vmentries were handled with handle_unhandled() which prints a rather
unfriendly message to the user. This patch separates handling vmentry failures
from unknown exit reasons and prints a friendly message to the user.



+#define VMX_INVALID_GUEST_STATE 0x80000021
+
+static int handle_failed_vmentry(uint64_t reason)
+{
+    fprintf(stderr, "kvm: vm entry failed with error 0x%" PRIx64 "\n\n", reason);
+
+    /* Perhaps we will need to check if this machine is intel since exit reason 0x21
+       has a different interpretation on SVM */
+    if (reason == VMX_INVALID_GUEST_STATE) {
+        fprintf(stderr, "If you're runnning a guest on an Intel machine without\n");
+        fprintf(stderr, "unrestricted mode support, the failure can be most likely\n");
+        fprintf(stderr, "due to the guest entering an invalid state for Intel VT.\n");
+        fprintf(stderr, "For example, the guest maybe running in big real mode\n");
+        fprintf(stderr, "which is not supported on less recent Intel processors.\n\n");
+        fprintf(stderr, "You may want to try enabling KVM real mode emulation. To\n");
+        fprintf(stderr, "enable it, you can run the following commands as root:\n");
+        fprintf(stderr, "# rmmod kvm_intel\n");
+        fprintf(stderr, "# rmmod kvm\n");
+        fprintf(stderr, "# modprobe kvm_intel emulate_invalid_guest_state=1\n\n");
+        fprintf(stderr, "WARNING: Real mode emulation is still work-in-progress\n");
+        fprintf(stderr, "and thus it is not always guaranteed to work.\n\n");
+    }
+
+    return -EINVAL;
+}


It's almost guaranteed to fail, isn't it? Is there any guest which fails with emulated_invalid_guest_state=0 but works with e_i_g_s=1?

--
error compiling committee.c: too many arguments to function

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux