00001
00002
00003 #ifndef kern_cnt_h
00004 #define kern_cnt_h
00005
00006 #include "types.h"
00007
00008
00009
00010
00011
00012
00013 class Kern_cnt
00014 {
00015 private:
00016 enum {
00017 Max_slot = 2,
00018 };
00019
00020 static Mword *kcnt[Max_slot];
00021 static Mword (*read_kcnt_fn[Max_slot])();
00022
00023 public:
00024 static Mword* get_ctr(int num);
00025
00026 static const char * const get_str(Mword num);
00027
00028 static int mode(Mword slot, const char **mode, const char **name, Mword *event);
00029
00030 static int setup_pmc(Mword slot, Mword event);
00031
00032 private:
00033 static Mword read_kcnt1();
00034
00035 static Mword read_kcnt2();
00036 };
00037
00038 #endif // kern_cnt_h