aboutsummaryrefslogtreecommitdiffstats
path: root/roms/u-boot/include/linux/linkage.h
diff options
context:
space:
mode:
authorfishsoupisgood <github@madingley.org>2019-04-29 01:17:54 +0100
committerfishsoupisgood <github@madingley.org>2019-05-27 03:43:43 +0100
commit3f2546b2ef55b661fd8dd69682b38992225e86f6 (patch)
tree65ca85f13617aee1dce474596800950f266a456c /roms/u-boot/include/linux/linkage.h
downloadqemu-master.tar.gz
qemu-master.tar.bz2
qemu-master.zip
Initial import of qemu-2.4.1HEADmaster
Diffstat (limited to 'roms/u-boot/include/linux/linkage.h')
-rw-r--r--roms/u-boot/include/linux/linkage.h68
1 files changed, 68 insertions, 0 deletions
diff --git a/roms/u-boot/include/linux/linkage.h b/roms/u-boot/include/linux/linkage.h
new file mode 100644
index 00000000..7435fcd0
--- /dev/null
+++ b/roms/u-boot/include/linux/linkage.h
@@ -0,0 +1,68 @@
+/*
+ * U-boot - linkage.h
+ *
+ * Copyright (c) 2005-2007 Analog Devices Inc.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef _LINUX_LINKAGE_H
+#define _LINUX_LINKAGE_H
+
+#include <asm/linkage.h>
+
+#ifdef __cplusplus
+#define CPP_ASMLINKAGE extern "C"
+#else
+#define CPP_ASMLINKAGE
+#endif
+
+#define asmlinkage CPP_ASMLINKAGE
+
+#define SYMBOL_NAME_STR(X) #X
+#define SYMBOL_NAME(X) X
+#ifdef __STDC__
+#define SYMBOL_NAME_LABEL(X) X##:
+#else
+#define SYMBOL_NAME_LABEL(X) X:
+#endif
+
+#ifndef __ALIGN
+#define __ALIGN .align 4
+#endif
+
+#ifndef __ALIGN_STR
+#define __ALIGN_STR ".align 4"
+#endif
+
+#ifdef __ASSEMBLY__
+
+#define ALIGN __ALIGN
+#define ALIGN_STR __ALIGN_STR
+
+#define LENTRY(name) \
+ ALIGN; \
+ SYMBOL_NAME_LABEL(name)
+
+#define ENTRY(name) \
+ .globl SYMBOL_NAME(name); \
+ LENTRY(name)
+
+#define WEAK(name) \
+ .weak SYMBOL_NAME(name); \
+ LENTRY(name)
+
+#ifndef END
+#define END(name) \
+ .size name, .-name
+#endif
+
+#ifndef ENDPROC
+#define ENDPROC(name) \
+ .type name STT_FUNC; \
+ END(name)
+#endif
+
+#endif
+
+#endif