Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 158206
b: refs/heads/master
c: dea3766
h: refs/heads/master
v: v3
  • Loading branch information
Robert Richter committed Jun 11, 2009
1 parent 1069394 commit a7b35db
Show file tree
Hide file tree
Showing 4 changed files with 17 additions and 19 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 42399adb239d4f1413899cc618ecf640779e79df
refs/heads/master: dea3766ca052a4f572b16a23a322553c064d75af
16 changes: 8 additions & 8 deletions trunk/arch/x86/oprofile/op_model_amd.c
Original file line number Diff line number Diff line change
Expand Up @@ -262,13 +262,13 @@ static int op_amd_check_ctrs(struct pt_regs * const regs,

static void op_amd_start(struct op_msrs const * const msrs)
{
unsigned int low, high;
u64 val;
int i;
for (i = 0 ; i < NUM_COUNTERS ; ++i) {
if (reset_value[i]) {
rdmsr(msrs->controls[i].addr, low, high);
CTRL_SET_ACTIVE(low);
wrmsr(msrs->controls[i].addr, low, high);
rdmsrl(msrs->controls[i].addr, val);
val |= ARCH_PERFMON_EVENTSEL0_ENABLE;
wrmsrl(msrs->controls[i].addr, val);
}
}

Expand All @@ -277,7 +277,7 @@ static void op_amd_start(struct op_msrs const * const msrs)

static void op_amd_stop(struct op_msrs const * const msrs)
{
unsigned int low, high;
u64 val;
int i;

/*
Expand All @@ -287,9 +287,9 @@ static void op_amd_stop(struct op_msrs const * const msrs)
for (i = 0 ; i < NUM_COUNTERS ; ++i) {
if (!reset_value[i])
continue;
rdmsr(msrs->controls[i].addr, low, high);
CTRL_SET_INACTIVE(low);
wrmsr(msrs->controls[i].addr, low, high);
rdmsrl(msrs->controls[i].addr, val);
val &= ~ARCH_PERFMON_EVENTSEL0_ENABLE;
wrmsrl(msrs->controls[i].addr, val);
}

op_amd_stop_ibs();
Expand Down
16 changes: 8 additions & 8 deletions trunk/arch/x86/oprofile/op_model_ppro.c
Original file line number Diff line number Diff line change
Expand Up @@ -145,34 +145,34 @@ static int ppro_check_ctrs(struct pt_regs * const regs,

static void ppro_start(struct op_msrs const * const msrs)
{
unsigned int low, high;
u64 val;
int i;

if (!reset_value)
return;
for (i = 0; i < num_counters; ++i) {
if (reset_value[i]) {
rdmsr(msrs->controls[i].addr, low, high);
CTRL_SET_ACTIVE(low);
wrmsr(msrs->controls[i].addr, low, high);
rdmsrl(msrs->controls[i].addr, val);
val |= ARCH_PERFMON_EVENTSEL0_ENABLE;
wrmsrl(msrs->controls[i].addr, val);
}
}
}


static void ppro_stop(struct op_msrs const * const msrs)
{
unsigned int low, high;
u64 val;
int i;

if (!reset_value)
return;
for (i = 0; i < num_counters; ++i) {
if (!reset_value[i])
continue;
rdmsr(msrs->controls[i].addr, low, high);
CTRL_SET_INACTIVE(low);
wrmsr(msrs->controls[i].addr, low, high);
rdmsrl(msrs->controls[i].addr, val);
val &= ~ARCH_PERFMON_EVENTSEL0_ENABLE;
wrmsrl(msrs->controls[i].addr, val);
}
}

Expand Down
2 changes: 0 additions & 2 deletions trunk/arch/x86/oprofile/op_x86_model.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,6 @@

#define CTR_IS_RESERVED(msrs, c) ((msrs)->counters[(c)].addr ? 1 : 0)
#define CTRL_IS_RESERVED(msrs, c) ((msrs)->controls[(c)].addr ? 1 : 0)
#define CTRL_SET_ACTIVE(val) ((val) |= ARCH_PERFMON_EVENTSEL0_ENABLE)
#define CTRL_SET_INACTIVE(val) ((val) &= ~ARCH_PERFMON_EVENTSEL0_ENABLE)

struct op_saved_msr {
unsigned int high;
Expand Down

0 comments on commit a7b35db

Please sign in to comment.