diff options
Diffstat (limited to 'src/long_mode')
-rw-r--r-- | src/long_mode/display.rs | 2 | ||||
-rw-r--r-- | src/long_mode/mod.rs | 4 |
2 files changed, 6 insertions, 0 deletions
diff --git a/src/long_mode/display.rs b/src/long_mode/display.rs index 049b96d..5f74a3e 100644 --- a/src/long_mode/display.rs +++ b/src/long_mode/display.rs @@ -598,6 +598,7 @@ const MNEMONICS: &[&'static str] = &[ "vmlaunch", "vmresume", "vmxoff", + "pconfig", "monitor", "mwait", "monitorx", @@ -3131,6 +3132,7 @@ impl <T: fmt::Write, Y: YaxColors> Colorize<T, Y> for Opcode { Opcode::VMSAVE | Opcode::VMRUN | Opcode::VMXOFF | + Opcode::PCONFIG | Opcode::MONITOR | Opcode::MWAIT | Opcode::MONITORX | diff --git a/src/long_mode/mod.rs b/src/long_mode/mod.rs index 41e24e6..125716f 100644 --- a/src/long_mode/mod.rs +++ b/src/long_mode/mod.rs @@ -1295,6 +1295,7 @@ pub enum Opcode { VMLAUNCH, VMRESUME, VMXOFF, + PCONFIG, MONITOR, MWAIT, MONITORX, @@ -9157,6 +9158,9 @@ fn unlikely_operands<T: Reader<<Arch as yaxpeax_arch::Arch>::Address, <Arch as y 0b100 => { instruction.opcode = Opcode::VMXOFF; }, + 0b101 => { + instruction.opcode = Opcode::PCONFIG; + }, _ => { return Err(DecodeError::InvalidOpcode); } |