* Rasmus Villemoes <[email protected]> wrote:

> These will be useful when defining the contents of (a struct containing)
> a static key in inline assembly.
> 
> Cc: [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

Looks sane!

Reviewed-by: Ingo Molnar <[email protected]>

Thanks,

        Ingo

Reply via email to