Re: [PATCH] KVM: nSVM/nVMX: Implement vmexit on INIT assertion

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

 



On 2013-02-25 09:00, Nadav Har'El wrote:
> On Sun, Feb 24, 2013, Jan Kiszka wrote about "[PATCH] KVM: nSVM/nVMX: Implement vmexit on INIT assertion":
>> From: Jan Kiszka <jan.kiszka@xxxxxxxxxxx>
>>
>> On Intel, raising INIT causing an unconditional vmexit. On AMD, this is
>> controlled by the interception mask.
> 
> Hi,
> 
> I never tried to closely follow the KVM code paths related this code,
> but I do have one question: The VMX spec says:
> 
>    "The INIT signal is blocked whenever a logical processor is in VMX root
>     operation. It is not blocked in VMX non-root operation. Instead, INITs
>     cause VM exits (see Section 22.3, Other Causes of VM Exits)."
> 
> So when running a non-nested L1 guest, or an L2 guest, the new behavior
> appears correct. However, it looks like if L1 is running in root
> mode (i.e., did VMXON once but not running L2 now), the INIT signal
> needs to be blocked, not do what it does now. It appears (but I'm not sure...)
> that right now, it causes the L1 guest to lock up, and is not ignored? 

Yeah, forgot about this "detail". Unfortunately, this means we need to
track the signal state, processing it on vmentry and, on AMD, when GIF
becomes 1.

Is the nested-related state already saved on AMD, Jörg? If not, adding
this one would not make things worse at least. Still, missing user space
save/restore already breaks reset, not only migration (dunno if this is
better on AMD).

Jan

Attachment: signature.asc
Description: OpenPGP digital signature


[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