diff options
| -rw-r--r-- | arch/x86/include/asm/apic.h | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h index 286de34b0ed6..f6ce0bda3b98 100644 --- a/arch/x86/include/asm/apic.h +++ b/arch/x86/include/asm/apic.h | |||
| @@ -141,13 +141,13 @@ static inline void native_apic_msr_write(u32 reg, u32 v) | |||
| 141 | 141 | ||
| 142 | static inline u32 native_apic_msr_read(u32 reg) | 142 | static inline u32 native_apic_msr_read(u32 reg) |
| 143 | { | 143 | { |
| 144 | u32 low, high; | 144 | u64 msr; |
| 145 | 145 | ||
| 146 | if (reg == APIC_DFR) | 146 | if (reg == APIC_DFR) |
| 147 | return -1; | 147 | return -1; |
| 148 | 148 | ||
| 149 | rdmsr(APIC_BASE_MSR + (reg >> 4), low, high); | 149 | rdmsrl(APIC_BASE_MSR + (reg >> 4), msr); |
| 150 | return low; | 150 | return (u32)msr; |
| 151 | } | 151 | } |
| 152 | 152 | ||
| 153 | static inline void native_x2apic_wait_icr_idle(void) | 153 | static inline void native_x2apic_wait_icr_idle(void) |
| @@ -181,12 +181,12 @@ extern void enable_x2apic(void); | |||
| 181 | extern void x2apic_icr_write(u32 low, u32 id); | 181 | extern void x2apic_icr_write(u32 low, u32 id); |
| 182 | static inline int x2apic_enabled(void) | 182 | static inline int x2apic_enabled(void) |
| 183 | { | 183 | { |
| 184 | int msr, msr2; | 184 | u64 msr; |
| 185 | 185 | ||
| 186 | if (!cpu_has_x2apic) | 186 | if (!cpu_has_x2apic) |
| 187 | return 0; | 187 | return 0; |
| 188 | 188 | ||
| 189 | rdmsr(MSR_IA32_APICBASE, msr, msr2); | 189 | rdmsrl(MSR_IA32_APICBASE, msr); |
| 190 | if (msr & X2APIC_ENABLE) | 190 | if (msr & X2APIC_ENABLE) |
| 191 | return 1; | 191 | return 1; |
| 192 | return 0; | 192 | return 0; |
