Main Page | Modules | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

Perf_cnt_arch Class Reference

#include <perf_cnt.h>

Inheritance diagram for Perf_cnt_arch:

Perf_cnt_p4 Perf_cnt_p5 Perf_cnt_p6 Perf_cnt_k7 List of all members.

Public Member Functions

virtual int init ()=0
virtual void set_pmc_event (Mword slot)=0
void touch_watchdog ()
Mword watchdog_allocated ()
Mword loadcnt_allocated ()
virtual void clear_pmc (Mword reg_nr)
void mode (Mword slot, const char **mode, Mword *event, Mword *user, Mword *kern, Mword *edge)
void setup_pmc (Mword slot, Mword bitmask, Mword event, Mword user, Mword kern, Mword edge)
virtual void start_pmc (Mword)
int have_watchdog ()
void setup_watchdog (Mword timeout)
void setup_loadcnt ()
virtual void init_watchdog ()
virtual void init_loadcnt ()
virtual void start_watchdog ()
virtual void stop_watchdog ()

Protected Member Functions

 Perf_cnt_arch (Mword sel_reg0, Mword ctr_reg0, Mword nr_regs, Mword watchdog)

Protected Attributes

Mword _nr_regs
Mword _sel_reg0
Mword _ctr_reg0
Mword _watchdog

Static Protected Attributes

static Mword pmc_watchdog = (Mword)-1
static Mword pmc_loadcnt = (Mword)-1
static Signed64 hold_watchdog
static Event pmc_event [Perf_cnt::Max_slot]
static char pmc_alloc [Perf_cnt::Max_pmc]

Private Member Functions

void alloc_watchdog ()
void alloc_loadcnt ()
int alloc_pmc (Mword slot, Mword bitmask)

Classes

struct  Event

Constructor & Destructor Documentation

Perf_cnt_arch::Perf_cnt_arch Mword  sel_reg0,
Mword  ctr_reg0,
Mword  nr_regs,
Mword  watchdog
[inline, protected]
 


Member Function Documentation

void Perf_cnt_arch::alloc_loadcnt  )  [private]
 

int Perf_cnt_arch::alloc_pmc Mword  slot,
Mword  bitmask
[private]
 

void Perf_cnt_arch::alloc_watchdog  )  [private]
 

void Perf_cnt_arch::clear_pmc Mword  reg_nr  )  [virtual]
 

int Perf_cnt_arch::have_watchdog  )  [inline]
 

virtual int Perf_cnt_arch::init  )  [pure virtual]
 

Implemented in Perf_cnt_p5, Perf_cnt_p6, and Perf_cnt_p4.

void Perf_cnt_arch::init_loadcnt  )  [virtual]
 

Reimplemented in Perf_cnt_p6, Perf_cnt_k7, and Perf_cnt_p4.

void Perf_cnt_arch::init_watchdog  )  [virtual]
 

Reimplemented in Perf_cnt_p6, Perf_cnt_k7, and Perf_cnt_p4.

Mword Perf_cnt_arch::loadcnt_allocated  )  [inline]
 

void Perf_cnt_arch::mode Mword  slot,
const char **  mode,
Mword *  event,
Mword *  user,
Mword *  kern,
Mword *  edge
 

virtual void Perf_cnt_arch::set_pmc_event Mword  slot  )  [pure virtual]
 

Implemented in Perf_cnt_p5, Perf_cnt_p6, and Perf_cnt_p4.

void Perf_cnt_arch::setup_loadcnt  ) 
 

void Perf_cnt_arch::setup_pmc Mword  slot,
Mword  bitmask,
Mword  event,
Mword  user,
Mword  kern,
Mword  edge
 

void Perf_cnt_arch::setup_watchdog Mword  timeout  ) 
 

void Perf_cnt_arch::start_pmc Mword   )  [virtual]
 

Reimplemented in Perf_cnt_p6, Perf_cnt_k7, and Perf_cnt_p4.

void Perf_cnt_arch::start_watchdog  )  [virtual]
 

Reimplemented in Perf_cnt_p6, and Perf_cnt_p4.

void Perf_cnt_arch::stop_watchdog  )  [virtual]
 

Reimplemented in Perf_cnt_p6, and Perf_cnt_p4.

void Perf_cnt_arch::touch_watchdog  )  [inline]
 

Mword Perf_cnt_arch::watchdog_allocated  )  [inline]
 


Member Data Documentation

Mword Perf_cnt_arch::_ctr_reg0 [protected]
 

Mword Perf_cnt_arch::_nr_regs [protected]
 

Mword Perf_cnt_arch::_sel_reg0 [protected]
 

Mword Perf_cnt_arch::_watchdog [protected]
 

Signed64 Perf_cnt_arch::hold_watchdog [static, protected]
 

char Perf_cnt_arch::pmc_alloc [static, protected]
 

Perf_cnt_arch::Event Perf_cnt_arch::pmc_event [static, protected]
 

Mword Perf_cnt_arch::pmc_loadcnt = (Mword)-1 [static, protected]
 

Mword Perf_cnt_arch::pmc_watchdog = (Mword)-1 [static, protected]
 


The documentation for this class was generated from the following files:
Generated on Mon Sep 26 14:20:16 2005 for Fiasco by  doxygen 1.4.2