|
@@ -83,8 +83,19 @@ static inline void wrmsrl (unsigned long msr, unsigned long long val)
|
|
: "c" (counter))
|
|
: "c" (counter))
|
|
#endif /* !CONFIG_PARAVIRT */
|
|
#endif /* !CONFIG_PARAVIRT */
|
|
|
|
|
|
|
|
+#ifdef CONFIG_SMP
|
|
void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
|
|
void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h);
|
|
void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
|
|
void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h);
|
|
|
|
+#else /* CONFIG_SMP */
|
|
|
|
+static inline void rdmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 *l, u32 *h)
|
|
|
|
+{
|
|
|
|
+ rdmsr(msr_no, *l, *h);
|
|
|
|
+}
|
|
|
|
+static inline void wrmsr_on_cpu(unsigned int cpu, u32 msr_no, u32 l, u32 h)
|
|
|
|
+{
|
|
|
|
+ wrmsr(msr_no, l, h);
|
|
|
|
+}
|
|
|
|
+#endif /* CONFIG_SMP */
|
|
|
|
|
|
/* symbolic names for some interesting MSRs */
|
|
/* symbolic names for some interesting MSRs */
|
|
/* Intel defined MSRs. */
|
|
/* Intel defined MSRs. */
|