root/arch/arm/include/asm/unified.h

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

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * include/asm-arm/unified.h - Unified Assembler Syntax helper macros
   4  *
   5  * Copyright (C) 2008 ARM Limited
   6  */
   7 
   8 #ifndef __ASM_UNIFIED_H
   9 #define __ASM_UNIFIED_H
  10 
  11 #if defined(__ASSEMBLY__)
  12         .syntax unified
  13 #else
  14 __asm__(".syntax unified");
  15 #endif
  16 
  17 #ifdef CONFIG_CPU_V7M
  18 #define AR_CLASS(x...)
  19 #define M_CLASS(x...)   x
  20 #else
  21 #define AR_CLASS(x...)  x
  22 #define M_CLASS(x...)
  23 #endif
  24 
  25 #ifdef CONFIG_THUMB2_KERNEL
  26 
  27 #if __GNUC__ < 4
  28 #error Thumb-2 kernel requires gcc >= 4
  29 #endif
  30 
  31 /* The CPSR bit describing the instruction set (Thumb) */
  32 #define PSR_ISETSTATE   PSR_T_BIT
  33 
  34 #define ARM(x...)
  35 #define THUMB(x...)     x
  36 #ifdef __ASSEMBLY__
  37 #define W(instr)        instr.w
  38 #else
  39 #define WASM(instr)     #instr ".w"
  40 #endif
  41 
  42 #else   /* !CONFIG_THUMB2_KERNEL */
  43 
  44 /* The CPSR bit describing the instruction set (ARM) */
  45 #define PSR_ISETSTATE   0
  46 
  47 #define ARM(x...)       x
  48 #define THUMB(x...)
  49 #ifdef __ASSEMBLY__
  50 #define W(instr)        instr
  51 #else
  52 #define WASM(instr)     #instr
  53 #endif
  54 
  55 #endif  /* CONFIG_THUMB2_KERNEL */
  56 
  57 #endif  /* !__ASM_UNIFIED_H */

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