/* * This file is subject to the terms and conditions of the GNU General Public * License. See the file "COPYING" in the main directory of this archive * for more details. * * Copyright (c) 2010 Cavium Networks, Inc. */ #ifndef _ASM_MIPS_JUMP_LABEL_H #define _ASM_MIPS_JUMP_LABEL_H #ifndef __ASSEMBLY__ #include <linux/types.h> #define JUMP_LABEL_NOP_SIZE 4 #ifdef CONFIG_64BIT #define WORD_INSN ".dword" #else #define WORD_INSN ".word" #endif #ifdef CONFIG_CPU_MICROMIPS #define NOP_INSN "nop32" #else #define NOP_INSN "nop" #endif
static __always_inline bool arch_static_branch(struct static_key *key, bool branch) { asm_volatile_goto("1:\t" NOP_INSN "\n\t" "nop\n\t" ".pushsection __jump_table, \"aw\"\n\t" WORD_INSN " 1b, %l[l_yes], %0\n\t" ".popsection\n\t" : : "i" (&((char *)key)[branch]) : : l_yes); return false; l_yes: return true; }Contributors
Person | Tokens | Prop | Commits | CommitProp |
Peter Zijlstra | 27 | 50.00% | 1 | 16.67% |
Ingo Molnar | 12 | 22.22% | 2 | 33.33% |
Jason Baron | 9 | 16.67% | 1 | 16.67% |
Maciej W. Rozycki | 3 | 5.56% | 1 | 16.67% |
David Daney | 3 | 5.56% | 1 | 16.67% |
Total | 54 | 100.00% | 6 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Peter Zijlstra | 38 | 73.08% | 1 | 33.33% |
Jason Baron | 8 | 15.38% | 1 | 33.33% |
Ingo Molnar | 6 | 11.54% | 1 | 33.33% |
Total | 52 | 100.00% | 3 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp |
Peter Zijlstra | 65 | 34.57% | 1 | 14.29% |
David Daney | 62 | 32.98% | 1 | 14.29% |
Ingo Molnar | 20 | 10.64% | 2 | 28.57% |
Maciej W. Rozycki | 18 | 9.57% | 1 | 14.29% |
Jason Baron | 17 | 9.04% | 1 | 14.29% |
Anton Blanchard | 6 | 3.19% | 1 | 14.29% |
Total | 188 | 100.00% | 7 | 100.00% |