mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-04 18:49:41 +00:00

While the GCC and Clang compilers already define __ASSEMBLER__ automatically when compiling assembly code, __ASSEMBLY__ is a macro that only gets defined by the Makefiles in the kernel. This can be very confusing when switching between userspace and kernelspace coding, or when dealing with uapi headers that rather should use __ASSEMBLER__ instead. So let's standardize on the __ASSEMBLER__ macro that is provided by the compilers now. This is a completely mechanical patch (done with a simple "sed -i" statement). Cc: linux-snps-arc@lists.infradead.org Signed-off-by: Thomas Huth <thuth@redhat.com> Signed-off-by: Vineet Gupta <vgupta@kernel.org>
81 lines
1.5 KiB
C
81 lines
1.5 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (C) 2004, 2007-2010, 2011-2012 Synopsys, Inc. (www.synopsys.com)
|
|
*/
|
|
|
|
#ifndef __ASM_LINKAGE_H
|
|
#define __ASM_LINKAGE_H
|
|
|
|
#include <asm/dwarf.h>
|
|
|
|
#define ASM_NL ` /* use '`' to mark new line in macro */
|
|
#define __ALIGN .align 4
|
|
#define __ALIGN_STR __stringify(__ALIGN)
|
|
|
|
#ifdef __ASSEMBLER__
|
|
|
|
.macro ST2 e, o, off
|
|
#ifdef CONFIG_ARC_HAS_LL64
|
|
std \e, [sp, \off]
|
|
#else
|
|
st \e, [sp, \off]
|
|
st \o, [sp, \off+4]
|
|
#endif
|
|
.endm
|
|
|
|
.macro LD2 e, o, off
|
|
#ifdef CONFIG_ARC_HAS_LL64
|
|
ldd \e, [sp, \off]
|
|
#else
|
|
ld \e, [sp, \off]
|
|
ld \o, [sp, \off+4]
|
|
#endif
|
|
.endm
|
|
|
|
/* annotation for data we want in DCCM - if enabled in .config */
|
|
.macro ARCFP_DATA nm
|
|
#ifdef CONFIG_ARC_HAS_DCCM
|
|
.section .data.arcfp
|
|
#else
|
|
.section .data
|
|
#endif
|
|
.global \nm
|
|
.endm
|
|
|
|
/* annotation for data we want in DCCM - if enabled in .config */
|
|
.macro ARCFP_CODE
|
|
#ifdef CONFIG_ARC_HAS_ICCM
|
|
.section .text.arcfp, "ax",@progbits
|
|
#else
|
|
.section .text, "ax",@progbits
|
|
#endif
|
|
.endm
|
|
|
|
#define ENTRY_CFI(name) \
|
|
.globl name ASM_NL \
|
|
ALIGN ASM_NL \
|
|
name: ASM_NL \
|
|
CFI_STARTPROC ASM_NL
|
|
|
|
#define END_CFI(name) \
|
|
CFI_ENDPROC ASM_NL \
|
|
.size name, .-name
|
|
|
|
#else /* !__ASSEMBLER__ */
|
|
|
|
#ifdef CONFIG_ARC_HAS_ICCM
|
|
#define __arcfp_code __section(".text.arcfp")
|
|
#else
|
|
#define __arcfp_code __section(".text")
|
|
#endif
|
|
|
|
#ifdef CONFIG_ARC_HAS_DCCM
|
|
#define __arcfp_data __section(".data.arcfp")
|
|
#else
|
|
#define __arcfp_data __section(".data")
|
|
#endif
|
|
|
|
#endif /* __ASSEMBLER__ */
|
|
|
|
#endif
|