diff --git a/decode-test.c b/decode-test.c index 09593ae..e3f4033 100644 --- a/decode-test.c +++ b/decode-test.c @@ -454,6 +454,10 @@ main(int argc, char** argv) TEST64("\x0f\xc7\x30", "vmptrld qword ptr [rax]"); TEST64("\x66\x0f\xc7\x30", "vmclear qword ptr [rax]"); TEST64("\xf3\x0f\xc7\x30", "vmxon qword ptr [rax]"); + TEST32("\x0f\x78\xc1", "vmread ecx, eax"); + TEST64("\x0f\x78\xc1", "vmread rcx, rax"); + TEST32("\x0f\x79\xc1", "vmwrite eax, ecx"); + TEST64("\x0f\x79\xc1", "vmwrite rax, rcx"); TEST64("\x0f\x09", "wbinvd"); TEST64("\xf3\x0f\x09", "wbnoinvd"); diff --git a/instrs.txt b/instrs.txt index 3e3825a..353b53d 100644 --- a/instrs.txt +++ b/instrs.txt @@ -1487,7 +1487,7 @@ NP.0f01c3 NP - - - - VMRESUME F=VMX NP.0fc7/6m M Mq - - - VMPTRLD F=VMX NP.0fc7/7m M Mq - - - VMPTRST F=VMX NP.0f78 MR Ey Gy - - VMREAD D64 F=VMX -NP.0f79 MR Ey Gy - - VMWRITE D64 F=VMX +NP.0f79 RM Gy Ey - - VMWRITE D64 F=VMX NP.0f01c4 NP - - - - VMXOFF F=VMX F3.0fc7/6m M Mq - - - VMXON F=VMX # SEAM/TDX