Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
at v4.20-rc2 63 lines 1.4 kB view raw
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#include <asm/dwarf.h> 13 14#ifdef __ASSEMBLY__ 15 16#define ASM_NL ` /* use '`' to mark new line in macro */ 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#define ENTRY_CFI(name) \ 38 .globl name ASM_NL \ 39 ALIGN ASM_NL \ 40 name: ASM_NL \ 41 CFI_STARTPROC ASM_NL 42 43#define END_CFI(name) \ 44 CFI_ENDPROC ASM_NL \ 45 .size name, .-name 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 61#endif /* __ASSEMBLY__ */ 62 63#endif