Re: KVM exit on UD interception

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

 



Thank you Paolo!

What is puzzling thought is the fact that even if there is an
instruction that can't be emulated by KVM, re-entering virtualized
mode is still attempted. Re-entering will produce a double fault, in
which case KVM will finally exit leaving the user with a somewhat
diminished perspective of the exit reason (DF exception). The hardware
virtualization support (SVM and VMX for x86) is designed such that
exceptions are intercepted and double faults or triple faults do not
hinder the actual reason of exit.

So would it make sense to change ud_interception such that it produces
a KVM exit if the instruction is not emulated by KVM and it re-enters
virtualized execution if the instruction is emulated?

Best,
Alex

On Tue, May 6, 2014 at 11:56 AM, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote:
> Il 05/05/2014 17:56, Alexandru Duţu ha scritto:
>
>>
>> It seems that re-entering virtualized execution on UD interception
>> gives the user the flexibility of running binaries with newer
>> instructions on older hardware, if kvm is able to emulate the newer
>> instructions. I do not fully understand the details of this scenario,
>> is there such a scenario or is it likely that ud_interception() will
>> change?
>
>
> Yes, you are correct.  This emulation capability is used in some cases,
> including: MOVBE, SYSCALL/SYSENTER on 32-bit guests, VMCALL and VMMCALL.
>
> Paolo



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