root/arch/arc/include/asm/linkage.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
   4  */
   5 
   6 #ifndef __ASM_LINKAGE_H
   7 #define __ASM_LINKAGE_H
   8 
   9 #include <asm/dwarf.h>
  10 
  11 #ifdef __ASSEMBLY__
  12 
  13 .macro ST2 e, o, off
  14 #ifdef CONFIG_ARC_HAS_LL64
  15         std     \e, [sp, \off]
  16 #else
  17         st      \e, [sp, \off]
  18         st      \o, [sp, \off+4]
  19 #endif
  20 .endm
  21 
  22 .macro LD2 e, o, off
  23 #ifdef CONFIG_ARC_HAS_LL64
  24         ldd     \e, [sp, \off]
  25 #else
  26         ld      \e, [sp, \off]
  27         ld      \o, [sp, \off+4]
  28 #endif
  29 .endm
  30 
  31 #define ASM_NL           `      /* use '`' to mark new line in macro */
  32 #define __ALIGN         .align 4
  33 #define __ALIGN_STR     __stringify(__ALIGN)
  34 
  35 /* annotation for data we want in DCCM - if enabled in .config */
  36 .macro ARCFP_DATA nm
  37 #ifdef CONFIG_ARC_HAS_DCCM
  38         .section .data.arcfp
  39 #else
  40         .section .data
  41 #endif
  42         .global \nm
  43 .endm
  44 
  45 /* annotation for data we want in DCCM - if enabled in .config */
  46 .macro ARCFP_CODE
  47 #ifdef CONFIG_ARC_HAS_ICCM
  48         .section .text.arcfp, "ax",@progbits
  49 #else
  50         .section .text, "ax",@progbits
  51 #endif
  52 .endm
  53 
  54 #define ENTRY_CFI(name)         \
  55         .globl name ASM_NL      \
  56         ALIGN ASM_NL            \
  57         name: ASM_NL            \
  58         CFI_STARTPROC ASM_NL
  59 
  60 #define END_CFI(name)           \
  61         CFI_ENDPROC ASM_NL      \
  62         .size name, .-name
  63 
  64 #else   /* !__ASSEMBLY__ */
  65 
  66 #ifdef CONFIG_ARC_HAS_ICCM
  67 #define __arcfp_code __section(.text.arcfp)
  68 #else
  69 #define __arcfp_code __section(.text)
  70 #endif
  71 
  72 #ifdef CONFIG_ARC_HAS_DCCM
  73 #define __arcfp_data __section(.data.arcfp)
  74 #else
  75 #define __arcfp_data __section(.data)
  76 #endif
  77 
  78 #endif /* __ASSEMBLY__ */
  79 
  80 #endif

/* [<][>][^][v][top][bottom][index][help] */