diff options
| author | Ingo Molnar <mingo@elte.hu> | 2009-09-07 02:19:51 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@elte.hu> | 2009-09-07 02:19:51 -0400 |
| commit | a1922ed661ab2c1637d0b10cde933bd9cd33d965 (patch) | |
| tree | 0f1777542b385ebefd30b3586d830fd8ed6fda5b /arch/x86/kernel/cpu/perfctr-watchdog.c | |
| parent | 75e33751ca8bbb72dd6f1a74d2810ddc8cbe4bdf (diff) | |
| parent | d28daf923ac5e4a0d7cecebae56f3e339189366b (diff) | |
Merge branch 'tracing/core' into tracing/hw-breakpoints
Conflicts:
arch/Kconfig
kernel/trace/trace.h
Merge reason: resolve the conflicts, plus adopt to the new
ring-buffer APIs.
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/cpu/perfctr-watchdog.c')
| -rw-r--r-- | arch/x86/kernel/cpu/perfctr-watchdog.c | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/arch/x86/kernel/cpu/perfctr-watchdog.c b/arch/x86/kernel/cpu/perfctr-watchdog.c index d6f5b9fbde32..e60ed740d2b3 100644 --- a/arch/x86/kernel/cpu/perfctr-watchdog.c +++ b/arch/x86/kernel/cpu/perfctr-watchdog.c | |||
| @@ -716,11 +716,15 @@ static void probe_nmi_watchdog(void) | |||
| 716 | wd_ops = &k7_wd_ops; | 716 | wd_ops = &k7_wd_ops; |
| 717 | break; | 717 | break; |
| 718 | case X86_VENDOR_INTEL: | 718 | case X86_VENDOR_INTEL: |
| 719 | /* | 719 | /* Work around where perfctr1 doesn't have a working enable |
| 720 | * Work around Core Duo (Yonah) errata AE49 where perfctr1 | 720 | * bit as described in the following errata: |
| 721 | * doesn't have a working enable bit. | 721 | * AE49 Core Duo and Intel Core Solo 65 nm |
| 722 | * AN49 Intel Pentium Dual-Core | ||
| 723 | * AF49 Dual-Core Intel Xeon Processor LV | ||
| 722 | */ | 724 | */ |
| 723 | if (boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model == 14) { | 725 | if ((boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model == 14) || |
| 726 | ((boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model == 15 && | ||
| 727 | boot_cpu_data.x86_mask == 4))) { | ||
| 724 | intel_arch_wd_ops.perfctr = MSR_ARCH_PERFMON_PERFCTR0; | 728 | intel_arch_wd_ops.perfctr = MSR_ARCH_PERFMON_PERFCTR0; |
| 725 | intel_arch_wd_ops.evntsel = MSR_ARCH_PERFMON_EVENTSEL0; | 729 | intel_arch_wd_ops.evntsel = MSR_ARCH_PERFMON_EVENTSEL0; |
| 726 | } | 730 | } |
| @@ -799,8 +803,3 @@ int __kprobes lapic_wd_event(unsigned nmi_hz) | |||
| 799 | wd_ops->rearm(wd, nmi_hz); | 803 | wd_ops->rearm(wd, nmi_hz); |
| 800 | return 1; | 804 | return 1; |
| 801 | } | 805 | } |
| 802 | |||
| 803 | int lapic_watchdog_ok(void) | ||
| 804 | { | ||
| 805 | return wd_ops != NULL; | ||
| 806 | } | ||
