/kernel/trunk/arch/amd64/include/asm.h |
---|
188,7 → 188,27 |
return v; |
} |
/** Write to MSR */ |
static inline void write_msr(__u32 msr, __u64 value) |
{ |
__asm__ volatile ( |
"wrmsr;" : : "c" (msr), |
"a" ((__u32)(value)), |
"d" ((__u32)(value >> 32)) |
); |
} |
static inline __native read_msr(__u32 msr) |
{ |
__u32 ax, dx; |
__asm__ volatile ( |
"rdmsr;" : "=a"(ax), "=d"(dx) : "c" (msr) |
); |
return ((__u64)dx << 32) | ax; |
} |
/** Enable local APIC |
* |
* Enable local APIC in MSR. |