| #ifndef _ASM_X86_JUMP_LABEL_H |
| #define _ASM_X86_JUMP_LABEL_H |
| #include <linux/stringify.h> |
| #define JUMP_LABEL_NOP_SIZE 5 |
| # define STATIC_KEY_INIT_NOP P6_NOP5_ATOMIC |
| # define STATIC_KEY_INIT_NOP GENERIC_NOP5_ATOMIC |
| static __always_inline bool arch_static_branch(struct static_key *key) |
| ".byte " __stringify(STATIC_KEY_INIT_NOP) "\n\t" |
| ".pushsection __jump_table, \"aw\" \n\t" |
| _ASM_PTR "1b, %l[l_yes], %c0 \n\t" |
| : : "i" (key) : : l_yes); |
| typedef u64 jump_label_t; |
| typedef u32 jump_label_t; |
| #endif /* __ASSEMBLY__ */ |