]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - kernel/hw_breakpoint.c
hw_breakpoints: Allow arch-specific cleanup before breakpoint unregistration
[karo-tx-linux.git] / kernel / hw_breakpoint.c
index 7a56b22e0602f0b37338c189110d65c07e7cc730..71ed3ce29e12e7d2dbe25d9e4b92e8d46a71fecd 100644 (file)
@@ -241,6 +241,17 @@ toggle_bp_slot(struct perf_event *bp, bool enable, enum bp_type_idx type,
                per_cpu(nr_cpu_bp_pinned[type], bp->cpu) -= weight;
 }
 
+/*
+ * Function to perform processor-specific cleanup during unregistration
+ */
+__weak void arch_unregister_hw_breakpoint(struct perf_event *bp)
+{
+       /*
+        * A weak stub function here for those archs that don't define
+        * it inside arch/.../kernel/hw_breakpoint.c
+        */
+}
+
 /*
  * Contraints to check before allowing this new breakpoint counter:
  *
@@ -339,6 +350,7 @@ void release_bp_slot(struct perf_event *bp)
 {
        mutex_lock(&nr_bp_mutex);
 
+       arch_unregister_hw_breakpoint(bp);
        __release_bp_slot(bp);
 
        mutex_unlock(&nr_bp_mutex);