aboutsummaryrefslogtreecommitdiffstats
path: root/xen/arch/x86/oprofile
diff options
context:
space:
mode:
authorKeir Fraser <keir.fraser@citrix.com>2010-06-24 21:56:03 +0100
committerKeir Fraser <keir.fraser@citrix.com>2010-06-24 21:56:03 +0100
commitbe9a6b532389149d4b0480f2a647e971b5ec5bda (patch)
tree64ca46b86f3574b66a4f9794bd7d9b3153be5b6a /xen/arch/x86/oprofile
parentbeb367d559f07dd19648c1aa4a54ee79e404059e (diff)
downloadxen-be9a6b532389149d4b0480f2a647e971b5ec5bda.tar.gz
xen-be9a6b532389149d4b0480f2a647e971b5ec5bda.tar.bz2
xen-be9a6b532389149d4b0480f2a647e971b5ec5bda.zip
x86: use rdmsrl/wrmsrl
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Diffstat (limited to 'xen/arch/x86/oprofile')
-rw-r--r--xen/arch/x86/oprofile/nmi_int.c16
-rw-r--r--xen/arch/x86/oprofile/op_x86_model.h7
2 files changed, 5 insertions, 18 deletions
diff --git a/xen/arch/x86/oprofile/nmi_int.c b/xen/arch/x86/oprofile/nmi_int.c
index 16f6916b2e..e8d8cee6f9 100644
--- a/xen/arch/x86/oprofile/nmi_int.c
+++ b/xen/arch/x86/oprofile/nmi_int.c
@@ -104,15 +104,11 @@ static void nmi_cpu_save_registers(struct op_msrs *msrs)
unsigned int i;
for (i = 0; i < nr_ctrs; ++i) {
- rdmsr(counters[i].addr,
- counters[i].saved.low,
- counters[i].saved.high);
+ rdmsrl(counters[i].addr, counters[i].value);
}
for (i = 0; i < nr_ctrls; ++i) {
- rdmsr(controls[i].addr,
- controls[i].saved.low,
- controls[i].saved.high);
+ rdmsrl(controls[i].addr, controls[i].value);
}
}
@@ -222,15 +218,11 @@ static void nmi_restore_registers(struct op_msrs * msrs)
unsigned int i;
for (i = 0; i < nr_ctrls; ++i) {
- wrmsr(controls[i].addr,
- controls[i].saved.low,
- controls[i].saved.high);
+ wrmsrl(controls[i].addr, controls[i].value);
}
for (i = 0; i < nr_ctrs; ++i) {
- wrmsr(counters[i].addr,
- counters[i].saved.low,
- counters[i].saved.high);
+ wrmsrl(counters[i].addr, counters[i].value);
}
}
diff --git a/xen/arch/x86/oprofile/op_x86_model.h b/xen/arch/x86/oprofile/op_x86_model.h
index 7ac709cb6b..9303abaa9b 100644
--- a/xen/arch/x86/oprofile/op_x86_model.h
+++ b/xen/arch/x86/oprofile/op_x86_model.h
@@ -11,14 +11,9 @@
#ifndef OP_X86_MODEL_H
#define OP_X86_MODEL_H
-struct op_saved_msr {
- unsigned int high;
- unsigned int low;
-};
-
struct op_msr {
unsigned long addr;
- struct op_saved_msr saved;
+ uint64_t value;
};
struct op_msrs {