hc
2024-02-20 102a0743326a03cd1a1202ceda21e175b7d3575c
kernel/arch/arc/include/asm/linkage.h
....@@ -1,9 +1,6 @@
1
+/* SPDX-License-Identifier: GPL-2.0-only */
12 /*
23 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
3
- *
4
- * This program is free software; you can redistribute it and/or modify
5
- * it under the terms of the GNU General Public License version 2 as
6
- * published by the Free Software Foundation.
74 */
85
96 #ifndef __ASM_LINKAGE_H
....@@ -11,11 +8,29 @@
118
129 #include <asm/dwarf.h>
1310
14
-#ifdef __ASSEMBLY__
15
-
1611 #define ASM_NL ` /* use '`' to mark new line in macro */
1712 #define __ALIGN .align 4
1813 #define __ALIGN_STR __stringify(__ALIGN)
14
+
15
+#ifdef __ASSEMBLY__
16
+
17
+.macro ST2 e, o, off
18
+#ifdef CONFIG_ARC_HAS_LL64
19
+ std \e, [sp, \off]
20
+#else
21
+ st \e, [sp, \off]
22
+ st \o, [sp, \off+4]
23
+#endif
24
+.endm
25
+
26
+.macro LD2 e, o, off
27
+#ifdef CONFIG_ARC_HAS_LL64
28
+ ldd \e, [sp, \off]
29
+#else
30
+ ld \e, [sp, \off]
31
+ ld \o, [sp, \off+4]
32
+#endif
33
+.endm
1934
2035 /* annotation for data we want in DCCM - if enabled in .config */
2136 .macro ARCFP_DATA nm
....@@ -49,15 +64,15 @@
4964 #else /* !__ASSEMBLY__ */
5065
5166 #ifdef CONFIG_ARC_HAS_ICCM
52
-#define __arcfp_code __attribute__((__section__(".text.arcfp")))
67
+#define __arcfp_code __section(".text.arcfp")
5368 #else
54
-#define __arcfp_code __attribute__((__section__(".text")))
69
+#define __arcfp_code __section(".text")
5570 #endif
5671
5772 #ifdef CONFIG_ARC_HAS_DCCM
58
-#define __arcfp_data __attribute__((__section__(".data.arcfp")))
73
+#define __arcfp_data __section(".data.arcfp")
5974 #else
60
-#define __arcfp_data __attribute__((__section__(".data")))
75
+#define __arcfp_data __section(".data")
6176 #endif
6277
6378 #endif /* __ASSEMBLY__ */