diff options
Diffstat (limited to 'arch/x86/kernel/cpu/perf_event_intel_ds.c')
-rw-r--r-- | arch/x86/kernel/cpu/perf_event_intel_ds.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/x86/kernel/cpu/perf_event_intel_ds.c b/arch/x86/kernel/cpu/perf_event_intel_ds.c index 826054a4f2ee..b05a575d56f4 100644 --- a/arch/x86/kernel/cpu/perf_event_intel_ds.c +++ b/arch/x86/kernel/cpu/perf_event_intel_ds.c | |||
@@ -729,3 +729,13 @@ void intel_ds_init(void) | |||
729 | } | 729 | } |
730 | } | 730 | } |
731 | } | 731 | } |
732 | |||
733 | void perf_restore_debug_store(void) | ||
734 | { | ||
735 | struct debug_store *ds = __this_cpu_read(cpu_hw_events.ds); | ||
736 | |||
737 | if (!x86_pmu.bts && !x86_pmu.pebs) | ||
738 | return; | ||
739 | |||
740 | wrmsrl(MSR_IA32_DS_AREA, (unsigned long)ds); | ||
741 | } | ||