aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-x86/paravirt.h
diff options
context:
space:
mode:
authorAndi Kleen <andi@firstfloor.org>2008-03-22 05:59:28 -0400
committerIngo Molnar <mingo@elte.hu>2008-04-17 11:41:30 -0400
commit1de87bd40e119d26533b5135677901990390bfa9 (patch)
tree862877f6e54993a9067fffc0d545e75697a8184e /include/asm-x86/paravirt.h
parentf5c24a7fd0798d636af184cc7032e7e0cb149112 (diff)
x86: re-add rdmsrl_safe
RDMSR for 64bit values with exception handling. Makes it easier to deal with 64bit valued MSRs. The old 64bit code base had that too as checking_rdmsrl(), but it got dropped somehow. Signed-off-by: Andi Kleen <andi@firstfloor.org> Cc: andreas.herrmann3@amd.com Cc: mingo@elte.hu Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/paravirt.h')
-rw-r--r--include/asm-x86/paravirt.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h
index 0c23f7940bc4..3d419398499b 100644
--- a/include/asm-x86/paravirt.h
+++ b/include/asm-x86/paravirt.h
@@ -693,6 +693,13 @@ do { \
693 _err; \ 693 _err; \
694}) 694})
695 695
696static inline int rdmsrl_safe(unsigned msr, unsigned long long *p)
697{
698 int err;
699
700 *p = paravirt_read_msr(msr, &err);
701 return err;
702}
696 703
697static inline u64 paravirt_read_tsc(void) 704static inline u64 paravirt_read_tsc(void)
698{ 705{