diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-01-18 04:42:25 -0500 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-02-15 12:46:10 -0500 |
commit | 8b5850f8ac8d9b809db4588b80b568faca5aaaaf (patch) | |
tree | 9cb026d610787ba2177e3543d44c7f94fdfd6bfe /arch/arc/include/asm | |
parent | 9c57564e26c5392ac7f0e08cc0ad8d29e225a3a3 (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.h | 33 |
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 |