diff options
| -rw-r--r-- | arch/x86/kvm/emulate.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/arch/x86/kvm/emulate.c b/arch/x86/kvm/emulate.c index 07ffca0a89e9..205b17eed93c 100644 --- a/arch/x86/kvm/emulate.c +++ b/arch/x86/kvm/emulate.c | |||
| @@ -3668,6 +3668,10 @@ static const struct gprefix pfx_vmovntpx = { | |||
| 3668 | I(0, em_mov), N, N, N, | 3668 | I(0, em_mov), N, N, N, |
| 3669 | }; | 3669 | }; |
| 3670 | 3670 | ||
| 3671 | static const struct gprefix pfx_0f_28_0f_29 = { | ||
| 3672 | I(Aligned, em_mov), I(Aligned, em_mov), N, N, | ||
| 3673 | }; | ||
| 3674 | |||
| 3671 | static const struct escape escape_d9 = { { | 3675 | static const struct escape escape_d9 = { { |
| 3672 | N, N, N, N, N, N, N, I(DstMem, em_fnstcw), | 3676 | N, N, N, N, N, N, N, I(DstMem, em_fnstcw), |
| 3673 | }, { | 3677 | }, { |
| @@ -3870,7 +3874,9 @@ static const struct opcode twobyte_table[256] = { | |||
| 3870 | IIP(ModRM | SrcMem | Priv | Op3264, em_cr_write, cr_write, check_cr_write), | 3874 | IIP(ModRM | SrcMem | Priv | Op3264, em_cr_write, cr_write, check_cr_write), |
| 3871 | IIP(ModRM | SrcMem | Priv | Op3264, em_dr_write, dr_write, check_dr_write), | 3875 | IIP(ModRM | SrcMem | Priv | Op3264, em_dr_write, dr_write, check_dr_write), |
| 3872 | N, N, N, N, | 3876 | N, N, N, N, |
| 3873 | N, N, N, GP(ModRM | DstMem | SrcReg | Sse | Mov | Aligned, &pfx_vmovntpx), | 3877 | GP(ModRM | DstReg | SrcMem | Mov | Sse, &pfx_0f_28_0f_29), |
| 3878 | GP(ModRM | DstMem | SrcReg | Mov | Sse, &pfx_0f_28_0f_29), | ||
| 3879 | N, GP(ModRM | DstMem | SrcReg | Sse | Mov | Aligned, &pfx_vmovntpx), | ||
| 3874 | N, N, N, N, | 3880 | N, N, N, N, |
| 3875 | /* 0x30 - 0x3F */ | 3881 | /* 0x30 - 0x3F */ |
| 3876 | II(ImplicitOps | Priv, em_wrmsr, wrmsr), | 3882 | II(ImplicitOps | Priv, em_wrmsr, wrmsr), |
