[PATCH 4/6] KVM: x86: Introduce KVM_GET_SREGS2 / KVM_SET_SREGS2

2021-04-01 Thread Maxim Levitsky
This is a new version of KVM_GET_SREGS / KVM_SET_SREGS ioctls, aiming to replace them. It has the following changes: * Has flags for future extensions * Has vcpu's PDPTS, which allows to save/restore them on migration. * Lacks obsolete interrupt bitmap (done now via KVM_SET_VCPU_EVENTS)

Re: [PATCH 4/6] KVM: x86: Introduce KVM_GET_SREGS2 / KVM_SET_SREGS2

2021-04-01 Thread Paolo Bonzini
Just a quick review on the API: On 01/04/21 16:18, Maxim Levitsky wrote: +struct kvm_sregs2 { + /* out (KVM_GET_SREGS2) / in (KVM_SET_SREGS2) */ + struct kvm_segment cs, ds, es, fs, gs, ss; + struct kvm_segment tr, ldt; + struct kvm_dtable gdt, idt; + __u64 cr0,

Re: [PATCH 4/6] KVM: x86: Introduce KVM_GET_SREGS2 / KVM_SET_SREGS2

2021-04-01 Thread Maxim Levitsky
On Thu, 2021-04-01 at 16:44 +0200, Paolo Bonzini wrote: > Just a quick review on the API: > > On 01/04/21 16:18, Maxim Levitsky wrote: > > +struct kvm_sregs2 { > > + /* out (KVM_GET_SREGS2) / in (KVM_SET_SREGS2) */ > > + struct kvm_segment cs, ds, es, fs, gs, ss; > > + struct kvm_segment

Re: [PATCH 4/6] KVM: x86: Introduce KVM_GET_SREGS2 / KVM_SET_SREGS2

2021-04-01 Thread Paolo Bonzini
On 01/04/21 19:10, Maxim Levitsky wrote: I haven't yet studied in depth the locking that is used in the kvm, so I put this to be on the safe side. I looked at it a bit and it looks like the pdptr reading code takes this lock because it accesses the memslots, which is not done here, and