• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * 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.
7  */
8 
9 #ifndef __ASM_LINKAGE_H
10 #define __ASM_LINKAGE_H
11 
12 #ifdef __ASSEMBLY__
13 
14 #define ASM_NL		 `	/* use '`' to mark new line in macro */
15 #define __ALIGN		.align 4
16 #define __ALIGN_STR	__stringify(__ALIGN)
17 
18 /* annotation for data we want in DCCM - if enabled in .config */
19 .macro ARCFP_DATA nm
20 #ifdef CONFIG_ARC_HAS_DCCM
21 	.section .data.arcfp
22 #else
23 	.section .data
24 #endif
25 	.global \nm
26 .endm
27 
28 /* annotation for data we want in DCCM - if enabled in .config */
29 .macro ARCFP_CODE
30 #ifdef CONFIG_ARC_HAS_ICCM
31 	.section .text.arcfp, "ax",@progbits
32 #else
33 	.section .text, "ax",@progbits
34 #endif
35 .endm
36 
37 #else	/* !__ASSEMBLY__ */
38 
39 #ifdef CONFIG_ARC_HAS_ICCM
40 #define __arcfp_code __attribute__((__section__(".text.arcfp")))
41 #else
42 #define __arcfp_code __attribute__((__section__(".text")))
43 #endif
44 
45 #ifdef CONFIG_ARC_HAS_DCCM
46 #define __arcfp_data __attribute__((__section__(".data.arcfp")))
47 #else
48 #define __arcfp_data __attribute__((__section__(".data")))
49 #endif
50 
51 #endif /* __ASSEMBLY__ */
52 
53 #endif
54