Re: List of unaccessible x86 states

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

 




On 23.10.2009, at 21:34, Jan Kiszka wrote:

Jan Kiszka wrote:
Hi all,

as the list of yet user-unaccessible x86 states is a bit volatile ATM,
this is an attempt to collect the precise requirements for additional
state fields. Once everyone feels the list is complete, we can decide
how to partition it into one ore more substates for the new
KVM_GET/SET_VCPU_STATE interface.

What I read so far (or tried to patch already):

- nmi_masked
- nmi_pending
- nmi_injected
- kvm_queued_exception (whole struct content)
- KVM_REQ_TRIPLE_FAULT (from vcpu.requests)

Unclear points (for me) from the last discussion:

- sipi_vector
- MCE (covered via kvm_queued_exception, or does it require more?)

Please extend or correct the list as required.


Here is a wrap-up of what has been reported so far:

- NMI
   o nmi_masked
   o nmi_pending
   o nmi_injected
- queued exception
   o kvm_queued_exception
   o triple_fault
- SVM
   o gif
   (Are we sure that there is really nothing more here?)

Hm, thinking about this again, it might be useful to have an "currently in nested VM" flag here. That way userspace can decide if it needs to get out of the nested state (for migration) or if it just doesn't care.

- sipi_vector

So the next question is how to map these on substates. I'm currently
leaning towards this organization:

- KVM_X86_VCPU_STATE_EVENTS
   o NMI states
   o pending exception
   o sipi_vector
   o pending interrupt?
(would be redundant to kvm_sregs.interrupt_bitmap, but that struct
     may be obsoleted one day)
- KVM_X86_VCPU_STATE_SVM
   o gif

Can we make this an "svm_flags" or so u32? And then we'd just set bits?

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