• A
    perf tools: Add a test for decoding of new x86 instructions · 98e4619f
    Adrian Hunter 提交于
    Add a new test titled:
    
    	Test x86 instruction decoder - new instructions
    
    The purpose of this test is to check the instruction decoder after new
    instructions have been added.  Initially, MPX instructions are tested
    which are already supported, but the definitions in x86-opcode-map.txt
    will be tweaked in a subsequent patch, after which this test can be run
    to verify those changes.
    
    The data for the test comes from assembly language instructions in
    insn-x86-dat-src.c which is converted into bytes by the scripts
    gen-insn-x86-dat.sh and gen-insn-x86-dat.awk, and included into the test
    program insn-x86.c as insn-x86-dat-32.c and insn-x86-dat-64.c.
    
    The conversion is not done as part of the perf tools build because the
    test data must be under (git) change control in order for the test to be
    repeatably-correct.  Also it may require a recent version of binutils.
    
    Commiter notes:
    
    Using it:
    
      # perf test decoder
      39: Test x86 instruction decoder - new instructions          : Ok
      # perf test -v decoder
      39: Test x86 instruction decoder - new instructions          :
      --- start ---
      test child forked, pid 21970
      Decoded ok: 0f 31                	rdtsc
      Decoded ok: f3 0f 1b 00          	bndmk  (%eax),%bnd0
      Decoded ok: f3 0f 1b 05 78 56 34 12 	bndmk  0x12345678,%bnd0
      Decoded ok: f3 0f 1b 18          	bndmk  (%eax),%bnd3
      <SNIP>
      Decoded ok: f2 e9 00 00 00 00    	bnd jmpq 402 <main+0x402>
      Decoded ok: f2 e9 00 00 00 00    	bnd jmpq 408 <main+0x408>
      Decoded ok: 67 f2 ff 21          	bnd jmpq *(%ecx)
      Decoded ok: f2 0f 85 00 00 00 00 	bnd jne 413 <main+0x413>
      test child finished with 0
      ---- end ----
      Test x86 instruction decoder - new instructions: Ok
      #
    Signed-off-by: NAdrian Hunter <adrian.hunter@intel.com>
    Acked-by: NMasami Hiramatsu <masami.hiramatsu.pt@hitachi.com>
    Tested-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    Cc: "H. Peter Anvin" <hpa@zytor.com>
    Cc: Andy Lutomirski <luto@amacapital.net>
    Cc: Dave Hansen <dave.hansen@linux.intel.com>
    Cc: Denys Vlasenko <dvlasenk@redhat.com>
    Cc: Jiri Olsa <jolsa@redhat.com>
    Cc: Peter Zijlstra <peterz@infradead.org>
    Cc: Qiaowei Ren <qiaowei.ren@intel.com>
    Cc: Thomas Gleixner <tglx@linutronix.de>
    Link: http://lkml.kernel.org/r/1441196131-20632-3-git-send-email-adrian.hunter@intel.comSigned-off-by: NArnaldo Carvalho de Melo <acme@redhat.com>
    98e4619f
tests.h 2.0 KB