1 From 6c80693ba5d8d09e509a5613aa6e51b59a28585c Mon Sep 17 00:00:00 2001
2 From: Randy Dunlap <rdunlap@infradead.org>
3 Date: Mon, 11 Dec 2017 10:38:36 -0800
4 Subject: [PATCH 134/233] x86/decoder: Fix and update the opcodes map
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
11 Update x86-opcode-map.txt based on the October 2017 Intel SDM publication.
12 Fix INVPID to INVVPID.
13 Add UD0 and UD1 instruction opcodes.
15 Also sync the objtool and perf tooling copies of this file.
17 Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
18 Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
19 Cc: Josh Poimboeuf <jpoimboe@redhat.com>
20 Cc: Linus Torvalds <torvalds@linux-foundation.org>
21 Cc: Masami Hiramatsu <masami.hiramatsu@gmail.com>
22 Cc: Peter Zijlstra <peterz@infradead.org>
23 Cc: Thomas Gleixner <tglx@linutronix.de>
24 Link: http://lkml.kernel.org/r/aac062d7-c0f6-96e3-5c92-ed299e2bd3da@infradead.org
25 Signed-off-by: Ingo Molnar <mingo@kernel.org>
26 (cherry picked from commit f5395545058cd388da5d99bda3dedd2a2fe56dbc)
27 Signed-off-by: Andy Whitcroft <apw@canonical.com>
28 Signed-off-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>
29 (cherry picked from commit f88b977dde8156d6c4514114baa0eed05dd48e41)
30 Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
32 arch/x86/lib/x86-opcode-map.txt | 13 +++++++++++--
33 tools/objtool/arch/x86/lib/x86-opcode-map.txt | 15 ++++++++++++---
34 tools/perf/util/intel-pt-decoder/x86-opcode-map.txt | 15 ++++++++++++---
35 3 files changed, 35 insertions(+), 8 deletions(-)
37 diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt
38 index 12e377184ee4..aa2270dc9e87 100644
39 --- a/arch/x86/lib/x86-opcode-map.txt
40 +++ b/arch/x86/lib/x86-opcode-map.txt
41 @@ -607,7 +607,7 @@ fb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)
42 fc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)
43 fd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)
44 fe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)
49 Table: 3-byte opcode 1 (0x0f 0x38)
50 @@ -717,7 +717,7 @@ AVXcode: 2
51 7e: vpermt2d/q Vx,Hx,Wx (66),(ev)
52 7f: vpermt2ps/d Vx,Hx,Wx (66),(ev)
53 80: INVEPT Gy,Mdq (66)
54 -81: INVPID Gy,Mdq (66)
55 +81: INVVPID Gy,Mdq (66)
56 82: INVPCID Gy,Mdq (66)
57 83: vpmultishiftqb Vx,Hx,Wx (66),(ev)
58 88: vexpandps/d Vpd,Wpd (66),(ev)
59 @@ -970,6 +970,15 @@ GrpTable: Grp9
74 # Grp11A and Grp11B are expressed as Grp11 in Intel SDM
75 diff --git a/tools/objtool/arch/x86/lib/x86-opcode-map.txt b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
76 index 12e377184ee4..e0b85930dd77 100644
77 --- a/tools/objtool/arch/x86/lib/x86-opcode-map.txt
78 +++ b/tools/objtool/arch/x86/lib/x86-opcode-map.txt
79 @@ -607,7 +607,7 @@ fb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)
80 fc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)
81 fd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)
82 fe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)
87 Table: 3-byte opcode 1 (0x0f 0x38)
88 @@ -717,7 +717,7 @@ AVXcode: 2
89 7e: vpermt2d/q Vx,Hx,Wx (66),(ev)
90 7f: vpermt2ps/d Vx,Hx,Wx (66),(ev)
91 80: INVEPT Gy,Mdq (66)
92 -81: INVPID Gy,Mdq (66)
93 +81: INVVPID Gy,Mdq (66)
94 82: INVPCID Gy,Mdq (66)
95 83: vpmultishiftqb Vx,Hx,Wx (66),(ev)
96 88: vexpandps/d Vpd,Wpd (66),(ev)
97 @@ -896,7 +896,7 @@ EndTable
106 @@ -970,6 +970,15 @@ GrpTable: Grp9
121 # Grp11A and Grp11B are expressed as Grp11 in Intel SDM
122 diff --git a/tools/perf/util/intel-pt-decoder/x86-opcode-map.txt b/tools/perf/util/intel-pt-decoder/x86-opcode-map.txt
123 index 12e377184ee4..e0b85930dd77 100644
124 --- a/tools/perf/util/intel-pt-decoder/x86-opcode-map.txt
125 +++ b/tools/perf/util/intel-pt-decoder/x86-opcode-map.txt
126 @@ -607,7 +607,7 @@ fb: psubq Pq,Qq | vpsubq Vx,Hx,Wx (66),(v1)
127 fc: paddb Pq,Qq | vpaddb Vx,Hx,Wx (66),(v1)
128 fd: paddw Pq,Qq | vpaddw Vx,Hx,Wx (66),(v1)
129 fe: paddd Pq,Qq | vpaddd Vx,Hx,Wx (66),(v1)
134 Table: 3-byte opcode 1 (0x0f 0x38)
135 @@ -717,7 +717,7 @@ AVXcode: 2
136 7e: vpermt2d/q Vx,Hx,Wx (66),(ev)
137 7f: vpermt2ps/d Vx,Hx,Wx (66),(ev)
138 80: INVEPT Gy,Mdq (66)
139 -81: INVPID Gy,Mdq (66)
140 +81: INVVPID Gy,Mdq (66)
141 82: INVPCID Gy,Mdq (66)
142 83: vpmultishiftqb Vx,Hx,Wx (66),(ev)
143 88: vexpandps/d Vpd,Wpd (66),(ev)
144 @@ -896,7 +896,7 @@ EndTable
153 @@ -970,6 +970,15 @@ GrpTable: Grp9
168 # Grp11A and Grp11B are expressed as Grp11 in Intel SDM