diff options
Diffstat (limited to 'kernel/hw_breakpoint.c')
| -rw-r--r-- | kernel/hw_breakpoint.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/kernel/hw_breakpoint.c b/kernel/hw_breakpoint.c index e34d94d50924..d71a987fd2bf 100644 --- a/kernel/hw_breakpoint.c +++ b/kernel/hw_breakpoint.c | |||
| @@ -242,6 +242,17 @@ toggle_bp_slot(struct perf_event *bp, bool enable, enum bp_type_idx type, | |||
| 242 | } | 242 | } |
| 243 | 243 | ||
| 244 | /* | 244 | /* |
| 245 | * Function to perform processor-specific cleanup during unregistration | ||
| 246 | */ | ||
| 247 | __weak void arch_unregister_hw_breakpoint(struct perf_event *bp) | ||
| 248 | { | ||
| 249 | /* | ||
| 250 | * A weak stub function here for those archs that don't define | ||
| 251 | * it inside arch/.../kernel/hw_breakpoint.c | ||
| 252 | */ | ||
| 253 | } | ||
| 254 | |||
| 255 | /* | ||
| 245 | * Contraints to check before allowing this new breakpoint counter: | 256 | * Contraints to check before allowing this new breakpoint counter: |
| 246 | * | 257 | * |
| 247 | * == Non-pinned counter == (Considered as pinned for now) | 258 | * == Non-pinned counter == (Considered as pinned for now) |
| @@ -343,6 +354,7 @@ void release_bp_slot(struct perf_event *bp) | |||
| 343 | { | 354 | { |
| 344 | mutex_lock(&nr_bp_mutex); | 355 | mutex_lock(&nr_bp_mutex); |
| 345 | 356 | ||
| 357 | arch_unregister_hw_breakpoint(bp); | ||
| 346 | __release_bp_slot(bp); | 358 | __release_bp_slot(bp); |
| 347 | 359 | ||
| 348 | mutex_unlock(&nr_bp_mutex); | 360 | mutex_unlock(&nr_bp_mutex); |
