[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH v5 09/14] jump_label: port __jump_table to linker tables



On Wed, 2016-12-21 at 18:38 -0800, Luis R. Rodriguez wrote:
> Move the __jump_table from the a custom section solution
> to a generic solution, this avoiding extra vmlinux.lds.h
> customizations.
> 
> This also demos the use of the .data linker table and of
> the shared asm call push_section_tbl().
> 

>  {
>       asm_volatile_goto("1:\n\t"
>                WASM(nop) "\n\t"
> -              ".pushsection __jump_table,  \"aw\"\n\t"
> +              push_section_tbl_any(.data, __jump_table, aw)
>                ".word 1b, %l[l_yes], %c0\n\t"
>                ".popsection\n\t"
>                : :  "i" (&((char *)key)[branch]) :  : l_yes);
> @@ -26,7 +28,7 @@ static __always_inline bool
> arch_static_branch_jump(struct static_key *key, bool
>  {
>       asm_volatile_goto("1:\n\t"
>                WASM(b) " %l[l_yes]\n\t"
> -              ".pushsection __jump_table,  \"aw\"\n\t"
> +              push_section_tbl_any(.data, __jump_table, aw)
>                ".word 1b, %l[l_yes], %c0\n\t"
>                ".popsection\n\t"

Does it make sense to introduce something like

#define pop_section_tbl ".popsection\n\t"
#define pop_section_tbl_any pop_section_tbl

?

-- 
Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Intel Finland Oy

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.