From: Adrian Hunter <adrian.hunter@intel.com>
To: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: linux-kernel@vger.kernel.org, Jiri Olsa <jolsa@redhat.com>,
Andy Lutomirski <luto@amacapital.net>,
Masami Hiramatsu <masami.hiramatsu.pt@hitachi.com>,
Denys Vlasenko <dvlasenk@redhat.com>,
Peter Zijlstra <peterz@infradead.org>,
Ingo Molnar <mingo@kernel.org>,
Dave Hansen <dave.hansen@linux.intel.com>,
Qiaowei Ren <qiaowei.ren@intel.com>,
"H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>
Subject: [PATCH V2 6/7] x86/insn: perf tools: Add new memory protection keys instructions
Date: Wed, 2 Sep 2015 15:15:30 +0300 [thread overview]
Message-ID: <1441196131-20632-7-git-send-email-adrian.hunter@intel.com> (raw)
In-Reply-To: <1441196131-20632-1-git-send-email-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.
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
next prev parent reply other threads:[~2015-09-02 12:19 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-09-02 12:15 [PATCH V2 0/7] x86/insn: perf tools: Add a few new x86 instructions Adrian Hunter
2015-09-02 12:15 ` [PATCH V2 1/7] perf tools: Display build warning if x86 instruction decoder differs from kernel Adrian Hunter
2015-09-03 15:50 ` 平松雅巳 / HIRAMATU,MASAMI
2015-09-08 14:36 ` [tip:perf/core] " tip-bot for Adrian Hunter
2015-09-02 12:15 ` [PATCH V2 2/7] perf tools: Add a test for decoding of new x86 instructions Adrian Hunter
2015-09-08 14:36 ` [tip:perf/core] " tip-bot for Adrian Hunter
2015-09-02 12:15 ` [PATCH V2 3/7] x86/insn: perf tools: Pedantically tweak opcode map for MPX instructions Adrian Hunter
2015-09-03 16:01 ` 平松雅巳 / HIRAMATU,MASAMI
2015-09-08 14:36 ` [tip:perf/core] " tip-bot for Adrian Hunter
2015-09-02 12:15 ` [PATCH V2 4/7] x86/insn: perf tools: Add new SHA instructions Adrian Hunter
2015-09-08 14:37 ` [tip:perf/core] " tip-bot for Adrian Hunter
2015-09-02 12:15 ` [PATCH V2 5/7] x86/insn: perf tools: Add new memory instructions Adrian Hunter
2015-09-03 16:11 ` 平松雅巳 / HIRAMATU,MASAMI
2015-09-08 14:37 ` [tip:perf/core] " tip-bot for Adrian Hunter
2015-09-02 12:15 ` Adrian Hunter [this message]
2015-09-03 16:00 ` [PATCH V2 6/7] x86/insn: perf tools: Add new memory protection keys instructions 平松雅巳 / HIRAMATU,MASAMI
2015-09-08 14:37 ` [tip:perf/core] " tip-bot for Adrian Hunter
2015-09-02 12:15 ` [PATCH V2 7/7] x86/insn: perf tools: Add new xsave instructions Adrian Hunter
2015-09-03 16:21 ` 平松雅巳 / HIRAMATU,MASAMI
2015-09-08 14:38 ` [tip:perf/core] " tip-bot for Adrian Hunter
2015-09-02 19:54 ` [PATCH V2 0/7] x86/insn: perf tools: Add a few new x86 instructions Arnaldo Carvalho de Melo
2015-09-03 11:01 ` Adrian Hunter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1441196131-20632-7-git-send-email-adrian.hunter@intel.com \
--to=adrian.hunter@intel.com \
--cc=acme@kernel.org \
--cc=dave.hansen@linux.intel.com \
--cc=dvlasenk@redhat.com \
--cc=hpa@zytor.com \
--cc=jolsa@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=luto@amacapital.net \
--cc=masami.hiramatsu.pt@hitachi.com \
--cc=mingo@kernel.org \
--cc=peterz@infradead.org \
--cc=qiaowei.ren@intel.com \
--cc=tglx@linutronix.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox