public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86: make asm/asm.h work for asm code.
@ 2008-06-16 22:06 Jeremy Fitzhardinge
  2008-06-16 22:44 ` H. Peter Anvin
  2008-06-16 22:48 ` H. Peter Anvin
  0 siblings, 2 replies; 6+ messages in thread
From: Jeremy Fitzhardinge @ 2008-06-16 22:06 UTC (permalink / raw)
  To: the arch/x86 maintainers; +Cc: Linux Kernel Mailing List

This is useful for unifying some pieces of asm code.

Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
---
 include/asm-x86/asm.h |   56 +++++++++++++++++++++++++++++++++++--------------
 1 file changed, 40 insertions(+), 16 deletions(-)

===================================================================
--- a/include/asm-x86/asm.h
+++ b/include/asm-x86/asm.h
@@ -1,33 +1,57 @@
 #ifndef _ASM_X86_ASM_H
 #define _ASM_X86_ASM_H
+
+#include <linux/stringify.h>
 
 #ifdef CONFIG_X86_32
 /* 32 bits */
 
-# define _ASM_PTR	" .long "
-# define _ASM_ALIGN	" .balign 4 "
-# define _ASM_MOV_UL	" movl "
+# define __ASM_PTR	.long
+# define __ASM_ALIGN	.balign 4
+# define __ASM_MOV_UL	movl
 
-# define _ASM_INC	" incl "
-# define _ASM_DEC	" decl "
-# define _ASM_ADD	" addl "
-# define _ASM_SUB	" subl "
-# define _ASM_XADD	" xaddl "
+# define __ASM_INC	incl
+# define __ASM_DEC	decl
+# define __ASM_ADD	addl
+# define __ASM_SUB	subl
+# define __ASM_XADD	xaddl
 
 #else
 /* 64 bits */
 
-# define _ASM_PTR	" .quad "
-# define _ASM_ALIGN	" .balign 8 "
-# define _ASM_MOV_UL	" movq "
+# define __ASM_PTR	.quad
+# define __ASM_ALIGN	.balign 8
+# define __ASM_MOV_UL	movq
 
-# define _ASM_INC	" incq "
-# define _ASM_DEC	" decq "
-# define _ASM_ADD	" addq "
-# define _ASM_SUB	" subq "
-# define _ASM_XADD	" xaddq "
+# define __ASM_INC	incq
+# define __ASM_DEC	decq
+# define __ASM_ADD	addq
+# define __ASM_SUB	subq
+# define __ASM_XADD	xaddq
 
 #endif /* CONFIG_X86_32 */
+
+#ifdef __ASSEMBLER__
+#define _ASM_PTR	__ASM_PTR
+#define _ASM_ALIGN	__ASM_ALIGN
+#define _ASM_MOV_UL	__ASM_MOV_UL
+
+#define _ASM_INC	__ASM_INC
+#define _ASM_DEC	__ASM_DEC
+#define _ASM_ADD	__ASM_ADD
+#define _ASM_SUB	__ASM_SUB
+#define _ASM_XADD	__ASM_XADD
+#else  /* !ASSEMBLER */
+#define _ASM_PTR	" " __stringify(__ASM_PTR) " "
+#define _ASM_ALIGN	" " __stringify(__ASM_ALIGN) " "
+#define _ASM_MOV_UL	" " __stringify(__ASM_MOV_UL) " "
+
+#define _ASM_INC	" " __stringify(__ASM_INC) " "
+#define _ASM_DEC	" " __stringify(__ASM_DEC) " "
+#define _ASM_ADD	" " __stringify(__ASM_ADD) " "
+#define _ASM_SUB	" " __stringify(__ASM_SUB) " "
+#define _ASM_XADD	" " __stringify(__ASM_XADD) " "
+#endif	/* __ASSEMBLER__ */
 
 /* Exception table entry */
 # define _ASM_EXTABLE(from,to) \



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

end of thread, other threads:[~2008-06-17 20:49 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-06-16 22:06 [PATCH] x86: make asm/asm.h work for asm code Jeremy Fitzhardinge
2008-06-16 22:44 ` H. Peter Anvin
2008-06-16 22:48 ` H. Peter Anvin
2008-06-16 23:08   ` Jeremy Fitzhardinge
2008-06-16 23:13     ` H. Peter Anvin
2008-06-17 20:45       ` 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