lkml.org 
[lkml]   [2008]   [Jun]   [16]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
Subject[PATCH] x86: make asm/asm.h work for asm code.
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) \



\
 
 \ /
  Last update: 2008-06-17 00:09    [W:0.069 / U:0.312 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site