| From | Rasmus Villemoes <> | Subject | [PATCH v2 21/23] x86: jump_label: introduce ASM_STATIC_KEY_INIT_{TRUE,FALSE} | Date | Tue, 9 Oct 2018 13:20:11 +0200 |
| |
These will be useful when defining the contents of (a struct containing) a static key in inline assembly.
Cc: x86@kernel.org Reviewed-by: Ingo Molnar <mingo@kernel.org> Acked-by: Jason Baron <jbaron@akamai.com> Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk> --- arch/x86/include/asm/jump_label.h | 18 ++++++++++++++++++ include/linux/jump_label.h | 2 ++ 2 files changed, 20 insertions(+)
diff --git a/arch/x86/include/asm/jump_label.h b/arch/x86/include/asm/jump_label.h index 8c0de4282659..2736f7ff6806 100644 --- a/arch/x86/include/asm/jump_label.h +++ b/arch/x86/include/asm/jump_label.h @@ -110,4 +110,22 @@ struct jump_entry { #endif /* __ASSEMBLY__ */ +#ifdef CONFIG_X86_64 +#define ASM_STATIC_KEY_INIT_TRUE \ + "\t.long 1 \t# .enabled\n" \ + "\t.long 0 \t# <padding>\n" \ + "\t.quad "__stringify(__JUMP_TYPE_TRUE)"\t# .type\n" +#define ASM_STATIC_KEY_INIT_FALSE \ + "\t.long 0 \t# .enabled\n" \ + "\t.long 0 \t# <padding>\n" \ + "\t.quad "__stringify(__JUMP_TYPE_FALSE)"\t# .type\n" +#else +#define ASM_STATIC_KEY_INIT_TRUE \ + "\t.long 1 \t# .enabled\n" \ + "\t.long "__stringify(__JUMP_TYPE_TRUE)"\t# .type\n" +#define ASM_STATIC_KEY_INIT_FALSE \ + "\t.long 0 \t# .enabled\n" \ + "\t.long "__stringify(__JUMP_TYPE_FALSE)"\t# .type\n" +#endif + #endif diff --git a/include/linux/jump_label.h b/include/linux/jump_label.h index 1a0b6f17a5d6..6e98193ae708 100644 --- a/include/linux/jump_label.h +++ b/include/linux/jump_label.h @@ -132,6 +132,8 @@ struct module; #ifdef HAVE_JUMP_LABEL +#define __JUMP_TYPE_FALSE 0 +#define __JUMP_TYPE_TRUE 1 #define JUMP_TYPE_FALSE 0UL #define JUMP_TYPE_TRUE 1UL #define JUMP_TYPE_LINKED 2UL -- 2.19.1.3.g1d92a00e68
|