summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/x86/machine/cpu.c2
-rw-r--r--arch/x86/machine/cpu.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/arch/x86/machine/cpu.c b/arch/x86/machine/cpu.c
index 0d14cd7b..a1bb93d1 100644
--- a/arch/x86/machine/cpu.c
+++ b/arch/x86/machine/cpu.c
@@ -260,7 +260,7 @@ cpu_set_percpu_area(const struct cpu *cpu, void *area)
unsigned long va;
va = (unsigned long)area;
- cpu_set_msr(CPU_MSR_FSBASE, (uint32_t)va, (uint32_t)(va >> 32));
+ cpu_set_msr(CPU_MSR_FSBASE, (uint32_t)(va >> 32), (uint32_t)va);
#else /* __LP64__ */
asm volatile("mov %0, %%fs" : : "r" (CPU_GDT_SEL_PERCPU));
#endif /* __LP64__ */
diff --git a/arch/x86/machine/cpu.h b/arch/x86/machine/cpu.h
index 6f3ea4eb..322e30dd 100644
--- a/arch/x86/machine/cpu.h
+++ b/arch/x86/machine/cpu.h
@@ -439,13 +439,13 @@ cpu_enable_global_pages(void)
}
static __always_inline void
-cpu_get_msr(uint32_t msr, uint32_t *low, uint32_t *high)
+cpu_get_msr(uint32_t msr, uint32_t *high, uint32_t *low)
{
asm volatile("rdmsr" : "=a" (*low), "=d" (*high) : "c" (msr));
}
static __always_inline void
-cpu_set_msr(uint32_t msr, uint32_t low, uint32_t high)
+cpu_set_msr(uint32_t msr, uint32_t high, uint32_t low)
{
asm volatile("wrmsr" : : "c" (msr), "a" (low), "d" (high));
}