Skip to content

Commit 34d2618

Browse files
committed
KVM: x86: emulate reserved nops from 0f/18 to 0f/1f
Instructions starting with 0f18 up to 0f1f are reserved nops, except those that were assigned to MPX. These include the endbr markers used by CET. List them correctly in the opcode table. Signed-off-by: Paolo Bonzini <[email protected]>
1 parent b80db73 commit 34d2618

File tree

1 file changed

+6
-2
lines changed

1 file changed

+6
-2
lines changed

arch/x86/kvm/emulate.c

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4800,8 +4800,12 @@ static const struct opcode twobyte_table[256] = {
48004800
GP(ModRM | DstReg | SrcMem | Mov | Sse, &pfx_0f_10_0f_11),
48014801
GP(ModRM | DstMem | SrcReg | Mov | Sse, &pfx_0f_10_0f_11),
48024802
N, N, N, N, N, N,
4803-
D(ImplicitOps | ModRM | SrcMem | NoAccess),
4804-
N, N, N, N, N, N, D(ImplicitOps | ModRM | SrcMem | NoAccess),
4803+
D(ImplicitOps | ModRM | SrcMem | NoAccess), /* 4 * prefetch + 4 * reserved NOP */
4804+
D(ImplicitOps | ModRM | SrcMem | NoAccess), N, N,
4805+
D(ImplicitOps | ModRM | SrcMem | NoAccess), /* 8 * reserved NOP */
4806+
D(ImplicitOps | ModRM | SrcMem | NoAccess), /* 8 * reserved NOP */
4807+
D(ImplicitOps | ModRM | SrcMem | NoAccess), /* 8 * reserved NOP */
4808+
D(ImplicitOps | ModRM | SrcMem | NoAccess), /* NOP + 7 * reserved NOP */
48054809
/* 0x20 - 0x2F */
48064810
DIP(ModRM | DstMem | Priv | Op3264 | NoMod, cr_read, check_cr_read),
48074811
DIP(ModRM | DstMem | Priv | Op3264 | NoMod, dr_read, check_dr_read),

0 commit comments

Comments
 (0)