[PATCH] x86/decoder: Update UD0 to have operands

From: Masami Hiramatsu
Date: Thu Feb 08 2018 - 10:18:21 EST


According to the December 2017 Intel SDM publication,
UD0 now has 2 operands by MODRM byte. So it's length should
be 3 bytes.

Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
Reported-by: kbuild test robot <fengguang.wu@xxxxxxxxx>
---
arch/x86/lib/x86-opcode-map.txt | 3 ++-
tools/objtool/arch/x86/lib/x86-opcode-map.txt | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt
index e0b85930dd77..131a76b3fa5e 100644
--- a/arch/x86/lib/x86-opcode-map.txt
+++ b/arch/x86/lib/x86-opcode-map.txt
@@ -607,7 +607,8 @@ fb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)
fc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)
fd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)
fe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)
-ff: UD0
+# UD0 is special. This is changed in newer processor to have operands.
+ff: UD0 Gd,Ed
EndTable

Table: 3-byte opcode 1 (0x0f 0x38)
diff --git a/tools/objtool/arch/x86/lib/x86-opcode-map.txt b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
index e0b85930dd77..131a76b3fa5e 100644
--- a/tools/objtool/arch/x86/lib/x86-opcode-map.txt
+++ b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
@@ -607,7 +607,8 @@ fb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)
fc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)
fd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)
fe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)
-ff: UD0
+# UD0 is special. This is changed in newer processor to have operands.
+ff: UD0 Gd,Ed
EndTable

Table: 3-byte opcode 1 (0x0f 0x38)