mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-08-31 22:23:05 +00:00

While the GCC and Clang compilers already define __ASSEMBLER__ automatically when compiling assembler code, __ASSEMBLY__ is a macro that only gets defined by the Makefiles in the kernel. This is bad since macros starting with two underscores are names that are reserved by the C language. It can also be very confusing for the developers when switching between userspace and kernelspace coding, or when dealing with uapi headers that rather should use __ASSEMBLER__ instead. So let's now standardize on the __ASSEMBLER__ macro that is provided by the compilers. This is a completely mechanical patch (done with a simple "sed -i" statement), with some manual fixups done later while rebasing the patch. Signed-off-by: Thomas Huth <thuth@redhat.com> Acked-by: Heiko Carstens <hca@linux.ibm.com> Link: https://lore.kernel.org/r/20250611140046.137739-3-thuth@redhat.com Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
48 lines
1.1 KiB
C
48 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
#ifndef _ASM_S390_EXPOLINE_H
|
|
#define _ASM_S390_EXPOLINE_H
|
|
|
|
#ifndef __ASSEMBLER__
|
|
|
|
#include <linux/types.h>
|
|
#include <asm/facility.h>
|
|
|
|
extern int nospec_disable;
|
|
extern int nobp;
|
|
|
|
static inline bool nobp_enabled(void)
|
|
{
|
|
if (__is_defined(__DECOMPRESSOR))
|
|
return false;
|
|
return nobp && test_facility(82);
|
|
}
|
|
|
|
void nospec_init_branches(void);
|
|
void nospec_auto_detect(void);
|
|
void nospec_revert(s32 *start, s32 *end);
|
|
|
|
static inline bool nospec_uses_trampoline(void)
|
|
{
|
|
return __is_defined(CC_USING_EXPOLINE) && !nospec_disable;
|
|
}
|
|
|
|
void __s390_indirect_jump_r1(void);
|
|
void __s390_indirect_jump_r2(void);
|
|
void __s390_indirect_jump_r3(void);
|
|
void __s390_indirect_jump_r4(void);
|
|
void __s390_indirect_jump_r5(void);
|
|
void __s390_indirect_jump_r6(void);
|
|
void __s390_indirect_jump_r7(void);
|
|
void __s390_indirect_jump_r8(void);
|
|
void __s390_indirect_jump_r9(void);
|
|
void __s390_indirect_jump_r10(void);
|
|
void __s390_indirect_jump_r11(void);
|
|
void __s390_indirect_jump_r12(void);
|
|
void __s390_indirect_jump_r13(void);
|
|
void __s390_indirect_jump_r14(void);
|
|
void __s390_indirect_jump_r15(void);
|
|
|
|
#endif /* __ASSEMBLER__ */
|
|
|
|
#endif /* _ASM_S390_EXPOLINE_H */
|