diff options
Diffstat (limited to 'arch/i386/oprofile')
-rw-r--r-- | arch/i386/oprofile/nmi_int.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/i386/oprofile/nmi_int.c b/arch/i386/oprofile/nmi_int.c index fa8a37bcb391..c8c1df8ff2b4 100644 --- a/arch/i386/oprofile/nmi_int.c +++ b/arch/i386/oprofile/nmi_int.c | |||
@@ -13,6 +13,7 @@ | |||
13 | #include <linux/oprofile.h> | 13 | #include <linux/oprofile.h> |
14 | #include <linux/sysdev.h> | 14 | #include <linux/sysdev.h> |
15 | #include <linux/slab.h> | 15 | #include <linux/slab.h> |
16 | #include <linux/moduleparam.h> | ||
16 | #include <asm/nmi.h> | 17 | #include <asm/nmi.h> |
17 | #include <asm/msr.h> | 18 | #include <asm/msr.h> |
18 | #include <asm/apic.h> | 19 | #include <asm/apic.h> |
@@ -296,12 +297,14 @@ static int nmi_create_files(struct super_block * sb, struct dentry * root) | |||
296 | return 0; | 297 | return 0; |
297 | } | 298 | } |
298 | 299 | ||
300 | static int p4force; | ||
301 | module_param(p4force, int, 0); | ||
299 | 302 | ||
300 | static int __init p4_init(char ** cpu_type) | 303 | static int __init p4_init(char ** cpu_type) |
301 | { | 304 | { |
302 | __u8 cpu_model = boot_cpu_data.x86_model; | 305 | __u8 cpu_model = boot_cpu_data.x86_model; |
303 | 306 | ||
304 | if (cpu_model > 4) | 307 | if (!p4force && (cpu_model > 6 || cpu_model == 5)) |
305 | return 0; | 308 | return 0; |
306 | 309 | ||
307 | #ifndef CONFIG_SMP | 310 | #ifndef CONFIG_SMP |