Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Macros | Functions | Variables
op_model_mipsxx.c File Reference
#include <linux/cpumask.h>
#include <linux/oprofile.h>
#include <linux/interrupt.h>
#include <linux/smp.h>
#include <asm/irq_regs.h>
#include "op_impl.h"

Go to the source code of this file.

Macros

#define M_PERFCTL_EXL   (1UL << 0)
 
#define M_PERFCTL_KERNEL   (1UL << 1)
 
#define M_PERFCTL_SUPERVISOR   (1UL << 2)
 
#define M_PERFCTL_USER   (1UL << 3)
 
#define M_PERFCTL_INTERRUPT_ENABLE   (1UL << 4)
 
#define M_PERFCTL_EVENT(event)   (((event) & 0x3ff) << 5)
 
#define M_PERFCTL_VPEID(vpe)   ((vpe) << 16)
 
#define M_PERFCTL_MT_EN(filter)   ((filter) << 20)
 
#define M_TC_EN_ALL   M_PERFCTL_MT_EN(0)
 
#define M_TC_EN_VPE   M_PERFCTL_MT_EN(1)
 
#define M_TC_EN_TC   M_PERFCTL_MT_EN(2)
 
#define M_PERFCTL_TCID(tcid)   ((tcid) << 22)
 
#define M_PERFCTL_WIDE   (1UL << 30)
 
#define M_PERFCTL_MORE   (1UL << 31)
 
#define M_COUNTER_OVERFLOW   (1UL << 31)
 
#define WHAT   0
 
#define vpe_id()   0
 
#define __define_perf_accessors(r, n, np)
 
#define HANDLE_COUNTER(n)
 
#define M_CONFIG1_PC   (1 << 4)
 

Functions

 __define_perf_accessors (__define_perf_accessors(perfcntr, __define_perf_accessors(0, __define_perf_accessors(2)
 

Variables

 reg
 
struct op_mips_model op_model_mipsxx_ops
 

Macro Definition Documentation

#define __define_perf_accessors (   r,
  n,
  np 
)

Definition at line 81 of file op_model_mipsxx.c.

#define HANDLE_COUNTER (   n)
Value:
case n + 1: \
control = r_c0_perfctrl ## n(); \
counter = r_c0_perfcntr ## n(); \
oprofile_add_sample(get_irq_regs(), n); \
w_c0_perfcntr ## n(reg.counter[n]); \
handled = IRQ_HANDLED; \
}
#define M_CONFIG1_PC   (1 << 4)

Definition at line 245 of file op_model_mipsxx.c.

#define M_COUNTER_OVERFLOW   (1UL << 31)

Definition at line 32 of file op_model_mipsxx.c.

#define M_PERFCTL_EVENT (   event)    (((event) & 0x3ff) << 5)

Definition at line 22 of file op_model_mipsxx.c.

#define M_PERFCTL_EXL   (1UL << 0)

Definition at line 17 of file op_model_mipsxx.c.

#define M_PERFCTL_INTERRUPT_ENABLE   (1UL << 4)

Definition at line 21 of file op_model_mipsxx.c.

#define M_PERFCTL_KERNEL   (1UL << 1)

Definition at line 18 of file op_model_mipsxx.c.

#define M_PERFCTL_MORE   (1UL << 31)

Definition at line 30 of file op_model_mipsxx.c.

#define M_PERFCTL_MT_EN (   filter)    ((filter) << 20)

Definition at line 24 of file op_model_mipsxx.c.

#define M_PERFCTL_SUPERVISOR   (1UL << 2)

Definition at line 19 of file op_model_mipsxx.c.

#define M_PERFCTL_TCID (   tcid)    ((tcid) << 22)

Definition at line 28 of file op_model_mipsxx.c.

#define M_PERFCTL_USER   (1UL << 3)

Definition at line 20 of file op_model_mipsxx.c.

#define M_PERFCTL_VPEID (   vpe)    ((vpe) << 16)

Definition at line 23 of file op_model_mipsxx.c.

#define M_PERFCTL_WIDE   (1UL << 30)

Definition at line 29 of file op_model_mipsxx.c.

#define M_TC_EN_ALL   M_PERFCTL_MT_EN(0)

Definition at line 25 of file op_model_mipsxx.c.

#define M_TC_EN_TC   M_PERFCTL_MT_EN(2)

Definition at line 27 of file op_model_mipsxx.c.

#define M_TC_EN_VPE   M_PERFCTL_MT_EN(1)

Definition at line 26 of file op_model_mipsxx.c.

#define vpe_id ( )    0

Definition at line 62 of file op_model_mipsxx.c.

#define WHAT   0

Definition at line 61 of file op_model_mipsxx.c.

Function Documentation

__define_perf_accessors ( __define_perf_accessors(  perfcntr,
__define_perf_accessors(  0,
__define_perf_accessors(  2 
)

Definition at line 115 of file op_model_mipsxx.c.

Variable Documentation

struct op_mips_model op_model_mipsxx_ops
Initial value:
= {
.reg_setup = mipsxx_reg_setup,
.cpu_setup = mipsxx_cpu_setup,
.init = mipsxx_init,
.exit = mipsxx_exit,
.cpu_start = mipsxx_cpu_start,
.cpu_stop = mipsxx_cpu_stop,
}

Definition at line 404 of file op_model_mipsxx.c.

reg

Definition at line 130 of file op_model_mipsxx.c.