#include <linux/oprofile.h>
#include <linux/sysdev.h>
#include <linux/slab.h>
-#include <linux/moduleparam.h>
#include <asm/nmi.h>
#include <asm/msr.h>
#include <asm/apic.h>
static void free_msrs(void)
{
int i;
- for_each_possible_cpu(i) {
+ for (i = 0; i < NR_CPUS; ++i) {
kfree(cpu_msrs[i].counters);
cpu_msrs[i].counters = NULL;
kfree(cpu_msrs[i].controls);
size_t counters_size = sizeof(struct op_msr) * model->num_counters;
int i;
- for_each_online_cpu(i) {
+ for (i = 0; i < NR_CPUS; ++i) {
+ if (!cpu_online(i))
+ continue;
+
cpu_msrs[i].counters = kmalloc(counters_size, GFP_KERNEL);
if (!cpu_msrs[i].counters) {
success = 0;
for (i = 0; i < model->num_counters; ++i) {
struct dentry * dir;
- char buf[4];
+ char buf[2];
- snprintf(buf, sizeof(buf), "%d", i);
+ snprintf(buf, 2, "%d", i);
dir = oprofilefs_mkdir(sb, root, buf);
oprofilefs_create_ulong(sb, dir, "enabled", &counter_config[i].enabled);
oprofilefs_create_ulong(sb, dir, "event", &counter_config[i].event);
return 0;
}
-static int p4force;
-module_param(p4force, int, 0);
static int __init p4_init(char ** cpu_type)
{
__u8 cpu_model = boot_cpu_data.x86_model;
- if (!p4force && (cpu_model > 6 || cpu_model == 5))
+ if (cpu_model > 4)
return 0;
#ifndef CONFIG_SMP
{
__u8 cpu_model = boot_cpu_data.x86_model;
- if (cpu_model == 14)
- *cpu_type = "i386/core";
- else if (cpu_model == 15)
- *cpu_type = "i386/core_2";
- else if (cpu_model > 0xd)
+ if (cpu_model > 0xd)
return 0;
- else if (cpu_model == 9) {
+
+ if (cpu_model == 9) {
*cpu_type = "i386/p6_mobile";
} else if (cpu_model > 5) {
*cpu_type = "i386/piii";