lkml.org 
[lkml]   [2015]   [Sep]   [3]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRE: [PATCH V2 6/7] x86/insn: perf tools: Add new memory protection keys instructions
    Date
    > From: Adrian Hunter [mailto:adrian.hunter@intel.com]
    >
    > Add rdpkru and wrpkru to the op code map and the perf tools
    > new instructions test. In the case of the test, only the
    > bytes can be tested at the moment since binutils doesn't
    > support the instructions yet. To run the test:
    >
    > $ tools/perf/perf test "x86 ins"
    > 39: Test x86 instruction decoder - new instructions : Ok
    >
    > Or to see the details:
    >
    > $ tools/perf/perf test -v "x86 ins" 2>&1 | grep pkru
    >
    > For information about rdpkru and wrpkru, refer the Intel SDM.

    Looks very nice to me.


    Acked-by: Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>


    Thanks!

    >
    > Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
    > ---
    > arch/x86/lib/x86-opcode-map.txt | 2 +-
    > tools/perf/tests/insn-x86.c | 4 ++++
    > tools/perf/util/intel-pt-decoder/x86-opcode-map.txt | 2 +-
    > 3 files changed, 6 insertions(+), 2 deletions(-)
    >
    > diff --git a/arch/x86/lib/x86-opcode-map.txt b/arch/x86/lib/x86-opcode-map.txt
    > index f4f0451a301e..5a9705ed9139 100644
    > --- a/arch/x86/lib/x86-opcode-map.txt
    > +++ b/arch/x86/lib/x86-opcode-map.txt
    > @@ -885,7 +885,7 @@ GrpTable: Grp7
    > 2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B)
    > 3: LIDT Ms
    > 4: SMSW Mw/Rv
    > -5:
    > +5: rdpkru (110),(11B) | wrpkru (111),(11B)
    > 6: LMSW Ew
    > 7: INVLPG Mb | SWAPGS (o64),(000),(11B) | RDTSCP (001),(11B)
    > EndTable
    > diff --git a/tools/perf/tests/insn-x86.c b/tools/perf/tests/insn-x86.c
    > index 0e126a099874..5c49eec81349 100644
    > --- a/tools/perf/tests/insn-x86.c
    > +++ b/tools/perf/tests/insn-x86.c
    > @@ -17,11 +17,15 @@ struct test_data {
    >
    > struct test_data test_data_32[] = {
    > #include "insn-x86-dat-32.c"
    > + {{0x0f, 0x01, 0xee}, 3, 0, NULL, NULL, "0f 01 ee \trdpkru"},
    > + {{0x0f, 0x01, 0xef}, 3, 0, NULL, NULL, "0f 01 ef \twrpkru"},
    > {{0}, 0, 0, NULL, NULL, NULL},
    > };
    >
    > struct test_data test_data_64[] = {
    > #include "insn-x86-dat-64.c"
    > + {{0x0f, 0x01, 0xee}, 3, 0, NULL, NULL, "0f 01 ee \trdpkru"},
    > + {{0x0f, 0x01, 0xef}, 3, 0, NULL, NULL, "0f 01 ef \twrpkru"},
    > {{0}, 0, 0, NULL, NULL, NULL},
    > };
    >
    > diff --git a/tools/perf/util/intel-pt-decoder/x86-opcode-map.txt b/tools/perf/util/intel-pt-decoder/x86-opcode-map.txt
    > index f4f0451a301e..5a9705ed9139 100644
    > --- a/tools/perf/util/intel-pt-decoder/x86-opcode-map.txt
    > +++ b/tools/perf/util/intel-pt-decoder/x86-opcode-map.txt
    > @@ -885,7 +885,7 @@ GrpTable: Grp7
    > 2: LGDT Ms | XGETBV (000),(11B) | XSETBV (001),(11B) | VMFUNC (100),(11B) | XEND (101)(11B) | XTEST (110)(11B)
    > 3: LIDT Ms
    > 4: SMSW Mw/Rv
    > -5:
    > +5: rdpkru (110),(11B) | wrpkru (111),(11B)
    > 6: LMSW Ew
    > 7: INVLPG Mb | SWAPGS (o64),(000),(11B) | RDTSCP (001),(11B)
    > EndTable
    > --
    > 1.9.1

    \
     
     \ /
      Last update: 2015-09-03 18:21    [W:8.432 / U:0.528 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site