diff options
Diffstat (limited to 'arch/x86/kvm/emulate.c')
-rw-r--r-- | arch/x86/kvm/emulate.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index f4e2a49513f1..3b9aca42cd30 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c | |||
@@ -1987,6 +1987,12 @@ special_insn: | |||
1987 | int err; | 1987 | int err; |
1988 | 1988 | ||
1989 | sel = c->src.val; | 1989 | sel = c->src.val; |
1990 | |||
1991 | if (c->modrm_reg == VCPU_SREG_CS) { | ||
1992 | kvm_queue_exception(ctxt->vcpu, UD_VECTOR); | ||
1993 | goto done; | ||
1994 | } | ||
1995 | |||
1990 | if (c->modrm_reg == VCPU_SREG_SS) | 1996 | if (c->modrm_reg == VCPU_SREG_SS) |
1991 | toggle_interruptibility(ctxt, X86_SHADOW_INT_MOV_SS); | 1997 | toggle_interruptibility(ctxt, X86_SHADOW_INT_MOV_SS); |
1992 | 1998 | ||