aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arc/include/asm
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2013-01-18 04:42:25 -0500
committerVineet Gupta <vgupta@synopsys.com>2013-02-15 12:46:10 -0500
commit8b5850f8ac8d9b809db4588b80b568faca5aaaaf (patch)
tree9cb026d610787ba2177e3543d44c7f94fdfd6bfe /arch/arc/include/asm
parent9c57564e26c5392ac7f0e08cc0ad8d29e225a3a3 (diff)
ARC: Support for single cycle Close Coupled Mem (CCM)
* Includes mapping of CCMs in address space * Annotations to move arbitrary code/data into CCM * Moving some of the critical code/data into CCM * Runtime detection/reporting Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include/asm')
-rw-r--r--arch/arc/include/asm/linkage.h33
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arc/include/asm/linkage.h b/arch/arc/include/asm/linkage.h
index a45d1bb50e41..0283e9e44e0d 100644
--- a/arch/arc/include/asm/linkage.h
+++ b/arch/arc/include/asm/linkage.h
@@ -25,6 +25,39 @@
25 .size \ name, ASM_PREV_SYM_ADDR(\name) 25 .size \ name, ASM_PREV_SYM_ADDR(\name)
26.endm 26.endm
27 27
28/* annotation for data we want in DCCM - if enabled in .config */
29.macro ARCFP_DATA nm
30#ifdef CONFIG_ARC_HAS_DCCM
31 .section .data.arcfp
32#else
33 .section .data
34#endif
35 .global \nm
36.endm
37
38/* annotation for data we want in DCCM - if enabled in .config */
39.macro ARCFP_CODE
40#ifdef CONFIG_ARC_HAS_ICCM
41 .section .text.arcfp, "ax",@progbits
42#else
43 .section .text, "ax",@progbits
44#endif
45.endm
46
47#else /* !__ASSEMBLY__ */
48
49#ifdef CONFIG_ARC_HAS_ICCM
50#define __arcfp_code __attribute__((__section__(".text.arcfp")))
51#else
52#define __arcfp_code __attribute__((__section__(".text")))
53#endif
54
55#ifdef CONFIG_ARC_HAS_DCCM
56#define __arcfp_data __attribute__((__section__(".data.arcfp")))
57#else
58#define __arcfp_data __attribute__((__section__(".data")))
59#endif
60
28#endif /* __ASSEMBLY__ */ 61#endif /* __ASSEMBLY__ */
29 62
30#endif 63#endif