aboutsummaryrefslogtreecommitdiff
path: root/arch/i386/lib/msr-on-cpu.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/i386/lib/msr-on-cpu.c')
-rw-r--r--arch/i386/lib/msr-on-cpu.c58
1 files changed, 0 insertions, 58 deletions
diff --git a/arch/i386/lib/msr-on-cpu.c b/arch/i386/lib/msr-on-cpu.c
deleted file mode 100644
index 1c46bda409f..00000000000
--- a/arch/i386/lib/msr-on-cpu.c
+++ /dev/null
@@ -1,58 +0,0 @@
-#include <linux/module.h>
-#include <linux/preempt.h>
-#include <linux/smp.h>
-#include <asm/msr.h>
-
-struct msr_info {
- u32 msr_no;
- u32 l, h;
-};
-
-static void __rdmsr_on_cpu(void *info)
-{
- struct msr_info *rv = info;
-
- rdmsr(rv->msr_no, rv->l, rv->h);
-}
-
-void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
-{
- preempt_disable();
- if (smp_processor_id() == cpu)
- rdmsr(msr_no, *l, *h);
- else {
- struct msr_info rv;
-
- rv.msr_no = msr_no;
- smp_call_function_single(cpu, __rdmsr_on_cpu, &rv, 0, 1);
- *l = rv.l;
- *h = rv.h;
- }
- preempt_enable();
-}
-
-static void __wrmsr_on_cpu(void *info)
-{
- struct msr_info *rv = info;
-
- wrmsr(rv->msr_no, rv->l, rv->h);
-}
-
-void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
-{
- preempt_disable();
- if (smp_processor_id() == cpu)
- wrmsr(msr_no, l, h);
- else {
- struct msr_info rv;
-
- rv.msr_no = msr_no;
- rv.l = l;
- rv.h = h;
- smp_call_function_single(cpu, __wrmsr_on_cpu, &rv, 0, 1);
- }
- preempt_enable();
-}
-
-EXPORT_SYMBOL(rdmsr_on_cpu);
-EXPORT_SYMBOL(wrmsr_on_cpu);