linux/arch/arc/include/asm/linkage.h
<<
>>
Prefs
   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
  16/* annotation for data we want in DCCM - if enabled in .config */
  17.macro ARCFP_DATA nm
  18#ifdef CONFIG_ARC_HAS_DCCM
  19        .section .data.arcfp
  20#else
  21        .section .data
  22#endif
  23        .global \nm
  24.endm
  25
  26/* annotation for data we want in DCCM - if enabled in .config */
  27.macro ARCFP_CODE
  28#ifdef CONFIG_ARC_HAS_ICCM
  29        .section .text.arcfp, "ax",@progbits
  30#else
  31        .section .text, "ax",@progbits
  32#endif
  33.endm
  34
  35#else   /* !__ASSEMBLY__ */
  36
  37#ifdef CONFIG_ARC_HAS_ICCM
  38#define __arcfp_code __attribute__((__section__(".text.arcfp")))
  39#else
  40#define __arcfp_code __attribute__((__section__(".text")))
  41#endif
  42
  43#ifdef CONFIG_ARC_HAS_DCCM
  44#define __arcfp_data __attribute__((__section__(".data.arcfp")))
  45#else
  46#define __arcfp_data __attribute__((__section__(".data")))
  47#endif
  48
  49#endif /* __ASSEMBLY__ */
  50
  51#endif
  52