unified.h (979B)
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/* The CPSR bit describing the instruction set (Thumb) */ 28#define PSR_ISETSTATE PSR_T_BIT 29 30#define ARM(x...) 31#define THUMB(x...) x 32#ifdef __ASSEMBLY__ 33#define W(instr) instr.w 34#else 35#define WASM(instr) #instr ".w" 36#endif 37 38#else /* !CONFIG_THUMB2_KERNEL */ 39 40/* The CPSR bit describing the instruction set (ARM) */ 41#define PSR_ISETSTATE 0 42 43#define ARM(x...) x 44#define THUMB(x...) 45#ifdef __ASSEMBLY__ 46#define W(instr) instr 47#else 48#define WASM(instr) #instr 49#endif 50 51#endif /* CONFIG_THUMB2_KERNEL */ 52 53#endif /* !__ASM_UNIFIED_H */