linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch] use __asm__ and __volatile__ in asm-x86_64/msr.h
@ 2007-06-18  6:09 Mike Frysinger
  2007-06-18  7:35 ` H. Peter Anvin
  0 siblings, 1 reply; 8+ messages in thread
From: Mike Frysinger @ 2007-06-18  6:09 UTC (permalink / raw)
  To: akpm, linux-kernel, ak

Most of the macros in msr.h already use __asm__ and __volatile__, this patch
brings the rest into line.  This is needed since these get exported into
userspace (need to use strict __asm__ vs asm when gcc compiles with GNU
extensions turned off).

Signed-off-by: Mike Frysinger <vapier@gentoo.org>
---
diff --git a/include/asm-x86_64/msr.h b/include/asm-x86_64/msr.h
index d5c55b8..ed15d2b 100644
--- a/include/asm-x86_64/msr.h
+++ b/include/asm-x86_64/msr.h
@@ -33,7 +33,7 @@
 
 /* wrmsr with exception handling */
 #define wrmsr_safe(msr,a,b) ({ int ret__;			\
-	asm volatile("2: wrmsr ; xorl %0,%0\n"			\
+	__asm__ __volatile__("2: wrmsr ; xorl %0,%0\n"			\
 		     "1:\n\t"					\
 		     ".section .fixup,\"ax\"\n\t"		\
 		     "3:  movl %4,%0 ; jmp 1b\n\t"		\
@@ -50,7 +50,7 @@
 
 #define rdmsr_safe(msr,a,b) \
 	({ int ret__;						\
-	  asm volatile ("1:       rdmsr\n"			\
+	  __asm__ __volatile__ ("1:       rdmsr\n"			\
                       "2:\n"					\
                       ".section .fixup,\"ax\"\n"		\
                       "3:       movl %4,%0\n"			\
@@ -70,17 +70,17 @@
      __asm__ __volatile__ ("rdtsc" : "=a" (low) : : "edx")
 
 #define rdtscp(low,high,aux) \
-     asm volatile (".byte 0x0f,0x01,0xf9" : "=a" (low), "=d" (high), "=c" (aux))
+     __asm__ __volatile__ (".byte 0x0f,0x01,0xf9" : "=a" (low), "=d" (high), "=c" (aux))
 
 #define rdtscll(val) do { \
      unsigned int __a,__d; \
-     asm volatile("rdtsc" : "=a" (__a), "=d" (__d)); \
+     __asm__ __volatile__("rdtsc" : "=a" (__a), "=d" (__d)); \
      (val) = ((unsigned long)__a) | (((unsigned long)__d)<<32); \
 } while(0)
 
 #define rdtscpll(val, aux) do { \
      unsigned long __a, __d; \
-     asm volatile (".byte 0x0f,0x01,0xf9" : "=a" (__a), "=d" (__d), "=c" (aux)); \
+     __asm__ __volatile__ (".byte 0x0f,0x01,0xf9" : "=a" (__a), "=d" (__d), "=c" (aux)); \
      (val) = (__d << 32) | __a; \
 } while (0)
 

^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2007-07-23  1:25 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-06-18  6:09 [patch] use __asm__ and __volatile__ in asm-x86_64/msr.h Mike Frysinger
2007-06-18  7:35 ` H. Peter Anvin
2007-06-18 14:02   ` Mike Frysinger
2007-06-18 18:36     ` Christoph Hellwig
2007-06-18 18:53       ` Andi Kleen
2007-06-20 15:46         ` H. Peter Anvin
2007-07-23  0:45           ` Mike Frysinger
2007-07-23  1:18             ` H. Peter Anvin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).