Logo Search packages:      
Sourcecode: linux-2.6 version File versions

op_model_xscale.c File Reference


Detailed Description

XScale Performance Monitor Driver

Remarks:
Copyright 2000-2004 Deepak Saxena <dsaxena@mvista.com>

Copyright 2000-2004 MontaVista Software Inc

Copyright 2004 Dave Jiang <dave.jiang@intel.com>

Copyright 2004 Intel Corporation

Copyright 2004 Zwane Mwaikambo <zwane@arm.linux.org.uk>

Copyright 2004 OProfile Authors

Read the file COPYING

Author:
Zwane Mwaikambo

Definition in file op_model_xscale.c.

#include <linux/types.h>
#include <linux/errno.h>
#include <linux/sched.h>
#include <linux/oprofile.h>
#include <linux/interrupt.h>
#include <asm/irq.h>
#include <asm/system.h>
#include "op_counter.h"
#include "op_arm_model.h"

Go to the source code of this file.

Classes

struct  pmu_counter
struct  pmu_type

Defines

#define CCNT_RESET   0x004
#define EVT_BCU_1_BIT_ERR   0x15
#define EVT_BCU_DRAIN   0x12
#define EVT_BCU_ECC_NO_ELOG   0x14
#define EVT_BCU_FULL   0x11
#define EVT_BCU_REQUEST   0x10
#define EVT_BRANCH   0x05
#define EVT_BRANCH_MISS   0x06
#define EVT_CCNT   0xFE
#define EVT_DATA_STALL   0x02
#define EVT_DCACE_WRITE_BACK   0x0C
#define EVT_DCACHE_ACCESS   0x0A
#define EVT_DCACHE_FULL_STALL   0x08
#define EVT_DCACHE_FULL_STALL_CONTIG   0x09
#define EVT_DCACHE_MISS   0x0B
#define EVT_DTLB_MISS   0x04
#define EVT_ICACHE_MISS   0x00
#define EVT_ICACHE_NO_DELIVER   0x01
#define EVT_INSTRUCTION   0x07
#define EVT_ITLB_MISS   0x03
#define EVT_PC_CHANGED   0x0D
#define EVT_RMW   0x16
#define EVT_UNUSED   0xFF
#define PMN_RESET   0x002
#define PMU_CNT64   0x008
#define PMU_ENABLE   0x001
#define PMU_RESET   (CCNT_RESET | PMN_RESET)

Enumerations

enum  {
  CCNT, PMN0, PMN1, PMN2,
  PMN3, MAX_COUNTERS
}
enum  { PMU_XSC1, PMU_XSC2 }

Functions

static void __xsc1_check_ctrs (void)
static u32 __xsc1_read_counter (int counter)
static void __xsc1_write_counter (int counter, u32 val)
static void __xsc2_check_ctrs (void)
static u32 __xsc2_read_counter (int counter)
static void __xsc2_write_counter (int counter, u32 val)
static u32 read_counter (int counter)
static u32 read_pmnc (void)
static void write_counter (int counter, u32 val)
static void write_pmnc (u32 val)
static int xscale_detect_pmu (void)
static irqreturn_t xscale_pmu_interrupt (int irq, void *arg, struct pt_regs *regs)
static int xscale_pmu_start (void)
static void xscale_pmu_stop (void)
static int xscale_setup_ctrs (void)

Variables

struct op_arm_model_spec op_xscale_spec
static struct pmu_type * pmu
static struct pmu_type pmu_parms []
static struct pmu_counter results [MAX_COUNTERS]


Generated by  Doxygen 1.6.0   Back to index