diff options
author | Keir Fraser <keir.fraser@citrix.com> | 2010-06-11 14:26:02 +0100 |
---|---|---|
committer | Keir Fraser <keir.fraser@citrix.com> | 2010-06-11 14:26:02 +0100 |
commit | 991fca38acc8627b484f2587847f5ff30ac72236 (patch) | |
tree | 946e82bd7b9c49298650d30eaa37804d99075f52 /xen/include/asm-x86/msr.h | |
parent | ed12caf7c2bd1ad43169e037b78bb22b3deaeff8 (diff) | |
download | xen-991fca38acc8627b484f2587847f5ff30ac72236.tar.gz xen-991fca38acc8627b484f2587847f5ff30ac72236.tar.bz2 xen-991fca38acc8627b484f2587847f5ff30ac72236.zip |
apic: clean up msr handling
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
Diffstat (limited to 'xen/include/asm-x86/msr.h')
-rw-r--r-- | xen/include/asm-x86/msr.h | 32 |
1 files changed, 12 insertions, 20 deletions
diff --git a/xen/include/asm-x86/msr.h b/xen/include/asm-x86/msr.h index 3c58263d05..26fded68c0 100644 --- a/xen/include/asm-x86/msr.h +++ b/xen/include/asm-x86/msr.h @@ -5,7 +5,6 @@ #ifndef __ASSEMBLY__ -#include <xen/smp.h> #include <xen/types.h> #include <xen/percpu.h> #include <xen/errno.h> @@ -104,29 +103,22 @@ static inline int wrmsr_safe(unsigned int msr, uint64_t val) DECLARE_PER_CPU(u64, efer); -static inline u64 read_efer(void) -{ - return this_cpu(efer); -} +#define read_efer() this_cpu(efer) -static inline void write_efer(u64 val) -{ - this_cpu(efer) = val; - wrmsrl(MSR_EFER, val); -} +#define write_efer(val) do { \ + this_cpu(efer) = val; \ + wrmsrl(MSR_EFER, val); \ +} while(0) DECLARE_PER_CPU(u32, ler_msr); -static inline void ler_enable(void) -{ - u64 debugctl; - - if ( !this_cpu(ler_msr) ) - return; - - rdmsrl(MSR_IA32_DEBUGCTLMSR, debugctl); - wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctl | 1); -} +#define ler_enable() do { \ + u64 debugctl; \ + if ( !this_cpu(ler_msr) ) \ + return; \ + rdmsrl(MSR_IA32_DEBUGCTLMSR, debugctl); \ + wrmsrl(MSR_IA32_DEBUGCTLMSR, debugctl | 1); \ +} while(0) #endif /* !__ASSEMBLY__ */ |