FILE
nospec-branch.h
File preview with syntax highlighting.
linux-6.19.14/arch/s390/include/asm/nospec-branch.h
1/* SPDX-License-Identifier: GPL-2.0 */ 2#ifndef _ASM_S390_EXPOLINE_H 3#define _ASM_S390_EXPOLINE_H 4 5#ifndef __ASSEMBLER__ 6 7#include <linux/types.h> 8#include <asm/facility.h> 9 10extern int nospec_disable; 11extern int nobp; 12 13static inline bool nobp_enabled(void) 14{ 15 if (__is_defined(__DECOMPRESSOR)) 16 return false; 17 return nobp && test_facility(82); 18} 19 20void nospec_init_branches(void); 21void nospec_auto_detect(void); 22void nospec_revert(s32 *start, s32 *end); 23 24static inline bool nospec_uses_trampoline(void) 25{ 26 return __is_defined(CC_USING_EXPOLINE) && !nospec_disable; 27} 28 29void __s390_indirect_jump_r1(void); 30void __s390_indirect_jump_r2(void); 31void __s390_indirect_jump_r3(void); 32void __s390_indirect_jump_r4(void); 33void __s390_indirect_jump_r5(void); 34void __s390_indirect_jump_r6(void); 35void __s390_indirect_jump_r7(void); 36void __s390_indirect_jump_r8(void); 37void __s390_indirect_jump_r9(void); 38void __s390_indirect_jump_r10(void); 39void __s390_indirect_jump_r11(void); 40void __s390_indirect_jump_r12(void); 41void __s390_indirect_jump_r13(void); 42void __s390_indirect_jump_r14(void); 43void __s390_indirect_jump_r15(void); 44 45#endif /* __ASSEMBLER__ */ 46 47#endif /* _ASM_S390_EXPOLINE_H */
~/
Read-only file preview.