x86/xen: resume timer irqs early
[linux/fpc-iii.git] / arch / arc / include / asm / linkage.h
blob0283e9e44e0d8cf368066484a4e502d5f1b399ef
1 /*
2 * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
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 */
9 #ifndef __ASM_LINKAGE_H
10 #define __ASM_LINKAGE_H
12 #ifdef __ASSEMBLY__
14 /* Can't use the ENTRY macro in linux/linkage.h
15 * gas considers ';' as comment vs. newline
17 .macro ARC_ENTRY name
18 .global \name
19 .align 4
20 \name:
21 .endm
23 .macro ARC_EXIT name
24 #define ASM_PREV_SYM_ADDR(name) .-##name
25 .size \ name, ASM_PREV_SYM_ADDR(\name)
26 .endm
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
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
47 #else /* !__ASSEMBLY__ */
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
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
61 #endif /* __ASSEMBLY__ */
63 #endif