diff options
| author | Jacob Shin <jacob.w.shin@gmail.com> | 2014-05-29 11:26:53 -0400 |
|---|---|---|
| committer | Frederic Weisbecker <fweisbec@gmail.com> | 2014-12-03 09:14:30 -0500 |
| commit | 36748b9518a2437beffe861b47dff6d12b736b3f (patch) | |
| tree | d824cb082a151a480ab4bacb0d838a2b1ac8f1c2 | |
| parent | ec32398c231a019d39017afee490728ab3b60b92 (diff) | |
perf/x86: Remove get_hbp_len and replace with bp_len
Clean up the logic for determining the breakpoint length
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>
| -rw-r--r-- | arch/x86/kernel/hw_breakpoint.c | 25 |
1 files changed, 1 insertions, 24 deletions
diff --git a/arch/x86/kernel/hw_breakpoint.c b/arch/x86/kernel/hw_breakpoint.c index b5cb0c59ea87..7114ba220fd4 100644 --- a/arch/x86/kernel/hw_breakpoint.c +++ b/arch/x86/kernel/hw_breakpoint.c | |||
| @@ -167,29 +167,6 @@ void arch_uninstall_hw_breakpoint(struct perf_event *bp) | |||
| 167 | set_dr_addr_mask(0, i); | 167 | set_dr_addr_mask(0, i); |
| 168 | } | 168 | } |
| 169 | 169 | ||
| 170 | static int get_hbp_len(u8 hbp_len) | ||
| 171 | { | ||
| 172 | unsigned int len_in_bytes = 0; | ||
| 173 | |||
| 174 | switch (hbp_len) { | ||
| 175 | case X86_BREAKPOINT_LEN_1: | ||
| 176 | len_in_bytes = 1; | ||
| 177 | break; | ||
| 178 | case X86_BREAKPOINT_LEN_2: | ||
| 179 | len_in_bytes = 2; | ||
| 180 | break; | ||
| 181 | case X86_BREAKPOINT_LEN_4: | ||
| 182 | len_in_bytes = 4; | ||
| 183 | break; | ||
| 184 | #ifdef CONFIG_X86_64 | ||
| 185 | case X86_BREAKPOINT_LEN_8: | ||
| 186 | len_in_bytes = 8; | ||
| 187 | break; | ||
| 188 | #endif | ||
| 189 | } | ||
| 190 | return len_in_bytes; | ||
| 191 | } | ||
| 192 | |||
| 193 | /* | 170 | /* |
| 194 | * Check for virtual address in kernel space. | 171 | * Check for virtual address in kernel space. |
| 195 | */ | 172 | */ |
| @@ -200,7 +177,7 @@ int arch_check_bp_in_kernelspace(struct perf_event *bp) | |||
| 200 | struct arch_hw_breakpoint *info = counter_arch_bp(bp); | 177 | struct arch_hw_breakpoint *info = counter_arch_bp(bp); |
| 201 | 178 | ||
| 202 | va = info->address; | 179 | va = info->address; |
| 203 | len = get_hbp_len(info->len); | 180 | len = bp->attr.bp_len; |
| 204 | 181 | ||
| 205 | return (va >= TASK_SIZE) && ((va + len - 1) >= TASK_SIZE); | 182 | return (va >= TASK_SIZE) && ((va + len - 1) >= TASK_SIZE); |
| 206 | } | 183 | } |
