instrs: Add VIA PadLock and AMD RDPRU

This commit is contained in:
Alexis Engelke
2021-01-23 16:47:30 +01:00
parent f7567c89bd
commit 4f2366afd1
3 changed files with 24 additions and 0 deletions

View File

@@ -1454,6 +1454,18 @@ F3.0fae/5r M GP - - - INCSSP
# CLDEMOTE
NP.0f1c/0m M MEM8 - - - CLDEMOTE
# VIA PadLock
F3.0fa6c0 NP - - - - REP_MONTMUL ONLYVIA
F3.0fa6c8 NP - - - - REP_XSHA1 ONLYVIA
F3.0fa6d0 NP - - - - REP_XSHA256 ONLYVIA
NFx.0fa7c0 NP - - - - XSTORE ONLYVIA
F3.0fa7c0 NP - - - - REP_XSTORE ONLYVIA
F3.0fa7c8 NP - - - - REP_XCRYPTECB ONLYVIA
F3.0fa7d0 NP - - - - REP_XCRYPTCBC ONLYVIA
F3.0fa7d8 NP - - - - REP_XCRYPTCTR ONLYVIA
F3.0fa7e0 NP - - - - REP_XCRYPTCFB ONLYVIA
F3.0fa7e8 NP - - - - REP_XCRYPTOFB ONLYVIA
# VMX
66.0f3880/m RM GP MEMZ - - INVEPT DEF64
66.0f3881/m RM GP MEMZ - - INVVPID DEF64
@@ -1474,6 +1486,9 @@ F3.0fc7/6m M MEM64 - - - VMXON
66.0f01ce NP - - - - SEAMOPS
66.0f01cf NP - - - - SEAMCALL
# AMD RDPRU
0f01fd NP - - - - RDPRU ONLYAMD
# AMD SVM
0f01d8 NP - - - - VMRUN ONLYAMD
0f01d9 NP - - - - VMMCALL ONLYAMD

View File

@@ -456,6 +456,7 @@ def decode_table(entries, modes):
.replace("JMPF", "JMP FAR").replace("CALLF", "CALL FAR")
.replace("_S2G", "").replace("_G2S", "")
.replace("_CR", "").replace("_DR", "")
.replace("REP_", "REP ")
.lower() for m in mnems]
defines = ["FD_TABLE_OFFSET_%d %d"%k for k in zip(modes, root_offsets)]

View File

@@ -597,6 +597,14 @@ main(int argc, char** argv)
TEST("\x0f\x0f\xc0\xb6", "3dnow mm0, mm0, 0xb6"); // PFRCPIT2
TEST("\x0f\x0f\xc0\xbf", "3dnow mm0, mm0, 0xbf"); // PAVGUSB
// VIA PadLock
TEST("\x0f\xa7\xc0", "xstore");
TEST("\xf3\x0f\xa7\xc0", "rep xstore");
TEST("\xf2\x0f\xa7\xc0", "UD");
TEST("\x0f\xa7\xe8 ", "UD");
TEST("\xf2\x0f\xa7\xe8", "UD");
TEST("\xf3\x0f\xa7\xe8", "rep xcryptofb");
puts(failed ? "Some tests FAILED" : "All tests PASSED");
return failed ? EXIT_FAILURE : EXIT_SUCCESS;
}