diff options
author | Ingo Molnar <mingo@elte.hu> | 2011-03-29 09:32:28 +0200 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2011-03-29 09:32:28 +0200 |
commit | 1dfd7b494b3d8fb1e8a7383a8095f77eb058cd83 (patch) | |
tree | 71c38b11018bca257a500f408f6ac3c9a9ab6563 /arch/x86/oprofile/nmi_int.c | |
parent | perf symbols: Fix vsyscall symbol lookup (diff) | |
parent | oprofile, x86: Allow setting EDGE/INV/CMASK for counter events (diff) | |
download | linux-1dfd7b494b3d8fb1e8a7383a8095f77eb058cd83.tar.xz linux-1dfd7b494b3d8fb1e8a7383a8095f77eb058cd83.zip |
Merge branch 'core' of git://git.kernel.org/pub/scm/linux/kernel/git/rric/oprofile into perf/urgent
Diffstat (limited to 'arch/x86/oprofile/nmi_int.c')
-rw-r--r-- | arch/x86/oprofile/nmi_int.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86/oprofile/nmi_int.c b/arch/x86/oprofile/nmi_int.c index 8dace181c88e..cf9750004a08 100644 --- a/arch/x86/oprofile/nmi_int.c +++ b/arch/x86/oprofile/nmi_int.c @@ -49,6 +49,10 @@ u64 op_x86_get_ctrl(struct op_x86_model_spec const *model, val |= counter_config->user ? ARCH_PERFMON_EVENTSEL_USR : 0; val |= counter_config->kernel ? ARCH_PERFMON_EVENTSEL_OS : 0; val |= (counter_config->unit_mask & 0xFF) << 8; + counter_config->extra &= (ARCH_PERFMON_EVENTSEL_INV | + ARCH_PERFMON_EVENTSEL_EDGE | + ARCH_PERFMON_EVENTSEL_CMASK); + val |= counter_config->extra; event &= model->event_mask ? model->event_mask : 0xFF; val |= event & 0xFF; val |= (event & 0x0F00) << 24; @@ -440,6 +444,7 @@ static int nmi_create_files(struct super_block *sb, struct dentry *root) oprofilefs_create_ulong(sb, dir, "unit_mask", &counter_config[i].unit_mask); oprofilefs_create_ulong(sb, dir, "kernel", &counter_config[i].kernel); oprofilefs_create_ulong(sb, dir, "user", &counter_config[i].user); + oprofilefs_create_ulong(sb, dir, "extra", &counter_config[i].extra); } return 0; |