perf/x86/amd: AMD support for bp_len > HW_BREAKPOINT_LEN_8
authorJacob Shin <jacob.w.shin@gmail.com>
Thu, 29 May 2014 15:26:50 +0000 (17:26 +0200)
committerFrederic Weisbecker <fweisbec@gmail.com>
Wed, 3 Dec 2014 14:14:26 +0000 (15:14 +0100)
commitd6d55f0b9d900673548515614b56ab55aa2c51f8
tree2c5d9bdff4444fec201a014e071e718a0f34d8aa
parent4e6e311e596eadba30d4f56f64eae7d45611a01c
perf/x86/amd: AMD support for bp_len > HW_BREAKPOINT_LEN_8

Implement hardware breakpoint address mask for AMD Family 16h and
above processors. CPUID feature bit indicates hardware support for
DRn_ADDR_MASK MSRs. These masks further qualify DRn/DR7 hardware
breakpoint addresses to allow matching of larger addresses ranges.

Valuable advice and pseudo code from Oleg Nesterov <oleg@redhat.com>

Signed-off-by: Jacob Shin <jacob.w.shin@gmail.com>
Signed-off-by: Suravee Suthikulpanit <suravee.suthikulpanit@amd.com>
Acked-by: Jiri Olsa <jolsa@kernel.org>
Reviewed-by: Oleg Nesterov <oleg@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@ghostprotocols.net>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: Namhyung Kim <namhyung@kernel.org>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: xiakaixu <xiakaixu@huawei.com>
Signed-off-by: Frederic Weisbecker <fweisbec@gmail.com>
arch/x86/include/asm/cpufeature.h
arch/x86/include/asm/debugreg.h
arch/x86/include/asm/hw_breakpoint.h
arch/x86/include/uapi/asm/msr-index.h
arch/x86/kernel/cpu/amd.c
arch/x86/kernel/hw_breakpoint.c