From: Suravee Suthikulpanit <suravee.suthikulpa...@amd.com> The following patchset enables hardware breakpoint bp_len greater than HW_BREAKPOINT_LEN_8 on AMD Family 16h and later.
$ perf stat -e mem:0x1000/16:w a.out ^^ bp_len This will count writes to [0x1000 ~ 0x1010) V6: * Minor clean up in patch 1 and 2 based on comment from Frederic and Oleg. * Split out changes in patch1 into patch4 per Frederic request. V5: * Rebase onto 3.12.0-rc3. * Modify the tools/perf/util/parse-events.y due to change in parse_events_add_breakpoint(). V4: Even more per Oleg's suggestion: * Further simplify info->len and info->mask setting switch statement V3: More per Oleg's suggestion: * Use already existing bp_len instead of changing userland API and in kernel turn bp_len into proper AMD hardware breakpoint address mask. V2: Per Oleg's suggestions: * Moved testing of bp_addr_mask to validate_hw_breakpoint() * Changed perf tool syntax to mem:<addr>[/addr_mask][:access] Jacob Shin (4): perf/x86/amd: AMD support for bp_len > HW_BREAKPOINT_LEN_8 perf tools: allow user to specify hardware breakpoint bp_len perf tools: add hardware breakpoint bp_len test cases perf/x86: Remove get_hbp_len and replace with bp_len arch/x86/include/asm/cpufeature.h | 2 ++ arch/x86/include/asm/debugreg.h | 5 +++ arch/x86/include/asm/hw_breakpoint.h | 1 + arch/x86/include/uapi/asm/msr-index.h | 4 +++ arch/x86/kernel/cpu/amd.c | 19 +++++++++++ arch/x86/kernel/hw_breakpoint.c | 45 ++++++++++---------------- tools/perf/Documentation/perf-record.txt | 7 ++-- tools/perf/tests/parse-events.c | 55 ++++++++++++++++++++++++++++++++ tools/perf/util/parse-events.c | 21 ++++++------ tools/perf/util/parse-events.h | 2 +- tools/perf/util/parse-events.l | 1 + tools/perf/util/parse-events.y | 26 +++++++++++++-- 12 files changed, 145 insertions(+), 43 deletions(-) -- 1.8.1.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/