Jean Delvare
be2bf0a2df
x86, perf probe: Fix warning in test_get_len()
...
Fix the following warning:
arch/x86/tools/test_get_len.c: In function "main":
arch/x86/tools/test_get_len.c:116: warning: unused variable "c"
Signed-off-by: Jean Delvare <khali@linux-fr.org >
Cc: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-06 12:53:40 +01:00
Ingo Molnar
d103d01e4b
Merge branch 'perf/probes' into perf/core
...
Merge reason: add these fixes to 'perf probe'.
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-12-03 20:11:38 +01:00
Masami Hiramatsu
6f5f67267d
x86: insn decoder test checks objdump version
...
Check objdump version before using it for insn decoder build test,
because some older objdump can't decode AVX code correctly.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: Randy Dunlap <rdunlap@xenotime.net >
Cc: Jim Keniston <jkenisto@us.ibm.com >
LKML-Reference: <20091120171314.6715.30390.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: H. Peter Anvin <hpa@zytor.com >
2009-11-20 23:01:04 -08:00
Masami Hiramatsu
80509e27e4
x86: Fix insn decoder test typos
...
Fix postest_verbose to posttest_verbose, and add posttest_64bit option
for CONFIG_64BIT != y, since old command just passed '-' instead
of '-n' when CONFIG_64BIT is not set.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: Randy Dunlap <rdunlap@xenotime.net >
Cc: Jim Keniston <jkenisto@us.ibm.com >
LKML-Reference: <20091120171307.6715.66099.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: H. Peter Anvin <hpa@zytor.com >
2009-11-20 22:59:36 -08:00
Masami Hiramatsu
ce64c62074
x86: Instruction decoder test should generate build warning
...
Since some instructions are not decoded correctly by older
versions of objdump, it may cause false positive error in insn
decoder posttest.
This changes build error of insn decoder test to build warning.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: Randy Dunlap <rdunlap@xenotime.net >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
LKML-Reference: <20091116230631.5250.41579.stgit@harusame>
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-19 21:40:13 +01:00
Masami Hiramatsu
35039eb6b1
x86: Show symbol name if insn decoder test failed
...
Show symbol name if insn decoder test find a difference.
This will help us to find out where the issue is.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: Randy Dunlap <rdunlap@xenotime.net >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
LKML-Reference: <20091116230624.5250.49813.stgit@harusame>
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-17 07:16:50 +01:00
Masami Hiramatsu
d65ff75fbe
x86: Add verbose option to insn decoder test
...
Add verbose option to insn decoder test. This dumps decoded
instruction when building kernel with V=1.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap <systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: Randy Dunlap <rdunlap@xenotime.net >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
LKML-Reference: <20091116230618.5250.18762.stgit@harusame>
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-11-17 07:16:48 +01:00
Masami Hiramatsu
e0e492e99b
x86: AVX instruction set decoder support
...
Add Intel AVX(Advanced Vector Extensions) instruction set
support to x86 instruction decoder. This adds insn.vex_prefix
field for storing VEX prefixes, and introduces some original
tags for expressing opcodes attributes.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
LKML-Reference: <20091027204226.30545.23451.stgit@harusame>
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-10-29 08:47:46 +01:00
Masami Hiramatsu
04d46c1b13
x86: Merge INAT_REXPFX into INAT_PFX_*
...
Merge INAT_REXPFX into INAT_PFX_* macro and rename it to
INAT_PFX_REX.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Peter Zijlstra <peterz@infradead.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
LKML-Reference: <20091027204211.30545.58090.stgit@harusame>
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-10-29 08:47:45 +01:00
Ingo Molnar
9bf4e7fba8
x86, instruction decoder: Fix test_get_len build rules
...
Add the kernel source include file as well to the include files
search path, to fix this build bug:
In file included from arch/x86/tools/test_get_len.c:28:
arch/x86/lib/insn.c:21:26: error: linux/string.h: No such file or directory
Cc: Masami Hiramatsu <mhiramat@redhat.com >
Cc: systemtap<systemtap@sources.redhat.com >
Cc: DLE <dle-develop@lists.sourceforge.net >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Frederic Weisbecker <fweisbec@gmail.com >
LKML-Reference: <20091020165531.4145.21872.stgit@dhcp-100-2-132.bos.redhat.com >
Signed-off-by: Ingo Molnar <mingo@elte.hu >
2009-10-21 14:42:56 +02:00
Masami Hiramatsu
7006957732
x86: Remove unused config macros from instruction decoder selftest
...
Remove dummy definitions of CONFIG_X86_64 and CONFIG_X86_32 because
those macros are not used in the instruction decoder anymore.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ingo Molnar <mingo@elte.hu >
LKML-Reference: <20090828221326.8778.70723.stgit@localhost.localdomain >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
2009-09-04 18:14:15 +02:00
Masami Hiramatsu
50a482fbd9
x86: Allow x86-32 instruction decoder selftest on x86-64
...
Pass $(CONFIG_64BIT) to the x86 insn decoder selftest in case we are
decoding 32bit code on x86-64, which will happen when building kernel
with ARCH=i386 on x86-64.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ingo Molnar <mingo@elte.hu >
LKML-Reference: <20090828221319.8778.88508.stgit@localhost.localdomain >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
2009-09-04 18:14:04 +02:00
Masami Hiramatsu
69d991f321
x86: Check awk features before generating inat-tables.c
...
Check some awk mandatory features to generate inat-tables.c
that old mawk doesn't support.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Avi Kivity <avi@redhat.com >
Cc: Andi Kleen <ak@linux.intel.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Lai Jiangshan <laijs@cn.fujitsu.com >
Cc: Li Zefan <lizf@cn.fujitsu.com >
Cc: Przemysław Pawełczyk <przemyslaw@pawelczyk.it >
Cc: Roland McGrath <roland@redhat.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Tom Zanussi <tzanussi@gmail.com >
Cc: Vegard Nossum <vegard.nossum@gmail.com >
LKML-Reference: <20090821194316.12478.57394.stgit@localhost.localdomain >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
2009-08-27 02:32:50 +02:00
Masami Hiramatsu
8d7d14fb27
x86: Fix x86 instruction decoder selftest to check only .text
...
Fix x86 instruction decoder selftest to check only .text because other
sections (e.g. .notes) will have random bytes which don't need to be
checked.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Cc: Jim Keniston <jkenisto@us.ibm.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Avi Kivity <avi@redhat.com >
Cc: Andi Kleen <ak@linux.intel.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Lai Jiangshan <laijs@cn.fujitsu.com >
Cc: Li Zefan <lizf@cn.fujitsu.com >
Cc: Przemysław Pawełczyk <przemyslaw@pawelczyk.it >
Cc: Roland McGrath <roland@redhat.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Tom Zanussi <tzanussi@gmail.com >
Cc: Vegard Nossum <vegard.nossum@gmail.com >
LKML-Reference: <20090821194307.12478.76938.stgit@localhost.localdomain >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
2009-08-27 02:32:44 +02:00
Masami Hiramatsu
ca0e9badd1
x86: X86 instruction decoder build-time selftest
...
Add a user-space selftest of x86 instruction decoder at kernel build
time.
When CONFIG_X86_DECODER_SELFTEST=y, Kbuild builds a test harness of x86
instruction decoder and performs it after building vmlinux.
The test compares the results of objdump and x86 instruction decoder
code and check there are no differences.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Jim Keniston <jkenisto@us.ibm.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Avi Kivity <avi@redhat.com >
Cc: Andi Kleen <ak@linux.intel.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: H. Peter Anvin <hpa@zytor.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Lai Jiangshan <laijs@cn.fujitsu.com >
Cc: Li Zefan <lizf@cn.fujitsu.com >
Cc: Przemysław Pawełczyk <przemyslaw@pawelczyk.it >
Cc: Roland McGrath <roland@redhat.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Tom Zanussi <tzanussi@gmail.com >
Cc: Vegard Nossum <vegard.nossum@gmail.com >
LKML-Reference: <20090813203421.31965.29006.stgit@localhost.localdomain >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
2009-08-27 00:35:56 +02:00
Masami Hiramatsu
eb13296cfa
x86: Instruction decoder API
...
Add x86 instruction decoder to arch-specific libraries. This decoder
can decode x86 instructions used in kernel into prefix, opcode, modrm,
sib, displacement and immediates. This can also show the length of
instructions.
This version introduces instruction attributes for decoding
instructions.
The instruction attribute tables are generated from the opcode map file
(x86-opcode-map.txt) by the generator script(gen-insn-attr-x86.awk).
Currently, the opcode maps are based on opcode maps in Intel(R) 64 and
IA-32 Architectures Software Developers Manual Vol.2: Appendix.A,
and consist of below two types of opcode tables.
1-byte/2-bytes/3-bytes opcodes, which has 256 elements, are
written as below;
Table: table-name
Referrer: escaped-name
opcode: mnemonic|GrpXXX [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]
(or)
opcode: escape # escaped-name
EndTable
Group opcodes, which has 8 elements, are written as below;
GrpTable: GrpXXX
reg: mnemonic [operand1[,operand2...]] [(extra1)[,(extra2)...] [| 2nd-mnemonic ...]
EndTable
These opcode maps include a few SSE and FP opcodes (for setup), because
those opcodes are used in the kernel.
Signed-off-by: Masami Hiramatsu <mhiramat@redhat.com >
Signed-off-by: Jim Keniston <jkenisto@us.ibm.com >
Acked-by: H. Peter Anvin <hpa@zytor.com >
Cc: Ananth N Mavinakayanahalli <ananth@in.ibm.com >
Cc: Avi Kivity <avi@redhat.com >
Cc: Andi Kleen <ak@linux.intel.com >
Cc: Christoph Hellwig <hch@infradead.org >
Cc: Frank Ch. Eigler <fche@redhat.com >
Cc: Ingo Molnar <mingo@elte.hu >
Cc: Jason Baron <jbaron@redhat.com >
Cc: K.Prasad <prasad@linux.vnet.ibm.com >
Cc: Lai Jiangshan <laijs@cn.fujitsu.com >
Cc: Li Zefan <lizf@cn.fujitsu.com >
Cc: Przemysław Pawełczyk <przemyslaw@pawelczyk.it >
Cc: Roland McGrath <roland@redhat.com >
Cc: Sam Ravnborg <sam@ravnborg.org >
Cc: Srikar Dronamraju <srikar@linux.vnet.ibm.com >
Cc: Steven Rostedt <rostedt@goodmis.org >
Cc: Tom Zanussi <tzanussi@gmail.com >
Cc: Vegard Nossum <vegard.nossum@gmail.com >
LKML-Reference: <20090813203413.31965.49709.stgit@localhost.localdomain >
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com >
2009-08-27 00:35:56 +02:00