diff options
author | Jan Beulich <jbeulich@suse.com> | 2020-03-04 08:58:13 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2020-03-04 08:58:13 +0100 |
commit | a847e32224d9a4297514a9a291c024c207eefdb9 (patch) | |
tree | 4b3249c7f20c260a86f95a95b67f2c7693ee54fe /opcodes/i386-dis.c | |
parent | 45830fd60e3c7b694dfa03f6fc1e7de431a3fcd1 (diff) | |
download | gdb-a847e32224d9a4297514a9a291c024c207eefdb9.zip gdb-a847e32224d9a4297514a9a291c024c207eefdb9.tar.gz gdb-a847e32224d9a4297514a9a291c024c207eefdb9.tar.bz2 |
x86: support VMGEXIT
It has been publicly documented for quite some time, albeit not in the
"General-Purpose and System Instructions" volume:
https://www.amd.com/system/files/TechDocs/24593.pdf.
Diffstat (limited to 'opcodes/i386-dis.c')
-rw-r--r-- | opcodes/i386-dis.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c index 77813e1..734cfa6 100644 --- a/opcodes/i386-dis.c +++ b/opcodes/i386-dis.c @@ -959,6 +959,7 @@ enum enum { PREFIX_90 = 0, + PREFIX_0F01_REG_3_RM_1, PREFIX_0F01_REG_5_MOD_0, PREFIX_0F01_REG_5_MOD_3_RM_0, PREFIX_0F01_REG_5_MOD_3_RM_2, @@ -3627,6 +3628,14 @@ static const struct dis386 prefix_table[][4] = { { NULL, { { NULL, 0 } }, PREFIX_IGNORED } }, + /* PREFIX_0F01_REG_3_MOD_1 */ + { + { "vmmcall", { Skip_MODRM }, 0 }, + { "vmgexit", { Skip_MODRM }, 0 }, + { Bad_Opcode }, + { "vmgexit", { Skip_MODRM }, 0 }, + }, + /* PREFIX_0F01_REG_5_MOD_0 */ { { Bad_Opcode }, @@ -11018,7 +11027,7 @@ static const struct dis386 rm_table[][8] = { { /* RM_0F01_REG_3 */ { "vmrun", { Skip_MODRM }, 0 }, - { "vmmcall", { Skip_MODRM }, 0 }, + { PREFIX_TABLE (PREFIX_0F01_REG_3_RM_1) }, { "vmload", { Skip_MODRM }, 0 }, { "vmsave", { Skip_MODRM }, 0 }, { "stgi", { Skip_MODRM }, 0 }, |