* 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

