[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
- To: "Luis R. Rodriguez" <mcgrof@xxxxxxxxxx>, hpa@xxxxxxxxx, acme@xxxxxxxxxx, tglx@xxxxxxxxxxxxx, mingo@xxxxxxxxxx, jpoimboe@xxxxxxxxxx, bp@xxxxxxxxx, npiggin@xxxxxxxxx, mhiramat@xxxxxxxxxx, masami.hiramatsu.pt@xxxxxxxxxxx, jbaron@xxxxxxxxxx, heiko.carstens@xxxxxxxxxx, ananth@xxxxxxxxxxxxxxxxxx, anil.s.keshavamurthy@xxxxxxxxx, davem@xxxxxxxxxxxxx, realmz6@xxxxxxxxx, dalias@xxxxxxxx, linux@xxxxxxxxxxxxxxxx
- From: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
- Date: Thu, 22 Dec 2016 16:08:22 +0200
- Cc: gnomes@xxxxxxxxxxxxxxxxxxx, linux-ia64@xxxxxxxxxxxxxxx, jkosina@xxxxxxx, benh@xxxxxxxxxxxxxxxxxxx, ming.lei@xxxxxxxxxxxxx, linux@xxxxxxxxxxxxxxxxxx, platform-driver-x86@xxxxxxxxxxxxxxx, James.Bottomley@xxxxxxxxxxxxxxxxxxxxx, paul.gortmaker@xxxxxxxxxxxxx, paulus@xxxxxxxxx, sparclinux@xxxxxxxxxxxxxxx, wangnan0@xxxxxxxxxx, mchehab@xxxxxxxxxxxxxxx, linux-arch@xxxxxxxxxxxxxxx, markus.heiser@xxxxxxxxxxx, xen-devel@xxxxxxxxxxxxxxxxxxx, msalter@xxxxxxxxxx, linux-sh@xxxxxxxxxxxxxxx, mpe@xxxxxxxxxxxxxx, joro@xxxxxxxxxx, x86@xxxxxxxxxx, fontana@xxxxxxxxxxxxxxx, dsahern@xxxxxxxxx, linux-arm-kernel@xxxxxxxxxxxxxxxxxxx, catalin.marinas@xxxxxxx, dvhart@xxxxxxxxxxxxx, dwmw2@xxxxxxxxxxxxx, linux@xxxxxxxxxxxx, linux-xtensa@xxxxxxxxxxxxxxxx, pali.rohar@xxxxxxxxx, keescook@xxxxxxxxxxxx, arnd@xxxxxxxx, jani.nikula@xxxxxxxxx, will.deacon@xxxxxxx, rusty@xxxxxxxxxxxxxxx, rostedt@xxxxxxxxxxx, ak@xxxxxxxxxxxxxxx, namhyung@xxxxxxxxxx, mcb30@xxxxxxxx, linux-kbuild@xxxxxxxxxxxxxxx, alan@xxxxxxxxxxxxxxx, jgross@xxxxxxxx, chris@xxxxxxxxxx, pebolle@xxxxxxxxxx, tony.luck@xxxxxxxxx, jcmvbkbc@xxxxxxxxx, gregkh@xxxxxxxxxxxxxxxxxxx, dmitry.torokhov@xxxxxxxxx, adrian.hunter@xxxxxxxxx, luto@xxxxxxxxxxxxxx, mmarek@xxxxxxxx, david.vrabel@xxxxxxxxxx, jolsa@xxxxxxxxxx, andrew.cooper3@xxxxxxxxxx, akpm@xxxxxxxxxxxxxxxxxxxx, torvalds@xxxxxxxxxxxxxxxxxxxx, korea.drzix@xxxxxxxxx
- Delivery-date: Thu, 22 Dec 2016 14:09:03 +0000
- List-id: Xen developer discussion <xen-devel.lists.xen.org>
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
|