Skip to contentSkip to conversation

x86-64-rdmsrl.patch

PATCH New Arun Sharma 1 participant 1 message Apr 19, 2005

lore
Share & tools
lore
#0 lore raw

PATCH 3/5 x86-64-rdmsrl.patch

Use the rdmsrl implementation from Linux.

xen/include/asm-x86/msr.h +7 -0
diff -Nru a/xen/include/asm-x86/msr.h b/xen/include/asm-x86/msr.h
@@ -6,6 +6,13 @@
 			  : "=a" (val1), "=d" (val2) \
 			  : "c" (msr))
 
+#define rdmsrl(msr,val) do { unsigned long a__,b__; \
+       __asm__ __volatile__("rdmsr" \
+			    : "=a" (a__), "=d" (b__) \
+			    : "c" (msr)); \
+       val = a__ | (b__<<32); \
+} while(0); 
+
 #define wrmsr(msr,val1,val2) \
      __asm__ __volatile__("wrmsr" \
 			  : /* no outputs */ \