[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] NMI watchdog: use new counter on Core/Core2 CPUs
# HG changeset patch # User Keir Fraser <keir.fraser@xxxxxxxxxx> # Date 1224249337 -3600 # Node ID 4129f0f2f2ba5c9bef9fcff65dae64a61285da39 # Parent 3411819435b9d8f5ea51863edd0da81a4891cf66 NMI watchdog: use new counter on Core/Core2 CPUs The old CPU_CLK_UNHALTED performance counter no longer runs on Core or Core2 CPUs. Use the new CPU_CLK_UNHALTED.CORE_P one. Signed-off-by: Tim Deegan <Tim.Deegan@xxxxxxxxxx> --- xen/arch/x86/nmi.c | 12 +++++++----- 1 files changed, 7 insertions(+), 5 deletions(-) diff -r 3411819435b9 -r 4129f0f2f2ba xen/arch/x86/nmi.c --- a/xen/arch/x86/nmi.c Fri Oct 17 12:12:50 2008 +0100 +++ b/xen/arch/x86/nmi.c Fri Oct 17 14:15:37 2008 +0100 @@ -72,8 +72,8 @@ int nmi_active; #define P6_EVNTSEL_INT (1 << 20) #define P6_EVNTSEL_OS (1 << 17) #define P6_EVNTSEL_USR (1 << 16) -#define P6_EVENT_CPU_CLOCKS_NOT_HALTED 0x79 -#define P6_NMI_EVENT P6_EVENT_CPU_CLOCKS_NOT_HALTED +#define P6_EVENT_CPU_CLOCKS_NOT_HALTED 0x79 +#define CORE_EVENT_CPU_CLOCKS_NOT_HALTED 0x3c #define P4_ESCR_EVENT_SELECT(N) ((N)<<25) #define P4_CCCR_OVF_PMI0 (1<<26) @@ -248,7 +248,7 @@ static void __pminit setup_k7_watchdog(v wrmsr(MSR_K7_EVNTSEL0, evntsel, 0); } -static void __pminit setup_p6_watchdog(void) +static void __pminit setup_p6_watchdog(unsigned counter) { unsigned int evntsel; @@ -260,7 +260,7 @@ static void __pminit setup_p6_watchdog(v evntsel = P6_EVNTSEL_INT | P6_EVNTSEL_OS | P6_EVNTSEL_USR - | P6_NMI_EVENT; + | counter; wrmsr(MSR_P6_EVNTSEL0, evntsel, 0); write_watchdog_counter("P6_PERFCTR0"); @@ -326,7 +326,9 @@ void __pminit setup_apic_nmi_watchdog(vo case X86_VENDOR_INTEL: switch (boot_cpu_data.x86) { case 6: - setup_p6_watchdog(); + setup_p6_watchdog((boot_cpu_data.x86_model < 14) + ? P6_EVENT_CPU_CLOCKS_NOT_HALTED + : CORE_EVENT_CPU_CLOCKS_NOT_HALTED); break; case 15: if (!setup_p4_watchdog()) _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |