]> xenbits.xensource.com Git - mini-os.git/commitdiff
Introduce asm_macros.h
authorWei Liu <wei.liu2@citrix.com>
Thu, 18 Aug 2016 10:15:24 +0000 (11:15 +0100)
committerWei Liu <wei.liu2@citrix.com>
Mon, 22 Aug 2016 09:38:13 +0000 (10:38 +0100)
Ported from Xen Test Framework project (BSD license).

Signed-off-by: Wei Liu <wei.liu2@citrix.com>
Reviewed-by: Andrew Cooper <andrew.cooper3@citrix.com>
Reviewed-by: Juergen Gross <jgross@suse.com>
Acked-by: Samuel Thibault <samuel.thibault@ens-lyon.org>
include/arm/asm_macros.h [new file with mode: 0644]
include/asm_macros.h [new file with mode: 0644]
include/x86/asm_macros.h [new file with mode: 0644]

diff --git a/include/arm/asm_macros.h b/include/arm/asm_macros.h
new file mode 100644 (file)
index 0000000..8b8dafe
--- /dev/null
@@ -0,0 +1,14 @@
+#ifndef _ARM_ASM_MACRO_H_
+#define _ARM_ASM_MACRO_H_
+
+#endif /* _ARM_ASM_MACRO_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/include/asm_macros.h b/include/asm_macros.h
new file mode 100644 (file)
index 0000000..0e34090
--- /dev/null
@@ -0,0 +1,40 @@
+/*
+ * Macros for assembly files.
+ */
+
+#ifndef _ASM_MACRO_H_
+#define _ASM_MACRO_H_
+
+#if defined(__i386__) || defined(__x86_64__)
+#include <x86/asm_macros.h>
+#elif defined(__arm__) || defined(__aarch64__)
+#include <arm/asm_macros.h>
+#endif
+
+#ifdef __ASSEMBLY__
+
+#define ELFNOTE(name, type, desc)           \
+    .pushsection .note.name               ; \
+    .align 4                              ; \
+    .long 2f - 1f       /* namesz */      ; \
+    .long 4f - 3f       /* descsz */      ; \
+    .long type          /* type   */      ; \
+1:.asciz #name          /* name   */      ; \
+2:.align 4                                ; \
+3:desc                  /* desc   */      ; \
+4:.align 4                                ; \
+    .popsection
+
+#endif  /* __ASSEMBLY__ */
+
+#endif  /* _ASM_MACRO_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
diff --git a/include/x86/asm_macros.h b/include/x86/asm_macros.h
new file mode 100644 (file)
index 0000000..e718e0b
--- /dev/null
@@ -0,0 +1,28 @@
+#ifndef _X86_ASM_MACRO_H_
+#define _X86_ASM_MACRO_H_
+
+#ifdef  __ASSEMBLY__
+# if defined(__x86_64__)
+#  define _WORD .quad
+# elif defined(__i386__)
+#  define _WORD .long
+# endif
+#else
+# if defined(__x86_64__)
+#  define _WORD ".quad"
+# elif defined(__i386__)
+#  define _WORD ".long"
+# endif
+#endif
+
+#endif /* _X86_ASM_MACRO_H_ */
+
+/*
+ * Local variables:
+ * mode: C
+ * c-file-style: "BSD"
+ * c-basic-offset: 4
+ * tab-width: 4
+ * indent-tabs-mode: nil
+ * End:
+ */