]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - arch/powerpc/oprofile/op_model_7450.c
PowerPC: Disable SLUB for configurations in which slab page structs are modified
[linux-2.6.git] / arch / powerpc / oprofile / op_model_7450.c
index 32abfdbb0eb147f7e0eb7605632bbe98faadf1a5..5d1bbaf35ccbe3db836aba30934fb4b5dd6adc14 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * oprofile/op_model_7450.c
+ * arch/powerpc/oprofile/op_model_7450.c
  *
  * Freescale 745x/744x oprofile support, based on fsl_booke support
  * Copyright (C) 2004 Anton Blanchard <anton@au.ibm.com>, IBM
@@ -81,7 +81,7 @@ static void pmc_stop_ctrs(void)
 
 /* Configures the counters on this CPU based on the global
  * settings */
-static void fsl7450_cpu_setup(void *unused)
+static void fsl7450_cpu_setup(struct op_counter_config *ctr)
 {
        /* freeze all counters */
        pmc_stop_ctrs();
@@ -137,9 +137,9 @@ static void fsl7450_start(struct op_counter_config *ctr)
 
        for (i = 0; i < NUM_CTRS; ++i) {
                if (ctr[i].enabled)
-                       ctr_write(i, reset_value[i]);
+                       classic_ctr_write(i, reset_value[i]);
                else
-                       ctr_write(i, 0);
+                       classic_ctr_write(i, 0);
        }
 
        /* Clear the freeze bit, and enable the interrupt.
@@ -176,16 +176,16 @@ static void fsl7450_handle_interrupt(struct pt_regs *regs,
        mtmsr(mfmsr() | MSR_PMM);
 
        pc = mfspr(SPRN_SIAR);
-       is_kernel = (pc >= KERNELBASE);
+       is_kernel = is_kernel_addr(pc);
 
        for (i = 0; i < NUM_CTRS; ++i) {
-               val = ctr_read(i);
+               val = classic_ctr_read(i);
                if (val < 0) {
                        if (oprofile_running && ctr[i].enabled) {
-                               oprofile_add_pc(pc, is_kernel, i);
-                               ctr_write(i, reset_value[i]);
+                               oprofile_add_ext_sample(pc, regs, i, is_kernel);
+                               classic_ctr_write(i, reset_value[i]);
                        } else {
-                               ctr_write(i, 0);
+                               classic_ctr_write(i, 0);
                        }
                }
        }