Avi Kivity wrote: > On 02/14/2010 06:49 PM, Jan Kiszka wrote: >> From: Jan Kiszka<jan.kiszka@xxxxxxxxxxx> >> >> The interrupt shadow created by STI or MOV-SS-like operations is part of >> the VCPU state and must be preserved across migration. Transfer it in >> the spare padding field of kvm_vcpu_events.interrupt. >> >> As a side effect we now have to make vmx_set_interrupt_shadow robust >> against both shadow types being set. Give MOV SS a higher priority and >> skip STI in that case to avoid that VMX throws a fault on next entry. >> >> >> diff --git a/arch/x86/include/asm/kvm.h b/arch/x86/include/asm/kvm.h >> index f46b79f..4dd01e2 100644 >> --- a/arch/x86/include/asm/kvm.h >> +++ b/arch/x86/include/asm/kvm.h >> @@ -258,6 +258,9 @@ struct kvm_reinject_control { >> #define KVM_VCPUEVENT_VALID_NMI_PENDING 0x00000001 >> #define KVM_VCPUEVENT_VALID_SIPI_VECTOR 0x00000002 >> >> +#define X86_SHADOW_INT_MOV_SS 1 >> +#define X86_SHADOW_INT_STI 2 >> + >> > > svm doesn't make a difference. Is it worth exposing this to userspace > (and thus providing wrong information on svm)? SVM already folds both reasons into one. Don't know if we should do it at the generic layer already - probably. > > (in any case, needs a KVM_ prefix). ...and then this is no longer required. OK, will export this with boolean meaning. > > Needs a KVM_CAP_ and flags bit. Why if merged before 2.6.33? We haven't released KVM_CAP_VCPU_EVENTS yet. Jan
Attachment:
signature.asc
Description: OpenPGP digital signature