These will be useful when defining the contents of (a struct containing)
a static key in inline assembly.

Cc: [email protected]
Reviewed-by: Ingo Molnar <[email protected]>
Acked-by: Jason Baron <[email protected]>
Signed-off-by: Rasmus Villemoes <[email protected]>
---
 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

Reply via email to