KVM: x86 emulator: Allow PM/VM86 switch during task switch
authorKevin Wolf <kwolf@redhat.com>
Wed, 8 Feb 2012 13:34:41 +0000 (14:34 +0100)
committerAvi Kivity <avi@redhat.com>
Thu, 8 Mar 2012 12:10:29 +0000 (14:10 +0200)
commit4cee4798a304ee1ea579423ca048f16ceaccdfb5
tree1088f534433daf9e9f705453038ced11c059570e
parentea5e97e8bf1d56a4d9461c39e082b9c31a7be4ff
KVM: x86 emulator: Allow PM/VM86 switch during task switch

Task switches can switch between Protected Mode and VM86. The current
mode must be updated during the task switch emulation so that the new
segment selectors are interpreted correctly.

In order to let privilege checks succeed, rflags needs to be updated in
the vcpu struct as this causes a CPL update.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Avi Kivity <avi@redhat.com>
arch/x86/include/asm/kvm_emulate.h
arch/x86/kvm/emulate.c
arch/x86/kvm/svm.c
arch/x86/kvm/x86.c