aboutsummaryrefslogtreecommitdiff
path: root/src/protected_mode/display.rs
diff options
context:
space:
mode:
authoriximeow <me@iximeow.net>2021-01-15 14:52:11 -0800
committeriximeow <me@iximeow.net>2021-01-15 14:52:11 -0800
commitf057c712f91b215034fe84fa0f22694aaa8dffb3 (patch)
tree6c28340154b900ba984ccd188fd7149aa4de6d75 /src/protected_mode/display.rs
parent81e9b93aab9217cf7cb508f64b19fc1c0df024b5 (diff)
fix several missing or invalid decodings among 0f01 opcodes
* `mwaitx`, `monitorx`, `rdpru`, and `clzero` are now supported * swapgs is no longer decoded in protected mode * rdpkru and wrpkru are no longer decoded if mod bits != 11
Diffstat (limited to 'src/protected_mode/display.rs')
-rw-r--r--src/protected_mode/display.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/protected_mode/display.rs b/src/protected_mode/display.rs
index c92737b..a0161c2 100644
--- a/src/protected_mode/display.rs
+++ b/src/protected_mode/display.rs
@@ -504,6 +504,8 @@ const MNEMONICS: &[&'static str] = &[
"vmxoff",
"monitor",
"mwait",
+ "monitorx",
+ "mwaitx",
"clac",
"stac",
"encls",
@@ -518,6 +520,8 @@ const MNEMONICS: &[&'static str] = &[
"enclu",
"rdpkru",
"wrpkru",
+ "rdpru",
+ "clzero",
"rdseed",
"rdrand",
"addps",
@@ -2162,6 +2166,8 @@ impl <T: fmt::Write, Color: fmt::Display, Y: YaxColors<Color>> Colorize<T, Color
Opcode::VMXOFF |
Opcode::MONITOR |
Opcode::MWAIT |
+ Opcode::MONITORX |
+ Opcode::MWAITX |
Opcode::SKINIT |
Opcode::CLGI |
Opcode::STGI |
@@ -2179,6 +2185,8 @@ impl <T: fmt::Write, Color: fmt::Display, Y: YaxColors<Color>> Colorize<T, Color
Opcode::ENCLU |
Opcode::RDPKRU |
Opcode::WRPKRU |
+ Opcode::RDPRU |
+ Opcode::CLZERO |
Opcode::ARPL |
Opcode::LAR => { write!(out, "{}", colors.platform_op(self)) }