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

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

 



On Tue, Jun 1, 2010 at 11:59 AM, Avi Kivity <avi@xxxxxxxxxx> wrote:
> 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?
>
You're right! Perhaps I should remove the e_i_g_s bit from the
message. What do you think?

> --
> 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