| /linux/tools/perf/util/intel-pt-decoder/ |
| H A D | intel-pt-insn-decoder.c | 29 enum intel_pt_insn_branch branch = INTEL_PT_BR_NO_BRANCH; in intel_pt_insn_decoder() local 37 intel_pt_insn->branch = INTEL_PT_BR_NO_BRANCH; in intel_pt_insn_decoder() 50 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 56 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 60 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 73 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 78 branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() 82 branch = INTEL_PT_BR_CONDITIONAL; in intel_pt_insn_decoder() 90 branch = INTEL_PT_BR_CONDITIONAL; in intel_pt_insn_decoder() 96 intel_pt_insn->branch = INTEL_PT_BR_INDIRECT; in intel_pt_insn_decoder() [all …]
|
| /linux/tools/perf/util/ |
| H A D | intel-bts.c | 80 struct branch { struct 89 struct branch *branch; in intel_bts_dump() local 90 size_t i, pos = 0, br_sz = sizeof(struct branch), sz; in intel_bts_dump() 109 branch = (struct branch *)buf; in intel_bts_dump() 111 le64_to_cpu(branch->from), in intel_bts_dump() 112 le64_to_cpu(branch->to), in intel_bts_dump() 113 le64_to_cpu(branch->misc) & 0x10 ? in intel_bts_dump() 239 for (; offs < len_a; offs += sizeof(struct branch)) { in intel_bts_find_overlap() 273 struct branch *branch) in intel_bts_synth_branch_sample() argument 285 sample.ip = le64_to_cpu(branch->from); in intel_bts_synth_branch_sample() [all …]
|
| H A D | annotate.c | 156 if (notes->branch && notes->branch->cycles_hist) { in symbol__annotate_zero_histograms() 157 memset(notes->branch->cycles_hist, 0, in symbol__annotate_zero_histograms() 267 if (notes->branch == NULL) in annotation__get_branch() 268 notes->branch = zalloc(sizeof(*notes->branch)); in annotation__get_branch() 270 return notes->branch; in annotation__get_branch() 277 struct annotated_branch *branch; in symbol__find_branch_hist() local 280 branch = annotation__get_branch(notes); in symbol__find_branch_hist() 281 if (branch == NULL) in symbol__find_branch_hist() 284 if (branch->cycles_hist == NULL) { in symbol__find_branch_hist() 285 branch->cycles_hist = calloc(size, sizeof(struct cyc_hist)); in symbol__find_branch_hist() [all …]
|
| /linux/drivers/clk/qcom/ |
| H A D | ecpricc-qdu1000.c | 925 .branch = { 949 .branch = { 973 .branch = { 997 .branch = { 1021 .branch = { 1063 .branch = { 1087 .branch = { 1111 .branch = { 1135 .branch = { 1177 .branch = { [all …]
|
| H A D | clk-branch.c | 141 struct clk_branch branch = mem_br->branch; in clk_branch2_mem_enable() local 145 regmap_assign_bits(branch.clkr.regmap, mem_br->mem_enable_reg, in clk_branch2_mem_enable() 148 ret = regmap_read_poll_timeout(branch.clkr.regmap, mem_br->mem_ack_reg, in clk_branch2_mem_enable() 151 WARN(1, "%s mem enable failed\n", clk_hw_get_name(&branch.clkr.hw)); in clk_branch2_mem_enable() 162 regmap_assign_bits(mem_br->branch.clkr.regmap, mem_br->mem_enable_reg, in clk_branch2_mem_disable()
|
| /linux/Documentation/admin-guide/hw-vuln/ |
| H A D | spectre.rst | 6 Spectre is a class of side channel attacks that exploit branch prediction 18 use branch prediction and speculative execution. 55 buffers, and branch predictors. Malicious software may be able to 70 of speculative execution that bypasses conditional branch instructions 92 The branch target injection attack takes advantage of speculative 94 branch predictors inside the processor used to guess the target of 103 branches in the victim to gadget code by poisoning the branch target 104 buffer of a CPU used for predicting indirect branch addresses. Such 106 with the address offset of the indirect branch under the attacker's 107 control. Since the branch prediction on impacted hardware does not [all …]
|
| /linux/tools/perf/tests/shell/ |
| H A D | test_brstack.sh | 13 if ! perf record -o- --no-buildid --branch-filter any,save_type,u -- true > /dev/null 2>&1 ; then 51 …perf record -o "$TMPDIR/perf.data" --branch-filter any,save_type,u -- ${TESTPROG} > "$TMPDIR/recor… 91 perf record -o $TMPDIR/perf.data --branch-filter any,save_type,u,k -- \ 105 if ! perf record --branch-filter any,k -o- -- true > /dev/null; then 108 perf record -o $TMPDIR/perf.data --branch-filter any,k -- \ 139 …perf record -o "$TMPDIR/perf.data" --branch-filter "$test_filter_filter,save_type,u" -- ${TESTPROG… 167 if ! perf record --branch-filter any,k -o- -- true > /dev/null; then 170 perf record -o $TMPDIR/perf.data --branch-filter \
|
| /linux/Documentation/staging/ |
| H A D | static-keys.rst | 48 The static_branch_unlikely() branch will be generated into the code with as little 56 Currently, tracepoints are implemented using a conditional branch. The 78 the branch site to change the branch direction. 80 For example, if we have a simple branch that is disabled by default:: 83 printk("I am the true branch\n"); 87 straight-line code path. When the branch is 'flipped', we will patch the 89 out-of-line true branch. Thus, changing branch direction is expensive but 90 branch selection is basically 'free'. That is the basic tradeoff of this 138 The branch(es) can then be switched via reference counts:: 144 Thus, 'static_branch_inc()' means 'make the branch true', and [all …]
|
| /linux/arch/parisc/include/asm/ |
| H A D | jump_label.h | 13 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument 22 : : "i" (&((char *)key)[branch]), "i" (sizeof(long)) in arch_static_branch() 30 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument 39 : : "i" (&((char *)key)[branch]), "i" (sizeof(long)) in arch_static_branch_jump()
|
| /linux/arch/csky/include/asm/ |
| H A D | jump_label.h | 13 bool branch) in arch_static_branch() argument 22 : : "i"(&((char *)key)[branch]) : : label); in arch_static_branch() 30 bool branch) in arch_static_branch_jump() argument 39 : : "i"(&((char *)key)[branch]) : : label); in arch_static_branch_jump()
|
| /linux/arch/s390/include/asm/ |
| H A D | jump_label.h | 26 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument 34 : : JUMP_LABEL_STATIC_KEY_CONSTRAINT (key), "i" (branch) : : label); in arch_static_branch() 40 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument 48 : : JUMP_LABEL_STATIC_KEY_CONSTRAINT (key), "i" (branch) : : label); in arch_static_branch_jump()
|
| /linux/arch/xtensa/include/asm/ |
| H A D | jump_label.h | 14 bool branch) in arch_static_branch() argument 21 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch() 29 bool branch) in arch_static_branch_jump() argument 49 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
|
| /linux/arch/arc/include/asm/ |
| H A D | jump_label.h | 32 bool branch) in arch_static_branch() argument 40 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch() 48 bool branch) in arch_static_branch_jump() argument 56 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
|
| /linux/arch/powerpc/include/asm/ |
| H A D | jump_label.h | 18 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument 26 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch() 33 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument 41 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
|
| /linux/arch/arm/include/asm/ |
| H A D | jump_label.h | 20 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument 23 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch() 30 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument 37 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
|
| /linux/arch/loongarch/include/asm/ |
| H A D | jump_label.h | 36 static __always_inline bool arch_static_branch(struct static_key * const key, const bool branch) in arch_static_branch() argument 40 : : "i"(&((char *)key)[branch]) : : l_yes); in arch_static_branch() 48 …atic __always_inline bool arch_static_branch_jump(struct static_key * const key, const bool branch) in arch_static_branch_jump() argument 53 : : "i"(&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
|
| /linux/arch/riscv/include/asm/ |
| H A D | jump_label.h | 37 const bool branch) in arch_static_branch() argument 41 : : "i"(&((char *)key)[branch]) : : label); in arch_static_branch() 58 const bool branch) in arch_static_branch_jump() argument 62 : : "i"(&((char *)key)[branch]) : : label); in arch_static_branch_jump()
|
| /linux/arch/openrisc/include/asm/ |
| H A D | jump_label.h | 44 const bool branch) in arch_static_branch() argument 47 ::"i"(&((char *)key)[branch])::l_yes); in arch_static_branch() 61 arch_static_branch_jump(struct static_key *const key, const bool branch) in arch_static_branch_jump() argument 64 ::"i"(&((char *)key)[branch])::l_yes); in arch_static_branch_jump()
|
| /linux/tools/perf/arch/x86/tests/ |
| H A D | insn-x86.c | 103 int op, branch, ret; in test_data_item() local 120 branch = get_branch(dat->expected_branch_str); in test_data_item() 133 if ((int)intel_pt_insn.branch != branch) { in test_data_item() 135 intel_pt_insn.branch, branch, dat->asm_rep); in test_data_item()
|
| H A D | gen-insn-x86-dat.awk | 14 branch = "" 44 printf "}, %d, %s, \"%s\", \"%s\",", len, rel, op, branch 47 branch = "" 62 branch = $i
|
| /linux/arch/x86/include/asm/ |
| H A D | jump_label.h | 35 static __always_inline bool arch_static_branch(struct static_key * const key, const bool branch) in arch_static_branch() argument 38 : : "i" (key), "i" (branch) : : l_yes); in arch_static_branch() 45 …atic __always_inline bool arch_static_branch_jump(struct static_key * const key, const bool branch) in arch_static_branch_jump() argument 50 : : "i" (key), "i" (branch) : : l_yes); in arch_static_branch_jump()
|
| /linux/arch/mips/include/asm/ |
| H A D | jump_label.h | 40 static __always_inline bool arch_static_branch(struct static_key *key, bool branch) in arch_static_branch() argument 47 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch() 54 static __always_inline bool arch_static_branch_jump(struct static_key *key, bool branch) in arch_static_branch_jump() argument 60 : : "i" (&((char *)key)[branch]) : : l_yes); in arch_static_branch_jump()
|
| /linux/include/linux/ |
| H A D | jump_label.h | 490 bool branch; \ 492 branch = !arch_static_branch(&(x)->key, true); \ 494 branch = !arch_static_branch_jump(&(x)->key, true); \ 496 branch = ____wrong_branch_error(); \ 497 likely_notrace(branch); \ 502 bool branch; \ 504 branch = arch_static_branch_jump(&(x)->key, false); \ 506 branch = arch_static_branch(&(x)->key, false); \ 508 branch = ____wrong_branch_error(); \ 509 unlikely_notrace(branch); \
|
| /linux/tools/bootconfig/scripts/ |
| H A D | bconf2ftrace.sh | 184 branch=$1.$2.$3 198 xbc_get_val ${branch}.probes | while read line; do 203 run_cmd "echo '`compose_synth $3 ${branch}.fields`' >> $TRACEFS/synthetic_events" 207 set_value_of ${branch}.filter ${eventdir}/filter 208 set_array_of ${branch}.actions ${eventdir}/trigger 210 setup_histograms ${branch}.hist ${eventdir}/trigger 212 if xbc_has_key ${branch}.enable; then
|
| /linux/fs/minix/ |
| H A D | itree_common.c | 73 Indirect *branch) in alloc_branch() argument 80 branch[0].key = cpu_to_block(parent); in alloc_branch() 87 branch[n].key = cpu_to_block(nr); in alloc_branch() 96 branch[n].bh = bh; in alloc_branch() 97 branch[n].p = (block_t*) bh->b_data + offsets[n]; in alloc_branch() 98 *branch[n].p = branch[n].key; in alloc_branch() 109 bforget(branch[i].bh); in alloc_branch() 111 minix_free_block(inode, block_to_cpu(branch[i].key)); in alloc_branch()
|